<?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>209030</bug_id>
          
          <creation_ts>2020-03-12 17:55:00 -0700</creation_ts>
          <short_desc>[Cocoa] Push applicationSDKVersion() down from WebCore into WTF</short_desc>
          <delta_ts>2020-03-15 15:13:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>208969</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1629434</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-12 17:55:00 -0700</bug_when>
    <thetext>[Cocoa] Push applicationSDKVersion() down from WebCore into WTF</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629437</commentid>
    <comment_count>1</comment_count>
      <attachid>393433</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-12 18:02:23 -0700</bug_when>
    <thetext>Created attachment 393433
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629440</commentid>
    <comment_count>2</comment_count>
      <attachid>393435</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-12 18:07:05 -0700</bug_when>
    <thetext>Created attachment 393435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629441</commentid>
    <comment_count>3</comment_count>
      <attachid>393435</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-03-12 18:15:28 -0700</bug_when>
    <thetext>Comment on attachment 393435
Patch

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

&gt; Source/WTF/wtf/RuntimeApplicationChecks.h:40
&gt; +WTF_EXPORT_PRIVATE void setApplicationSDKVersion(uint32_t);
&gt; +WTF_EXPORT_PRIVATE uint32_t applicationSDKVersion();

Normally, public WTF symbols get exposed to the global namespace with &quot;using&quot;, and then used without &quot;WTF::&quot;.

&gt; Source/WTF/wtf/RuntimeApplicationChecks.h:42
&gt; +}

So,

using WTF::setApplicationSDKVersion;
using WTF::applicationSDKVersion;

here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629444</commentid>
    <comment_count>4</comment_count>
      <attachid>393437</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-12 18:23:26 -0700</bug_when>
    <thetext>Created attachment 393437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629587</commentid>
    <comment_count>5</comment_count>
      <attachid>393437</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-03-13 06:07:37 -0700</bug_when>
    <thetext>Comment on attachment 393437
Patch

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

&gt; Source/WTF/ChangeLog:10
&gt; +        * wtf/RuntimeApplicationChecks.h: Added.

If these are only going to be implemented on cocoa platforms and since the concept of an SDK version, at least as used here, is cocoa specific, I would put this header in wtf/cocoa/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629771</commentid>
    <comment_count>6</comment_count>
      <attachid>393517</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-13 12:30:52 -0700</bug_when>
    <thetext>Created attachment 393517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629775</commentid>
    <comment_count>7</comment_count>
      <attachid>393518</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-13 12:34:53 -0700</bug_when>
    <thetext>Created attachment 393518
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629793</commentid>
    <comment_count>8</comment_count>
      <attachid>393518</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-13 13:06:37 -0700</bug_when>
    <thetext>Comment on attachment 393518
Patch

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

&gt; Source/WebCore/html/MediaElementSession.cpp:52
&gt; +#include &lt;wtf/cocoa/RuntimeApplicationChecksCocoa.h&gt;

To be a Cocoa-only header, this it needs to either have #if PLATFORM(COCOA) or a more specific #if around every include in any non-Cocoa-specific source file (doesn’t have it here), or have that #if in the header itself (good practice, I think but doesn’t have it in this patch), or both.

Smallest change I think would be to just move this include down inside the IOS_FAMILY where the old dyldSPI.h include was before.

&gt; Source/WebCore/platform/RuntimeApplicationChecks.h:32
&gt; +#if PLATFORM(COCOA)
&gt; +#include &lt;wtf/cocoa/RuntimeApplicationChecksCocoa.h&gt;
&gt; +#endif

Why? Doesn’t seem to be used in this header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629803</commentid>
    <comment_count>9</comment_count>
      <attachid>393522</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-13 13:33:10 -0700</bug_when>
    <thetext>Created attachment 393522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629820</commentid>
    <comment_count>10</comment_count>
      <attachid>393526</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-13 13:58:47 -0700</bug_when>
    <thetext>Created attachment 393526
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629826</commentid>
    <comment_count>11</comment_count>
      <attachid>393528</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-13 14:15:32 -0700</bug_when>
    <thetext>Created attachment 393528
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629846</commentid>
    <comment_count>12</comment_count>
      <attachid>393532</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-13 14:43:21 -0700</bug_when>
    <thetext>Created attachment 393532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629852</commentid>
    <comment_count>13</comment_count>
      <attachid>393532</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-03-13 14:53:05 -0700</bug_when>
    <thetext>Comment on attachment 393532
Patch

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

&gt; Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.cpp:27
&gt; +#include &lt;wtf/cocoa/RuntimeApplicationChecksCocoa.h&gt;

Shouldn&apos;t this be included as &quot;RuntimeApplicationChecksCocoa.h&quot; here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629891</commentid>
    <comment_count>14</comment_count>
      <attachid>393541</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-13 15:36:07 -0700</bug_when>
    <thetext>Created attachment 393541
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629918</commentid>
    <comment_count>15</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-13 16:13:30 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #13)
&gt; Comment on attachment 393532 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393532&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.cpp:27
&gt; &gt; +#include &lt;wtf/cocoa/RuntimeApplicationChecksCocoa.h&gt;
&gt; 
&gt; Shouldn&apos;t this be included as &quot;RuntimeApplicationChecksCocoa.h&quot; here?

If you grep for &quot;include &lt;wtf/&quot; inside the WTF folder, you get 1476 results among 750 files. I was following what appears to be the standard way to do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629932</commentid>
    <comment_count>16</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-03-13 16:33:49 -0700</bug_when>
    <thetext>Committed r258447: &lt;https://trac.webkit.org/changeset/258447&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629934</commentid>
    <comment_count>17</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-13 16:34:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/60439292&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630013</commentid>
    <comment_count>18</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2020-03-13 23:06:44 -0700</bug_when>
    <thetext>This is my kinda patch. Embrace the WTF!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630214</commentid>
    <comment_count>19</comment_count>
      <attachid>393541</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-15 15:13:54 -0700</bug_when>
    <thetext>Comment on attachment 393541
Patch for committing

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

I have some suggested refinements; no rush to do these.

One thing is that we should do something so that if someone tries to use dyld_get_program_sdk_version directly in the future, a macro trick makes it a compile-time error. Or any other tempting function that will definitely do the wrong thing in the non-UI process.

&gt; Source/JavaScriptCore/API/JSWrapperMap.mm:726
&gt;      static uint32_t programSDKVersion = 0;
&gt;      if (!programSDKVersion)
&gt; -        programSDKVersion = dyld_get_program_sdk_version();
&gt; +        programSDKVersion = applicationSDKVersion();

Should just be a one-liner:

    static uint32_t programSDKVersion = applicationSDKVersion();

But really what we should be memo-izing is the entire boolean value for supportsInitMethodConstructors, not the two different version number integers (JavaScript and SDK).

    static bool supportsInitMethodConstructors = [] {
        ... all the code here, with no caching of anything in global variables ...
    }();
    return supportsInitMethodConstructors;

I’m also wondering if this code is sufficiently thread-safe.

&gt; Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.cpp:2
&gt; + * Copyright (C) 2011-2020 Apple Inc. All rights reserved.

Is there really code dating back to 2011 in the three functions in this file?

&gt; Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.cpp:36
&gt; +    static NeverDestroyed&lt;Optional&lt;uint32_t&gt;&gt; version;

NeverDestroyed should not be needed here. I believe Optional goes out of its way to not add a non-trivial destructor in a case like this. If we remove the use of NeverDestroyed, we’ll get a compilation error if I’m wrong, given the warnings we have turned on.

&gt; Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:2
&gt; + * Copyright (C) 2009-2020 Apple Inc. All rights reserved.

Do the two function declarations in this header really qualify as code that dates back to 2009?

&gt; Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:28
&gt; +#include &lt;wtf/Forward.h&gt;

Unneeded include. If it is needed, I don’t understand why. The export macros come from ExportMacros.h which seems to be part of config.h, so no need to include it. And uint32_t comes from &lt;stdint.h&gt; or &lt;cstdint&gt;. Neither comes rom Forward.h.

&gt; Source/WTF/wtf/cocoa/RuntimeApplicationChecksCocoa.h:31
&gt; +// This contains the values with which to compare the return value of applicationSDKVersion().
&gt; +#include &lt;wtf/spi/darwin/dyldSPI.h&gt;

That explains why files that use this to check the SDK version will need to include this header. It does not justify including this in this header. The source file that just calls setApplicationSDKVersion ends up including this unnecessarily. I suggest adding these includes back to the .cpp files where they are used.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393433</attachid>
            <date>2020-03-12 18:02:23 -0700</date>
            <delta_ts>2020-03-12 18:07:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209030-20200312180222.patch</filename>
            <type>text/plain</type>
            <size>23239</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NDZhYmM4NjVjMTdmMjEyZjhkNWY0ZjhhNzQ2MGFhN2U1NGQyODRlLi45MzIyZTM1OTQ1ZTA3MDcw
MmI2ZmRlMTE4Y2E4NTcyYWNjZTM0YzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMy0xMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBk
b3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIGdpdmVzIHlv
dSB0aGUgd3JvbmcgYW5zd2VyIGluIHRoZSBXZWIgUHJvY2VzcyAob3IgYXQgbGVhc3QKKyAgICAg
ICAgbm90IHRoZSBhbnN3ZXIgeW91IGFjdHVhbGx5IHdhbnQpLiBUaGVyZSBhcmUgYWxyZWFkeSBm
YWNpbGl0aWVzIGZvciB0aGUgVUkgUHJvY2VzcyB0byB0ZWxsCisgICAgICAgIHRoZSBXZWIgUHJv
Y2VzcyB3aGF0IHRoZSByZWFsIHZhbHVlIGlzLCBidXQgdGhvc2UgZnVuY3Rpb25zIGFyZSBjdXJy
ZW50bHkgaW4gV2ViQ29yZSwKKyAgICAgICAgd2hpY2ggaXMgaW5hY2Nlc3NpYmxlIHRvIFdURi4g
VGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk2OSB3aGljaCBuZWVkcyB0byBrbm93IHRoaXMg
aW5mb3JtYXRpb24gaW4gV1RGLgorCisgICAgICAgIEkgYWxzbyBmb3VuZCBhIGZldyBwbGFjZXMg
d2hpY2ggd2VyZSBjYWxsaW5nIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBpbiBKYXZh
U2NyaXB0Q29yZQorICAgICAgICBhbmQgV2ViQ29yZSAod2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0
aG9zZSBsaWJyYXJpZXMgZXhpc3QgaW4gdGhlIFdlYiBQcm9jZXNzKSwgYW5kIGhhdmUgZml4ZWQK
KyAgICAgICAgdGhlbSB1cCB0byB1c2UgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgaW5zdGVhZC4K
KworICAgICAgICAqIEFQSS9KU1dyYXBwZXJNYXAubW06CisgICAgICAgIChzdXBwb3J0c0luaXRN
ZXRob2RDb25zdHJ1Y3RvcnMpOgorCiAyMDIwLTAzLTA5ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBAcHV0QnlWYWxEaXJlY3QgZG9lcyBub3QgcGVy
Zm9ybSBbW0RlZmluZU93blByb3BlcnR5XV0gY29ycmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZjYTI4M2M4ZmY1ZmQ0
MTYwYWQxZDQxN2YxMjRiYzRmMGFhNWI5ZTEuLjEzYWZiZGM2YTc3NjFhOWY1NjAxYTBlZWFmY2Zi
MDk3MmFiYzVlMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDMtMTIgIE15bGVzIEMuIE1h
eGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFB1c2ggYXBw
bGljYXRpb25TREtWZXJzaW9uKCkgZG93biBmcm9tIFdlYkNvcmUgaW50byBXVEYKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAzMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAg
ICAqIHd0Zi9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaDogQWRkZWQuCisgICAgICAgICogd3Rm
L2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDogQWRkZWQuCisgICAgICAg
IChXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKToKKyAgICAgICAgKFdURjo6c2V0
QXBwbGljYXRpb25TREtWZXJzaW9uKToKKyAgICAgICAgKFdURjo6YXBwbGljYXRpb25TREtWZXJz
aW9uKToKKwogMjAyMC0wMy0wOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtZW1iZXIgY29tcGxldGVkIHN1YnJhbmdlcyBkdXJpbmcgaW5jcmVtZW50YWwg
UERGIGxvYWRpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFmMGU2YTA5ZDJmMzYyZTNkN2MxMDY4MThiOTJl
MDFkNThmZTdmNC4uYzk3OTZkNzE0N2Q2YjBkMTk5OGQ3N2NlOGJmZDRiZDA2M2RlZjBmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAzLTEyICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQdXNoIGFwcGxpY2F0aW9u
U0RLVmVyc2lvbigpIGRvd24gZnJvbSBXZWJDb3JlIGludG8gV1RGCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkwMzAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQu
Y3BwOgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1Bs
YXliYWNrIGNvbnN0KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bWFrZUNy
b3NzT3JpZ2luQWNjZXNzUmVxdWVzdCk6CisgICAgICAgICogcGxhdGZvcm0vUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmg6CisgICAgICAgICogcGxhdGZvcm0vVGltZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2hvdWxkU3VwcHJlc3NUaHJlYWRTYWZldHlDaGVjayk6CisgICAgICAgICogcGxh
dGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW06CisgICAgICAgIChX
ZWJDb3JlOjphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24pOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uKTogRGVsZXRlZC4KKwogMjAyMC0wMy0wOSAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKDI1
Nzg0NikgQ3Jhc2ggb24gbWFwcy5nb29nbGUuY29tIHVuZGVyIEVsZW1lbnQ6OmlzVmlzaWJsZVdp
dGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzhlMjExMzkwMzcxNGJiOTBjNGY0
ZjMwOWQwMjM2YTdhNmQ4NGRjMS4uZTM0ZGUzZTZmMDE2ODIzYjZmMTU4YmJkMmQxMmY0ZWY1ODgw
MGY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wMy0xMiAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBs
aWNhdGlvblNES1ZlcnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3NDb2NvYSk6CisgICAgICAgICog
U2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OmRlZmF1bHRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMDMtMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJN
YXAubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV3JhcHBlck1hcC5tbQppbmRleCA3
MjBiYjFiYzM0NzE1NmJiNDYzYzZlODUzM2E3OWY3NDkxYzU1MzBiLi44ZjA4ZGZjYTAzYTVmZGVh
NzM2ODI5MzJlMzAwNDRhOTIzNWY4YjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTV3JhcHBlck1hcC5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
V3JhcHBlck1hcC5tbQpAQCAtMzksOCArMzksOCBAQAogI2ltcG9ydCAiT2JqZWN0Q29uc3RydWN0
b3IuaCIKICNpbXBvcnQgIldlYWtHQ01hcC5oIgogI2ltcG9ydCAiV2Vha0dDTWFwSW5saW5lcy5o
IgorI2ltcG9ydCA8d3RmL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8d3Rm
L1ZlY3Rvci5oPgotI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCiAjaW5jbHVk
ZSA8bWFjaC1vL2R5bGQuaD4KIApAQCAtNzIwLDcgKzcyMCw3IEBAIGJvb2wgc3VwcG9ydHNJbml0
TWV0aG9kQ29uc3RydWN0b3JzKCkKICAgICAvLyBiYXNlIG91ciBjaGVjayBvbiB3aGF0IFNESyB3
YXMgdXNlZCB0byBidWlsZCB0aGUgYXBwbGljYXRpb24uCiAgICAgc3RhdGljIHVpbnQzMl90IHBy
b2dyYW1TREtWZXJzaW9uID0gMDsKICAgICBpZiAoIXByb2dyYW1TREtWZXJzaW9uKQotICAgICAg
ICBwcm9ncmFtU0RLVmVyc2lvbiA9IGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKKyAg
ICAgICAgcHJvZ3JhbVNES1ZlcnNpb24gPSBXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbigpOwog
CiAgICAgcmV0dXJuIHByb2dyYW1TREtWZXJzaW9uID49IGZpcnN0U0RLVmVyc2lvbldpdGhJbml0
Q29uc3RydWN0b3JTdXBwb3J0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBlZTM1YjAyMTU5ZDk3NmZiYzM3MzMyYTI5YzUwOTg5YTE4Yjc4NmFk
Li4zZjk0MzNmNmVmODM2NDEwNzg5MzY5MjgyYjMyM2NlZjMyYjY2ODM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYv
V1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYxLDYgKzYxLDcgQEAKIAkJMUMxODFD
OTMxRDMwN0FCODAwRjVGQTE2IC8qIFVUZXh0UHJvdmlkZXJVVEYxNi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM4RDFEMzA3QUI4MDBGNUZB
MTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCAqLzsgfTsKIAkJMUMxODFDOTYxRDMwODAwQTAw
RjVGQTE2IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM5NTFEMzA4MDBBMDBG
NUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNwcCAqLzsgfTsKIAkJ
MUM1MDNCRTYyM0FBRTBBRTAwNzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzUwM0JFNTIzQUFFMEFFMDA3MkU2
NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLzsgfTsKKwkJMUNBODVDQTkyNDFCMEIyNjAwNzFDMkY1
IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQTg1Q0E4MjQxQjBCMjYwMDcxQzJGNSAvKiBS
dW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgKi87IH07CiAJCTFGQTQ3QzhBMTUyNTAy
REEwMDU2OEQxQiAvKiBXZWJDb3JlVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGQTQ3Qzg4MTUyNTAyREEwMDU2OEQxQiAvKiBXZWJDb3Jl
VGhyZWFkLmNwcCAqLzsgfTsKIAkJMkNDRDg5MkExNUMwMzkwMjAwMjg1MDgzIC8qIEdyZWdvcmlh
bkRhdGVUaW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJDQ0Q4OTI5MTVDMDM5MDIwMDI4NTA4MyAvKiBHcmVnb3JpYW5EYXRlVGltZS5jcHAgKi87
IH07CiAJCTJDREVEMEVGMTgxMTVDMzgwMDREQkE3MCAvKiBSdW5Mb29wQ0YuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkNERUQwRUUxODExNUMzODAw
NERCQTcwIC8qIFJ1bkxvb3BDRi5jcHAgKi87IH07CkBAIC0zNDQsNiArMzQ1LDggQEAKIAkJMUMx
ODFDOTUxRDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2Nv
YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0QnJlYWtJdGVy
YXRvckludGVybmFsSUNVQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzUwM0JFNDIzQUFERUVBMDA3MkU2NkIgLyogTlNMb2NhbGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TlNMb2NhbGVTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM1MDNCRTUyM0FB
RTBBRTAwNzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBM
YW5ndWFnZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0E4NUNBNzI0
MUIwQjExMDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
Q29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29j
b2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE0OTFFNTY2NjI2MDA2
QzczQzAgLyogVGV4dEJyZWFrSXRlcmF0b3JDRi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckNGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDQ0RCMTREMUU1NjY4OTgwMDZDNzNDMCAvKiBUZXh0QnJlYWtJdGVyYXRvcklDVS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvcklDVS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE1MTFFNTY2QkM1MDA2QzczQzAgLyog
Q0ZTdHJpbmdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZTdHJpbmdT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExOTEsNiArMTE5NCw3IEBACiAJ
CQkJMkNERUQwRjExODExNUM4NTAwNERCQTcwIC8qIFJ1bkxvb3AuY3BwICovLAogCQkJCTJDREVE
MEYyMTgxMTVDODUwMDREQkE3MCAvKiBSdW5Mb29wLmggKi8sCiAJCQkJMTQ2OTQxOTAxNkVBQUY2
RDAwMjRFMTQ2IC8qIFJ1bkxvb3BUaW1lci5oICovLAorCQkJCTFDQTg1Q0E3MjQxQjBCMTEwMDcx
QzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLywKIAkJCQkxNEYzQjBGNjE1RTQ1
RTQ2MDAyMTAwNjkgLyogU2F0dXJhdGVkQXJpdGhtZXRpYy5oICovLAogCQkJCTE0Njk0MTk0MTZF
QUFGRjgwMDI0RTE0NiAvKiBTY2hlZHVsZVBhaXIuaCAqLywKIAkJCQkxQTM1MjRBQTFENjNBMkZG
MDAzMTcyOUIgLyogU2NvcGUuaCAqLywKQEAgLTE1MTYsNiArMTUyMCw3IEBACiAJCQkJNUNDMEVF
ODcyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFzLmggKi8sCiAJCQkJNUNDMEVFODgyMTYy
QkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFzLm1tICovLAogCQkJCUUzOTJGQTI2MjJFOTJCRkYw
MEVDREM3MyAvKiBSZXNvdXJjZVVzYWdlQ29jb2EuY3BwICovLAorCQkJCTFDQTg1Q0E4MjQxQjBC
MjYwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgKi8sCiAJCQkJ
QTMwRDQxMkMxRjBERTBCQTAwQjcxOTU0IC8qIFNvZnRMaW5raW5nLmggKi8sCiAJCQkJRUI2MUVE
QzYyNDA5Q0NDMDAwMUVGRTM2IC8qIFN5c3RlbVRyYWNpbmdDb2NvYS5jcHAgKi8sCiAJCQkJNUND
MEVFODYyMTYyQkMyMjAwQTFBODQyIC8qIFVSTENvY29hLm1tICovLApAQCAtMTY5OSw2ICsxNzA0
LDcgQEAKIAkJCQkyQ0RFRDBGMzE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkyQ0RFRDBFRjE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUEzRUU1QzNFMjFGRkFDN0QwMEZBQkQ2MSAvKiBSdW5Mb29wVGlt
ZXJDRi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQ0E4NUNBOTI0MUIwQjI2MDA3MUMyRjUgLyog
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNF
RTVDM0QyMUZGQUM3RDAwRkFCRDYxIC8qIFNjaGVkdWxlUGFpckNGLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUEzRUU1QzQwMjFGRkFDQTIwMEZBQkQ2MSAvKiBTY2hlZHVsZVBhaXJNYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQkwRjY2QjI4RTFEQzk3QkFCMDA0QTFEM0YgLyogU2Vjb25kcy5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNt
YWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggNmQ1ODMxMGRkMjA3
ZmJhY2U1MzM3Y2UzZmNhZmRiNmI5MGIzZjY5ZS4uMWYyYzdhODIxOTU0Njk2ODE4ZDU2ZjRiMzlk
OGFhNjQwYzAyN2NmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21h
a2UKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTY1LDYgKzY1LDcg
QEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICAgICBjb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXJDb2NvYS5tbQogICAgIGNvY29hL05TVVJMRXh0cmFzLm1tCiAgICAgY29jb2EvUmVzb3VyY2VV
c2FnZUNvY29hLmNwcAorICAgIGNvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNw
cAogICAgIGNvY29hL1N5c3RlbVRyYWNpbmdDb2NvYS5jcHAKICAgICBjb2NvYS9VUkxDb2NvYS5t
bQogICAgIGNvY29hL1dvcmtRdWV1ZUNvY29hLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW50aW1lQXBw
bGljYXRpb25DaGVja3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDI2MThiNzQ1ZDcwZjJiNDViYjZiNThiNDgx
MzBkM2JjNjg0NzQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAwOS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09O
VFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKKyNpZiBQTEFURk9STShDT0NPQSkKKy8v
IFRoaXMgY29udGFpbnMgdGhlIHZhbHVlcyB3aXRoIHdoaWNoIHRvIGNvbXBhcmUgdGhlIHJldHVy
biB2YWx1ZSBvZiBhcHBsaWNhdGlvblNES1ZlcnNpb24oKS4KKyNpbmNsdWRlIDx3dGYvc3BpL2Rh
cndpbi9keWxkU1BJLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdURiB7CisKKy8vIGR5bGRfZ2V0
X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBnaXZlcyB5b3UgdGhlIHdyb25nIGFuc3dlciBpbiBhbnkg
cHJvY2VzcyBvdGhlciB0aGFuIHRoZSBVSSBwcm9jZXNzLgorLy8gVGhlc2UgZnVuY3Rpb25zIGFy
ZSBob29rZWQgdXAgdG8gZ2l2ZSB5b3UgdGhlIHJpZ2h0IGFuc3dlci4KK1dURl9FWFBPUlRfUFJJ
VkFURSB2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCk7CitXVEZfRVhQT1JU
X1BSSVZBVEUgdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCk7CisKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NDE0NmRhNjk4NGM1MWExYTkyYmNlODM4ZTlmNGU2ZWNhNDk4ODA5Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzQ29jb2EuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+
CisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9u
YWwuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK3N0YXRpYyBPcHRpb25hbDx1aW50MzJfdD4mIGFw
cGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8T3B0aW9uYWw8dWludDMyX3Q+PiB2ZXJzaW9uOworICAgIHJldHVybiB2ZXJzaW9uOworfQor
Cit2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCB2ZXJzaW9uKQoreworICAg
IGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkgPSB2ZXJzaW9uOworfQorCit1aW50MzJf
dCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKQoreworICAgIGlmIChhcHBsaWNhdGlvblNES1ZlcnNp
b25PdmVycmlkZSgpKQorICAgICAgICByZXR1cm4gKmFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJy
aWRlKCk7CisgICAgcmV0dXJuIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKK30KKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAppbmRleCA5ODVlZGI1
M2FiMTM1NDRlNDI5ZDlkY2U2ZTQzOTg0OThhZTYwMTU4Li5kMTk1NzQxMTc4MmJhZjlhODczMGNh
YWExNWI1N2QyZjVmYTlhMTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
YmplY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVt
ZW50LmNwcApAQCAtNTQsNyArNTQsNiBAQAogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNp
bmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIKLSNpbmNsdWRlIDx3dGYvc3BpL2Rh
cndpbi9keWxkU1BJLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggNzZlNjA1MDhlZGMyNzU4
NzZhZGQwMjg2MjQ3MTNmZTBiMTJhNzVhNi4uY2M5MmJjY2RlZWQyM2IyNzE0ODQ4YzFmMjJlY2I2
ZmM3NDhhN2FhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24u
Y3BwCkBAIC00OSwxMiArNDksMTIgQEAKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTb3VyY2VCdWZmZXIuaCIKKyNpbmNsdWRl
IDx3dGYvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQnVpbGRlci5oPgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbmNsdWRlICJBdWRp
b1Nlc3Npb24uaCIKICNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCIKLSNpbmNs
dWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtNzM4LDcgKzczOCw3IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVxdWly
ZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjaygpIGNvbnN0CiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBpZiAoSU9TQXBwbGljYXRpb246OmlzSUJvb2tzKCkpCiAgICAgICAgIHJldHVy
biAhbV9lbGVtZW50Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVz
Ojp3ZWJraXRfcGxheXNpbmxpbmVBdHRyKSAmJiAhbV9lbGVtZW50Lmhhc0F0dHJpYnV0ZVdpdGhv
dXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpwbGF5c2lubGluZUF0dHIpOwotICAgIGlmIChk
eWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCkgPCBEWUxEX0lPU19WRVJTSU9OXzEwXzApCisg
ICAgaWYgKFdURjo6YXBwbGljYXRpb25TREtWZXJzaW9uKCkgPCBEWUxEX0lPU19WRVJTSU9OXzEw
XzApCiAgICAgICAgIHJldHVybiAhbV9lbGVtZW50Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJv
bml6YXRpb24oSFRNTE5hbWVzOjp3ZWJraXRfcGxheXNpbmxpbmVBdHRyKTsKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CmluZGV4IGQ1NmZhNWJkZDhjNWM0ZjM4ZjhjMzVmOTM5N2UwZDQwODUwOWZkOGYuLmQwZTRlYjdl
MTE5MDQ2NGM5NGYzZmIxZjIyZDMzYWI2MGU3YWU1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC02MywxMCArNjMsNiBA
QAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogCi0j
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJ
Lmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShEb2N1bWVudCYgZG9jdW1lbnQs
IFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVu
dCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMmIG9wdGlvbnMsIFJlZlB0cjxTZWN1cml0
eU9yaWdpbj4mJiBvcmlnaW4sIHN0ZDo6dW5pcXVlX3B0cjxDb250ZW50U2VjdXJpdHlQb2xpY3k+
JiYgY29udGVudFNlY3VyaXR5UG9saWN5KQpAQCAtMTk3LDcgKzE5Myw3IEBAIHZvaWQgRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyOjptYWtlQ3Jvc3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KFJlc291cmNl
UmVxdWVzdCYmIHJlCiAgICAgQVNTRVJUKG1fb3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6
TW9kZTo6Q29ycyk7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGJvb2wgbmVlZHNQ
cmVmbGlnaHRRdWlyayA9IElPU0FwcGxpY2F0aW9uOjppc01vdmlTdGFyUGx1cygpICYmIGFwcGxp
Y2F0aW9uU0RLVmVyc2lvbigpIDwgRFlMRF9JT1NfVkVSU0lPTl8xMl8wICYmIChtX29wdGlvbnMu
cHJlZmxpZ2h0UG9saWN5ID09IFByZWZsaWdodFBvbGljeTo6Q29uc2lkZXIgfHwgbV9vcHRpb25z
LnByZWZsaWdodFBvbGljeSA9PSBQcmVmbGlnaHRQb2xpY3k6OkZvcmNlKTsKKyAgICBib29sIG5l
ZWRzUHJlZmxpZ2h0UXVpcmsgPSBJT1NBcHBsaWNhdGlvbjo6aXNNb3ZpU3RhclBsdXMoKSAmJiBX
VEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbigpIDwgRFlMRF9JT1NfVkVSU0lPTl8xMl8wICYmICht
X29wdGlvbnMucHJlZmxpZ2h0UG9saWN5ID09IFByZWZsaWdodFBvbGljeTo6Q29uc2lkZXIgfHwg
bV9vcHRpb25zLnByZWZsaWdodFBvbGljeSA9PSBQcmVmbGlnaHRQb2xpY3k6OkZvcmNlKTsKICNl
bHNlCiAgICAgYm9vbCBuZWVkc1ByZWZsaWdodFF1aXJrID0gZmFsc2U7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKaW5k
ZXggZmNkMzIwZmFlYzYzYjRmYTI0OTBjODI4MmE0YWE3ZGUwZDBjMTYyYS4uYTRhMmY4M2E5NTdh
NmJjOTVkZDg5NjMxNGNkOTFjYTc5ZTNiOTllNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNw
cmFnbWEgb25jZQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDMs
OSArNDQsNiBAQCBpbmxpbmUgYm9vbCBpc0luV2ViUHJvY2VzcygpIHsgcmV0dXJuIHRydWU7IH0K
IGJvb2wgaXNJbldlYlByb2Nlc3MoKTsKIGJvb2wgaXNJbk5ldHdvcmtQcm9jZXNzKCk7CiAKLVdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0QXBwbGljYXRpb25TREtWZXJzaW9uKHVpbnQzMl90KTsKLVdF
QkNPUkVfRVhQT1JUIHVpbnQzMl90IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpOwotCiBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihjb25zdCBTdHJpbmcm
KTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKTsK
IFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYXJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJUZXN0
aW5nT3ZlcnJpZGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRleCA4MzYzYzE3OWE0
ZGU1M2FmZmMzYjIwYzNjMDA0NTVkNGEyZDNmNDEwLi45YWVkMjYzZjUxYTNlM2Y5NzBmM2YwY2U5
NmRiZWFjODRlNzMzZDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCkBAIC0zNiwxMCAr
MzYsNiBAQAogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHls
ZFNQSS5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFw
UmVmZXJlbmNlOwpAQCAtMjQ0LDkgKzI0MCw5IEBAIHByaXZhdGU6CiBzdGF0aWMgYm9vbCBzaG91
bGRTdXBwcmVzc1RocmVhZFNhZmV0eUNoZWNrKCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQotICAgIHJldHVybiBXZWJUaHJlYWRJc0VuYWJsZWQoKSB8fCBhcHBsaWNhdGlvblNES1ZlcnNp
b24oKSA8IERZTERfSU9TX1ZFUlNJT05fMTJfMDsKKyAgICByZXR1cm4gV2ViVGhyZWFkSXNFbmFi
bGVkKCkgfHwgV1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9TX1ZFUlNJT05f
MTJfMDsKICNlbGlmIFBMQVRGT1JNKE1BQykKLSAgICByZXR1cm4gIWlzSW5XZWJQcm9jZXNzKCkg
JiYgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgPCBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzE0Owor
ICAgIHJldHVybiAhaXNJbldlYlByb2Nlc3MoKSAmJiBXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lv
bigpIDwgRFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xNDsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNl
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50
aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tCmluZGV4IDRhMDQ3ZjBjZjE1NWY5
NzEyODM2ZGRjYTliZDhlYzYzYzc3NzEyMWQuLjkwMTZmYjI0NTgxYmYwNzRjNjA3YWJiMDZmOGRi
ZWFkOTMwMDkwNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tCkBAIC03NSwyNCArNzUs
NiBAQCB2b2lkIGNsZWFyQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyVGVzdGluZ092ZXJyaWRl
KCkKICNlbmRpZgogfQogCi1zdGF0aWMgT3B0aW9uYWw8dWludDMyX3Q+JiBhcHBsaWNhdGlvblNE
S1ZlcnNpb25PdmVycmlkZSgpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPE9wdGlvbmFs
PHVpbnQzMl90Pj4gdmVyc2lvbjsKLSAgICByZXR1cm4gdmVyc2lvbjsKLX0KLQotdm9pZCBzZXRB
cHBsaWNhdGlvblNES1ZlcnNpb24odWludDMyX3QgdmVyc2lvbikKLXsKLSAgICBhcHBsaWNhdGlv
blNES1ZlcnNpb25PdmVycmlkZSgpID0gdmVyc2lvbjsKLX0KLQotdWludDMyX3QgYXBwbGljYXRp
b25TREtWZXJzaW9uKCkKLXsKLSAgICBpZiAoYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUo
KSkKLSAgICAgICAgcmV0dXJuICphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSgpOwotICAg
IHJldHVybiBkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCk7Ci19Ci0KIGJvb2wgaXNJbldl
YlByb2Nlc3MoKQogewogICAgIHN0YXRpYyBib29sIG1haW5CdW5kbGVJc1dlYlByb2Nlc3MgPSBb
W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6QCJjb20u
YXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQppbmRleCA2NDE2YmNm
ZTk3YmY0NGEyMzFmMDY5MWM1Y2U5N2ZiYTc5MWRmNTI2Li42YTBhNmQ4MzEwMzYxMjFiODQ0ZGEw
NWVlNDU2YjkxYmVlNjNjOGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCkBAIC03MSw3ICs3MSw3IEBA
IHN0YXRpYyB2b2lkIGluaXRpYWxpemVOZXR3b3JrU2V0dGluZ3MoKQogdm9pZCBOZXR3b3JrUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3NDb2NvYShjb25zdCBOZXR3b3Jr
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKICAgICBXZWJDb3JlOjpz
ZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIocGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJ
ZGVudGlmaWVyKTsKLSAgICBXZWJDb3JlOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24ocGFyYW1l
dGVycy51aVByb2Nlc3NTREtWZXJzaW9uKTsKKyAgICBXVEY6OnNldEFwcGxpY2F0aW9uU0RLVmVy
c2lvbihwYXJhbWV0ZXJzLnVpUHJvY2Vzc1NES1ZlcnNpb24pOwogCiAjaWYgSEFWRShIU1RTX1NU
T1JBR0VfUEFUSCkKICAgICBpZiAoIXBhcmFtZXRlcnMuaHN0c1N0b3JhZ2VEaXJlY3RvcnkuaXNO
dWxsKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0Rl
ZmF1bHRWYWx1ZXMuY3BwCmluZGV4IGZmMDQ0MjQxNzYzYzMwYzUwOWY5ODJhN2QyZDZkZjZmNzA3
ZTljZmYuLjk0MWU3YmI0OWQwMTU5ZWFkNTUyMmZiYTYyYmFhMTc2OTI5YmQzNTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNw
cApAQCAtMjksNyArMjksNiBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8cGFs
L3NwaS9jb2NvYS9GZWF0dXJlRmxhZ3NTUEkuaD4KLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9k
eWxkU1BJLmg+CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC01MCw3ICs0
OSw3IEBAIGJvb2wgZGVmYXVsdFBhc3NpdmVUb3VjaExpc3RlbmVyc0FzRGVmYXVsdE9uRG9jdW1l
bnQoKQogYm9vbCBkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5hYmxlZCgpCiB7CiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBpZiAoV2ViQ29yZTo6SU9TQXBwbGljYXRpb246Omlz
SU1EYigpICYmIFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbigpIDwgRFlMRF9JT1NfVkVS
U0lPTl8xM18wKQorICAgIGlmIChXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNJTURiKCkgJiYg
V1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9TX1ZFUlNJT05fMTNfMCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCA3MjVj
MTQwOWZiMDA0NWY3MDVjNmZlYTQ1OTM0Y2I0OGFkZTc3OGM4Li5lYzg5NTJjMTU0M2IwMmM3YjUx
OTc1YTU5YzEyNjNjMTJjNWIyODYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTE3Myw3ICsxNzMsNyBAQCB2b2lkIFdlYlBy
b2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycyYgcGFyYQogI2VuZGlmCiAKICAgICBXZWJDb3JlOjpzZXRBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXIocGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyKTsKLSAgICBX
ZWJDb3JlOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24ocGFyYW1ldGVycy51aVByb2Nlc3NTREtW
ZXJzaW9uKTsKKyAgICBXVEY6OnNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJzLnVp
UHJvY2Vzc1NES1ZlcnNpb24pOwogCiAgICAgbV91aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyID0g
cGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393435</attachid>
            <date>2020-03-12 18:07:05 -0700</date>
            <delta_ts>2020-03-12 18:23:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209030-20200312180705.patch</filename>
            <type>text/plain</type>
            <size>23668</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NDZhYmM4NjVjMTdmMjEyZjhkNWY0ZjhhNzQ2MGFhN2U1NGQyODRlLi45MzIyZTM1OTQ1ZTA3MDcw
MmI2ZmRlMTE4Y2E4NTcyYWNjZTM0YzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMy0xMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBk
b3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIGdpdmVzIHlv
dSB0aGUgd3JvbmcgYW5zd2VyIGluIHRoZSBXZWIgUHJvY2VzcyAob3IgYXQgbGVhc3QKKyAgICAg
ICAgbm90IHRoZSBhbnN3ZXIgeW91IGFjdHVhbGx5IHdhbnQpLiBUaGVyZSBhcmUgYWxyZWFkeSBm
YWNpbGl0aWVzIGZvciB0aGUgVUkgUHJvY2VzcyB0byB0ZWxsCisgICAgICAgIHRoZSBXZWIgUHJv
Y2VzcyB3aGF0IHRoZSByZWFsIHZhbHVlIGlzLCBidXQgdGhvc2UgZnVuY3Rpb25zIGFyZSBjdXJy
ZW50bHkgaW4gV2ViQ29yZSwKKyAgICAgICAgd2hpY2ggaXMgaW5hY2Nlc3NpYmxlIHRvIFdURi4g
VGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk2OSB3aGljaCBuZWVkcyB0byBrbm93IHRoaXMg
aW5mb3JtYXRpb24gaW4gV1RGLgorCisgICAgICAgIEkgYWxzbyBmb3VuZCBhIGZldyBwbGFjZXMg
d2hpY2ggd2VyZSBjYWxsaW5nIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBpbiBKYXZh
U2NyaXB0Q29yZQorICAgICAgICBhbmQgV2ViQ29yZSAod2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0
aG9zZSBsaWJyYXJpZXMgZXhpc3QgaW4gdGhlIFdlYiBQcm9jZXNzKSwgYW5kIGhhdmUgZml4ZWQK
KyAgICAgICAgdGhlbSB1cCB0byB1c2UgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgaW5zdGVhZC4K
KworICAgICAgICAqIEFQSS9KU1dyYXBwZXJNYXAubW06CisgICAgICAgIChzdXBwb3J0c0luaXRN
ZXRob2RDb25zdHJ1Y3RvcnMpOgorCiAyMDIwLTAzLTA5ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBAcHV0QnlWYWxEaXJlY3QgZG9lcyBub3QgcGVy
Zm9ybSBbW0RlZmluZU93blByb3BlcnR5XV0gY29ycmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZjYTI4M2M4ZmY1ZmQ0
MTYwYWQxZDQxN2YxMjRiYzRmMGFhNWI5ZTEuLjEzYWZiZGM2YTc3NjFhOWY1NjAxYTBlZWFmY2Zi
MDk3MmFiYzVlMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDMtMTIgIE15bGVzIEMuIE1h
eGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFB1c2ggYXBw
bGljYXRpb25TREtWZXJzaW9uKCkgZG93biBmcm9tIFdlYkNvcmUgaW50byBXVEYKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAzMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAg
ICAqIHd0Zi9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaDogQWRkZWQuCisgICAgICAgICogd3Rm
L2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDogQWRkZWQuCisgICAgICAg
IChXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKToKKyAgICAgICAgKFdURjo6c2V0
QXBwbGljYXRpb25TREtWZXJzaW9uKToKKyAgICAgICAgKFdURjo6YXBwbGljYXRpb25TREtWZXJz
aW9uKToKKwogMjAyMC0wMy0wOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtZW1iZXIgY29tcGxldGVkIHN1YnJhbmdlcyBkdXJpbmcgaW5jcmVtZW50YWwg
UERGIGxvYWRpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFmMGU2YTA5ZDJmMzYyZTNkN2MxMDY4MThiOTJl
MDFkNThmZTdmNC4uYzk3OTZkNzE0N2Q2YjBkMTk5OGQ3N2NlOGJmZDRiZDA2M2RlZjBmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAzLTEyICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQdXNoIGFwcGxpY2F0aW9u
U0RLVmVyc2lvbigpIGRvd24gZnJvbSBXZWJDb3JlIGludG8gV1RGCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkwMzAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQu
Y3BwOgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1Bs
YXliYWNrIGNvbnN0KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bWFrZUNy
b3NzT3JpZ2luQWNjZXNzUmVxdWVzdCk6CisgICAgICAgICogcGxhdGZvcm0vUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmg6CisgICAgICAgICogcGxhdGZvcm0vVGltZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2hvdWxkU3VwcHJlc3NUaHJlYWRTYWZldHlDaGVjayk6CisgICAgICAgICogcGxh
dGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW06CisgICAgICAgIChX
ZWJDb3JlOjphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24pOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uKTogRGVsZXRlZC4KKwogMjAyMC0wMy0wOSAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKDI1
Nzg0NikgQ3Jhc2ggb24gbWFwcy5nb29nbGUuY29tIHVuZGVyIEVsZW1lbnQ6OmlzVmlzaWJsZVdp
dGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzhlMjExMzkwMzcxNGJiOTBjNGY0
ZjMwOWQwMjM2YTdhNmQ4NGRjMS4uZTM0ZGUzZTZmMDE2ODIzYjZmMTU4YmJkMmQxMmY0ZWY1ODgw
MGY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wMy0xMiAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBs
aWNhdGlvblNES1ZlcnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3NDb2NvYSk6CisgICAgICAgICog
U2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OmRlZmF1bHRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMDMtMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJN
YXAubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV3JhcHBlck1hcC5tbQppbmRleCA3
MjBiYjFiYzM0NzE1NmJiNDYzYzZlODUzM2E3OWY3NDkxYzU1MzBiLi44ZjA4ZGZjYTAzYTVmZGVh
NzM2ODI5MzJlMzAwNDRhOTIzNWY4YjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTV3JhcHBlck1hcC5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
V3JhcHBlck1hcC5tbQpAQCAtMzksOCArMzksOCBAQAogI2ltcG9ydCAiT2JqZWN0Q29uc3RydWN0
b3IuaCIKICNpbXBvcnQgIldlYWtHQ01hcC5oIgogI2ltcG9ydCAiV2Vha0dDTWFwSW5saW5lcy5o
IgorI2ltcG9ydCA8d3RmL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8d3Rm
L1ZlY3Rvci5oPgotI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCiAjaW5jbHVk
ZSA8bWFjaC1vL2R5bGQuaD4KIApAQCAtNzIwLDcgKzcyMCw3IEBAIGJvb2wgc3VwcG9ydHNJbml0
TWV0aG9kQ29uc3RydWN0b3JzKCkKICAgICAvLyBiYXNlIG91ciBjaGVjayBvbiB3aGF0IFNESyB3
YXMgdXNlZCB0byBidWlsZCB0aGUgYXBwbGljYXRpb24uCiAgICAgc3RhdGljIHVpbnQzMl90IHBy
b2dyYW1TREtWZXJzaW9uID0gMDsKICAgICBpZiAoIXByb2dyYW1TREtWZXJzaW9uKQotICAgICAg
ICBwcm9ncmFtU0RLVmVyc2lvbiA9IGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKKyAg
ICAgICAgcHJvZ3JhbVNES1ZlcnNpb24gPSBXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbigpOwog
CiAgICAgcmV0dXJuIHByb2dyYW1TREtWZXJzaW9uID49IGZpcnN0U0RLVmVyc2lvbldpdGhJbml0
Q29uc3RydWN0b3JTdXBwb3J0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBlZTM1YjAyMTU5ZDk3NmZiYzM3MzMyYTI5YzUwOTg5YTE4Yjc4NmFk
Li4zZjk0MzNmNmVmODM2NDEwNzg5MzY5MjgyYjMyM2NlZjMyYjY2ODM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYv
V1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYxLDYgKzYxLDcgQEAKIAkJMUMxODFD
OTMxRDMwN0FCODAwRjVGQTE2IC8qIFVUZXh0UHJvdmlkZXJVVEYxNi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM4RDFEMzA3QUI4MDBGNUZB
MTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCAqLzsgfTsKIAkJMUMxODFDOTYxRDMwODAwQTAw
RjVGQTE2IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM5NTFEMzA4MDBBMDBG
NUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNwcCAqLzsgfTsKIAkJ
MUM1MDNCRTYyM0FBRTBBRTAwNzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzUwM0JFNTIzQUFFMEFFMDA3MkU2
NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLzsgfTsKKwkJMUNBODVDQTkyNDFCMEIyNjAwNzFDMkY1
IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQTg1Q0E4MjQxQjBCMjYwMDcxQzJGNSAvKiBS
dW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgKi87IH07CiAJCTFGQTQ3QzhBMTUyNTAy
REEwMDU2OEQxQiAvKiBXZWJDb3JlVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGQTQ3Qzg4MTUyNTAyREEwMDU2OEQxQiAvKiBXZWJDb3Jl
VGhyZWFkLmNwcCAqLzsgfTsKIAkJMkNDRDg5MkExNUMwMzkwMjAwMjg1MDgzIC8qIEdyZWdvcmlh
bkRhdGVUaW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJDQ0Q4OTI5MTVDMDM5MDIwMDI4NTA4MyAvKiBHcmVnb3JpYW5EYXRlVGltZS5jcHAgKi87
IH07CiAJCTJDREVEMEVGMTgxMTVDMzgwMDREQkE3MCAvKiBSdW5Mb29wQ0YuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkNERUQwRUUxODExNUMzODAw
NERCQTcwIC8qIFJ1bkxvb3BDRi5jcHAgKi87IH07CkBAIC0zNDQsNiArMzQ1LDggQEAKIAkJMUMx
ODFDOTUxRDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2Nv
YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0QnJlYWtJdGVy
YXRvckludGVybmFsSUNVQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzUwM0JFNDIzQUFERUVBMDA3MkU2NkIgLyogTlNMb2NhbGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TlNMb2NhbGVTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM1MDNCRTUyM0FB
RTBBRTAwNzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBM
YW5ndWFnZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0E4NUNBNzI0
MUIwQjExMDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
Q29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29j
b2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE0OTFFNTY2NjI2MDA2
QzczQzAgLyogVGV4dEJyZWFrSXRlcmF0b3JDRi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckNGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTFDQ0RCMTREMUU1NjY4OTgwMDZDNzNDMCAvKiBUZXh0QnJlYWtJdGVyYXRvcklDVS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvcklDVS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE1MTFFNTY2QkM1MDA2QzczQzAgLyog
Q0ZTdHJpbmdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZTdHJpbmdT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExOTEsNiArMTE5NCw3IEBACiAJ
CQkJMkNERUQwRjExODExNUM4NTAwNERCQTcwIC8qIFJ1bkxvb3AuY3BwICovLAogCQkJCTJDREVE
MEYyMTgxMTVDODUwMDREQkE3MCAvKiBSdW5Mb29wLmggKi8sCiAJCQkJMTQ2OTQxOTAxNkVBQUY2
RDAwMjRFMTQ2IC8qIFJ1bkxvb3BUaW1lci5oICovLAorCQkJCTFDQTg1Q0E3MjQxQjBCMTEwMDcx
QzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCAqLywKIAkJCQkxNEYzQjBGNjE1RTQ1
RTQ2MDAyMTAwNjkgLyogU2F0dXJhdGVkQXJpdGhtZXRpYy5oICovLAogCQkJCTE0Njk0MTk0MTZF
QUFGRjgwMDI0RTE0NiAvKiBTY2hlZHVsZVBhaXIuaCAqLywKIAkJCQkxQTM1MjRBQTFENjNBMkZG
MDAzMTcyOUIgLyogU2NvcGUuaCAqLywKQEAgLTE1MTYsNiArMTUyMCw3IEBACiAJCQkJNUNDMEVF
ODcyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFzLmggKi8sCiAJCQkJNUNDMEVFODgyMTYy
QkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFzLm1tICovLAogCQkJCUUzOTJGQTI2MjJFOTJCRkYw
MEVDREM3MyAvKiBSZXNvdXJjZVVzYWdlQ29jb2EuY3BwICovLAorCQkJCTFDQTg1Q0E4MjQxQjBC
MjYwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgKi8sCiAJCQkJ
QTMwRDQxMkMxRjBERTBCQTAwQjcxOTU0IC8qIFNvZnRMaW5raW5nLmggKi8sCiAJCQkJRUI2MUVE
QzYyNDA5Q0NDMDAwMUVGRTM2IC8qIFN5c3RlbVRyYWNpbmdDb2NvYS5jcHAgKi8sCiAJCQkJNUND
MEVFODYyMTYyQkMyMjAwQTFBODQyIC8qIFVSTENvY29hLm1tICovLApAQCAtMTY5OSw2ICsxNzA0
LDcgQEAKIAkJCQkyQ0RFRDBGMzE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkyQ0RFRDBFRjE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUEzRUU1QzNFMjFGRkFDN0QwMEZBQkQ2MSAvKiBSdW5Mb29wVGlt
ZXJDRi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkxQ0E4NUNBOTI0MUIwQjI2MDA3MUMyRjUgLyog
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNF
RTVDM0QyMUZGQUM3RDAwRkFCRDYxIC8qIFNjaGVkdWxlUGFpckNGLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUEzRUU1QzQwMjFGRkFDQTIwMEZBQkQ2MSAvKiBTY2hlZHVsZVBhaXJNYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQkwRjY2QjI4RTFEQzk3QkFCMDA0QTFEM0YgLyogU2Vjb25kcy5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggY2UwZGFiNjViOTg2NTFjMGVj
ZDZkMzE0M2JjODQzODRjNzYxYTgyMy4uYTg1OTc5NzE2Mjc1ODA2NmY2ZjVhMzc0YWE4ZWUxMWQ4
MWU1MDNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTIxMSw2ICsyMTEsNyBAQCBzZXQoV1RG
X1BVQkxJQ19IRUFERVJTCiAgICAgUmV0YWluUHRyLmgKICAgICBSdW5Mb29wLmgKICAgICBSdW5M
b29wVGltZXIuaAorICAgIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCiAgICAgU0hBMS5oCiAg
ICAgU2F0dXJhdGVkQXJpdGhtZXRpYy5oCiAgICAgU2NoZWR1bGVQYWlyLmgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm1NYWMuY21ha2UKaW5kZXggNmQ1ODMxMGRkMjA3ZmJhY2U1MzM3Y2UzZmNhZmRiNmI5MGIzZjY5
ZS4uMWYyYzdhODIxOTU0Njk2ODE4ZDU2ZjRiMzlkOGFhNjQwYzAyN2NmMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm1NYWMuY21ha2UKQEAgLTY1LDYgKzY1LDcgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMK
ICAgICBjb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbQogICAgIGNvY29hL05TVVJM
RXh0cmFzLm1tCiAgICAgY29jb2EvUmVzb3VyY2VVc2FnZUNvY29hLmNwcAorICAgIGNvY29hL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcAogICAgIGNvY29hL1N5c3RlbVRyYWNpbmdD
b2NvYS5jcHAKICAgICBjb2NvYS9VUkxDb2NvYS5tbQogICAgIGNvY29hL1dvcmtRdWV1ZUNvY29h
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
LmggYi9Tb3VyY2UvV1RGL3d0Zi9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41MDI2MThiNzQ1ZDcwZjJiNDViYjZiNThiNDgxMzBkM2JjNjg0NzQwCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dURi93dGYvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKQEAgLTAsMCAr
MSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CisKKyNpZiBQTEFURk9STShDT0NPQSkKKy8vIFRoaXMgY29udGFpbnMgdGhlIHZhbHVlcyB3
aXRoIHdoaWNoIHRvIGNvbXBhcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBhcHBsaWNhdGlvblNES1Zl
cnNpb24oKS4KKyNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CisjZW5kaWYKKwor
bmFtZXNwYWNlIFdURiB7CisKKy8vIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBnaXZl
cyB5b3UgdGhlIHdyb25nIGFuc3dlciBpbiBhbnkgcHJvY2VzcyBvdGhlciB0aGFuIHRoZSBVSSBw
cm9jZXNzLgorLy8gVGhlc2UgZnVuY3Rpb25zIGFyZSBob29rZWQgdXAgdG8gZ2l2ZSB5b3UgdGhl
IHJpZ2h0IGFuc3dlci4KK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNldEFwcGxpY2F0aW9uU0RL
VmVyc2lvbih1aW50MzJfdCk7CitXVEZfRVhQT1JUX1BSSVZBVEUgdWludDMyX3QgYXBwbGljYXRp
b25TREtWZXJzaW9uKCk7CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NDE0NmRhNjk4NGM1
MWExYTkyYmNlODM4ZTlmNGU2ZWNhNDk4ODA5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dU
Ri93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwCkBAIC0wLDAgKzEs
NTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3
dGYvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0
cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIFdURiB7CisK
K3N0YXRpYyBPcHRpb25hbDx1aW50MzJfdD4mIGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRl
KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8T3B0aW9uYWw8dWludDMyX3Q+PiB2ZXJz
aW9uOworICAgIHJldHVybiB2ZXJzaW9uOworfQorCit2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVy
c2lvbih1aW50MzJfdCB2ZXJzaW9uKQoreworICAgIGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJy
aWRlKCkgPSB2ZXJzaW9uOworfQorCit1aW50MzJfdCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKQor
eworICAgIGlmIChhcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSgpKQorICAgICAgICByZXR1
cm4gKmFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCk7CisgICAgcmV0dXJuIGR5bGRfZ2V0
X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
YmplY3RFbGVtZW50LmNwcAppbmRleCA5ODVlZGI1M2FiMTM1NDRlNDI5ZDlkY2U2ZTQzOTg0OThh
ZTYwMTU4Li5kMTk1NzQxMTc4MmJhZjlhODczMGNhYWExNWI1N2QyZjVmYTlhMTBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcApAQCAtNTQsNyArNTQsNiBAQAog
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25D
aGVja3MuaCIKLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CiAjZW5kaWYKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vz
c2lvbi5jcHAKaW5kZXggNzZlNjA1MDhlZGMyNzU4NzZhZGQwMjg2MjQ3MTNmZTBiMTJhNzVhNi4u
Y2M5MmJjY2RlZWQyM2IyNzE0ODQ4YzFmMjJlY2I2ZmM3NDhhN2FhMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC00OSwxMiArNDksMTIgQEAKICNp
bmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNs
dWRlICJTb3VyY2VCdWZmZXIuaCIKKyNpbmNsdWRlIDx3dGYvUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICNpbmNsdWRlICJBdWRpb1Nlc3Npb24uaCIKICNpbmNsdWRlICJSdW50
aW1lQXBwbGljYXRpb25DaGVja3MuaCIKLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJ
Lmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzM4LDcgKzczOCw3IEBAIGJv
b2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFj
aygpIGNvbnN0CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpZiAoSU9TQXBwbGljYXRp
b246OmlzSUJvb2tzKCkpCiAgICAgICAgIHJldHVybiAhbV9lbGVtZW50Lmhhc0F0dHJpYnV0ZVdp
dGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjp3ZWJraXRfcGxheXNpbmxpbmVBdHRyKSAm
JiAhbV9lbGVtZW50Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVz
OjpwbGF5c2lubGluZUF0dHIpOwotICAgIGlmIChkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9u
KCkgPCBEWUxEX0lPU19WRVJTSU9OXzEwXzApCisgICAgaWYgKFdURjo6YXBwbGljYXRpb25TREtW
ZXJzaW9uKCkgPCBEWUxEX0lPU19WRVJTSU9OXzEwXzApCiAgICAgICAgIHJldHVybiAhbV9lbGVt
ZW50Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjp3ZWJraXRf
cGxheXNpbmxpbmVBdHRyKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IGQ1NmZhNWJkZDhjNWM0ZjM4Zjhj
MzVmOTM5N2UwZDQwODUwOWZkOGYuLmQwZTRlYjdlMTE5MDQ2NGM5NGYzZmIxZjIyZDMzYWI2MGU3
YWU1YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFi
bGVMb2FkZXIuY3BwCkBAIC02MywxMCArNjMsNiBAQAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSNp
bmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiB2b2lkIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseShEb2N1bWVudCYgZG9jdW1lbnQsIFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3Qs
IFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgY29uc3QgVGhyZWFkYWJsZUxvYWRlck9w
dGlvbnMmIG9wdGlvbnMsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIHN0ZDo6dW5p
cXVlX3B0cjxDb250ZW50U2VjdXJpdHlQb2xpY3k+JiYgY29udGVudFNlY3VyaXR5UG9saWN5KQpA
QCAtMTk3LDcgKzE5Myw3IEBAIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjptYWtlQ3Jv
c3NPcmlnaW5BY2Nlc3NSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIHJlCiAgICAgQVNTRVJUKG1f
b3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6Q29ycyk7CiAKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotICAgIGJvb2wgbmVlZHNQcmVmbGlnaHRRdWlyayA9IElPU0FwcGxpY2F0
aW9uOjppc01vdmlTdGFyUGx1cygpICYmIGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpIDwgRFlMRF9J
T1NfVkVSU0lPTl8xMl8wICYmIChtX29wdGlvbnMucHJlZmxpZ2h0UG9saWN5ID09IFByZWZsaWdo
dFBvbGljeTo6Q29uc2lkZXIgfHwgbV9vcHRpb25zLnByZWZsaWdodFBvbGljeSA9PSBQcmVmbGln
aHRQb2xpY3k6OkZvcmNlKTsKKyAgICBib29sIG5lZWRzUHJlZmxpZ2h0UXVpcmsgPSBJT1NBcHBs
aWNhdGlvbjo6aXNNb3ZpU3RhclBsdXMoKSAmJiBXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbigp
IDwgRFlMRF9JT1NfVkVSU0lPTl8xMl8wICYmIChtX29wdGlvbnMucHJlZmxpZ2h0UG9saWN5ID09
IFByZWZsaWdodFBvbGljeTo6Q29uc2lkZXIgfHwgbV9vcHRpb25zLnByZWZsaWdodFBvbGljeSA9
PSBQcmVmbGlnaHRQb2xpY3k6OkZvcmNlKTsKICNlbHNlCiAgICAgYm9vbCBuZWVkc1ByZWZsaWdo
dFF1aXJrID0gZmFsc2U7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKaW5kZXggZmNkMzIwZmFlYzYzYjRmYTI0OTBjODI4
MmE0YWE3ZGUwZDBjMTYyYS4uYTRhMmY4M2E5NTdhNmJjOTVkZDg5NjMxNGNkOTFjYTc5ZTNiOTll
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDMsOSArNDQsNiBAQCBpbmxpbmUgYm9vbCBpc0lu
V2ViUHJvY2VzcygpIHsgcmV0dXJuIHRydWU7IH0KIGJvb2wgaXNJbldlYlByb2Nlc3MoKTsKIGJv
b2wgaXNJbk5ldHdvcmtQcm9jZXNzKCk7CiAKLVdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QXBwbGlj
YXRpb25TREtWZXJzaW9uKHVpbnQzMl90KTsKLVdFQkNPUkVfRVhQT1JUIHVpbnQzMl90IGFwcGxp
Y2F0aW9uU0RLVmVyc2lvbigpOwotCiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFwcGxpY2F0aW9u
QnVuZGxlSWRlbnRpZmllcihjb25zdCBTdHJpbmcmKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBh
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYXJB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJUZXN0aW5nT3ZlcnJpZGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RpbWVyLmNwcAppbmRleCA4MzYzYzE3OWE0ZGU1M2FmZmMzYjIwYzNjMDA0NTVkNGEyZDNm
NDEwLi45YWVkMjYzZjUxYTNlM2Y5NzBmM2YwY2U5NmRiZWFjODRlNzMzZDBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuY3BwCkBAIC0zNiwxMCArMzYsNiBAQAogI2luY2x1ZGUgPHd0Zi9NYWlu
VGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCi0jaWYgUExBVEZPUk0oQ09DT0Ep
Ci0jaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgotI2VuZGlmCi0KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgVGltZXJIZWFwUmVmZXJlbmNlOwpAQCAtMjQ0LDkgKzI0MCw5
IEBAIHByaXZhdGU6CiBzdGF0aWMgYm9vbCBzaG91bGRTdXBwcmVzc1RocmVhZFNhZmV0eUNoZWNr
KCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIHJldHVybiBXZWJUaHJlYWRJc0Vu
YWJsZWQoKSB8fCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9TX1ZFUlNJT05fMTJf
MDsKKyAgICByZXR1cm4gV2ViVGhyZWFkSXNFbmFibGVkKCkgfHwgV1RGOjphcHBsaWNhdGlvblNE
S1ZlcnNpb24oKSA8IERZTERfSU9TX1ZFUlNJT05fMTJfMDsKICNlbGlmIFBMQVRGT1JNKE1BQykK
LSAgICByZXR1cm4gIWlzSW5XZWJQcm9jZXNzKCkgJiYgYXBwbGljYXRpb25TREtWZXJzaW9uKCkg
PCBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzE0OworICAgIHJldHVybiAhaXNJbldlYlByb2Nlc3Mo
KSAmJiBXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbigpIDwgRFlMRF9NQUNPU1hfVkVSU0lPTl8x
MF8xNDsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
c0NvY29hLm1tCmluZGV4IDRhMDQ3ZjBjZjE1NWY5NzEyODM2ZGRjYTliZDhlYzYzYzc3NzEyMWQu
LjkwMTZmYjI0NTgxYmYwNzRjNjA3YWJiMDZmOGRiZWFkOTMwMDkwNzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0NvY29hLm1tCkBAIC03NSwyNCArNzUsNiBAQCB2b2lkIGNsZWFyQXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyVGVzdGluZ092ZXJyaWRlKCkKICNlbmRpZgogfQogCi1zdGF0aWMgT3B0
aW9uYWw8dWludDMyX3Q+JiBhcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSgpCi17Ci0gICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPE9wdGlvbmFsPHVpbnQzMl90Pj4gdmVyc2lvbjsKLSAgICBy
ZXR1cm4gdmVyc2lvbjsKLX0KLQotdm9pZCBzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24odWludDMy
X3QgdmVyc2lvbikKLXsKLSAgICBhcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSgpID0gdmVy
c2lvbjsKLX0KLQotdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCkKLXsKLSAgICBpZiAo
YXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKSkKLSAgICAgICAgcmV0dXJuICphcHBsaWNh
dGlvblNES1ZlcnNpb25PdmVycmlkZSgpOwotICAgIHJldHVybiBkeWxkX2dldF9wcm9ncmFtX3Nk
a192ZXJzaW9uKCk7Ci19Ci0KIGJvb2wgaXNJbldlYlByb2Nlc3MoKQogewogICAgIHN0YXRpYyBi
b29sIG1haW5CdW5kbGVJc1dlYlByb2Nlc3MgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5k
bGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6QCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiXTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1By
b2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a1Byb2Nlc3NDb2NvYS5tbQppbmRleCA2NDE2YmNmZTk3YmY0NGEyMzFmMDY5MWM1Y2U5N2ZiYTc5
MWRmNTI2Li42YTBhNmQ4MzEwMzYxMjFiODQ0ZGEwNWVlNDU2YjkxYmVlNjNjOGQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJv
Y2Vzc0NvY29hLm1tCkBAIC03MSw3ICs3MSw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVOZXR3
b3JrU2V0dGluZ3MoKQogdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0
d29ya1Byb2Nlc3NDb2NvYShjb25zdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYg
cGFyYW1ldGVycykKIHsKICAgICBXZWJDb3JlOjpzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZp
ZXIocGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyKTsKLSAgICBXZWJDb3JlOjpz
ZXRBcHBsaWNhdGlvblNES1ZlcnNpb24ocGFyYW1ldGVycy51aVByb2Nlc3NTREtWZXJzaW9uKTsK
KyAgICBXVEY6OnNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJzLnVpUHJvY2Vzc1NE
S1ZlcnNpb24pOwogCiAjaWYgSEFWRShIU1RTX1NUT1JBR0VfUEFUSCkKICAgICBpZiAoIXBhcmFt
ZXRlcnMuaHN0c1N0b3JhZ2VEaXJlY3RvcnkuaXNOdWxsKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmluZGV4IGZmMDQ0
MjQxNzYzYzMwYzUwOWY5ODJhN2QyZDZkZjZmNzA3ZTljZmYuLjk0MWU3YmI0OWQwMTU5ZWFkNTUy
MmZiYTYyYmFhMTc2OTI5YmQzNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcApAQCAtMjksNyArMjksNiBAQAogCiAjaWYg
UExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9GZWF0dXJlRmxhZ3NTUEku
aD4KLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCkBAIC01MCw3ICs0OSw3IEBAIGJvb2wgZGVmYXVsdFBhc3NpdmVU
b3VjaExpc3RlbmVyc0FzRGVmYXVsdE9uRG9jdW1lbnQoKQogYm9vbCBkZWZhdWx0Q1NTT01WaWV3
U2Nyb2xsaW5nQVBJRW5hYmxlZCgpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBp
ZiAoV2ViQ29yZTo6SU9TQXBwbGljYXRpb246OmlzSU1EYigpICYmIFdlYkNvcmU6OmFwcGxpY2F0
aW9uU0RLVmVyc2lvbigpIDwgRFlMRF9JT1NfVkVSU0lPTl8xM18wKQorICAgIGlmIChXZWJDb3Jl
OjpJT1NBcHBsaWNhdGlvbjo6aXNJTURiKCkgJiYgV1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb24o
KSA8IERZTERfSU9TX1ZFUlNJT05fMTNfMCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlm
CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCA3MjVjMTQwOWZiMDA0NWY3MDVjNmZlYTQ1OTM0Y2I0
OGFkZTc3OGM4Li5lYzg5NTJjMTU0M2IwMmM3YjUxOTc1YTU5YzEyNjNjMTJjNWIyODYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
QEAgLTE3Myw3ICsxNzMsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdl
YlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogI2VuZGlmCiAKICAg
ICBXZWJDb3JlOjpzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIocGFyYW1ldGVycy51aVBy
b2Nlc3NCdW5kbGVJZGVudGlmaWVyKTsKLSAgICBXZWJDb3JlOjpzZXRBcHBsaWNhdGlvblNES1Zl
cnNpb24ocGFyYW1ldGVycy51aVByb2Nlc3NTREtWZXJzaW9uKTsKKyAgICBXVEY6OnNldEFwcGxp
Y2F0aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJzLnVpUHJvY2Vzc1NES1ZlcnNpb24pOwogCiAgICAg
bV91aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyID0gcGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJ
ZGVudGlmaWVyOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393437</attachid>
            <date>2020-03-12 18:23:26 -0700</date>
            <delta_ts>2020-03-13 12:30:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209030-20200312182325.patch</filename>
            <type>text/plain</type>
            <size>22497</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4MTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NDZhYmM4NjVjMTdmMjEyZjhkNWY0ZjhhNzQ2MGFhN2U1NGQyODRlLi45MzIyZTM1OTQ1ZTA3MDcw
MmI2ZmRlMTE4Y2E4NTcyYWNjZTM0YzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMy0xMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBk
b3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIGdpdmVzIHlv
dSB0aGUgd3JvbmcgYW5zd2VyIGluIHRoZSBXZWIgUHJvY2VzcyAob3IgYXQgbGVhc3QKKyAgICAg
ICAgbm90IHRoZSBhbnN3ZXIgeW91IGFjdHVhbGx5IHdhbnQpLiBUaGVyZSBhcmUgYWxyZWFkeSBm
YWNpbGl0aWVzIGZvciB0aGUgVUkgUHJvY2VzcyB0byB0ZWxsCisgICAgICAgIHRoZSBXZWIgUHJv
Y2VzcyB3aGF0IHRoZSByZWFsIHZhbHVlIGlzLCBidXQgdGhvc2UgZnVuY3Rpb25zIGFyZSBjdXJy
ZW50bHkgaW4gV2ViQ29yZSwKKyAgICAgICAgd2hpY2ggaXMgaW5hY2Nlc3NpYmxlIHRvIFdURi4g
VGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk2OSB3aGljaCBuZWVkcyB0byBrbm93IHRoaXMg
aW5mb3JtYXRpb24gaW4gV1RGLgorCisgICAgICAgIEkgYWxzbyBmb3VuZCBhIGZldyBwbGFjZXMg
d2hpY2ggd2VyZSBjYWxsaW5nIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBpbiBKYXZh
U2NyaXB0Q29yZQorICAgICAgICBhbmQgV2ViQ29yZSAod2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0
aG9zZSBsaWJyYXJpZXMgZXhpc3QgaW4gdGhlIFdlYiBQcm9jZXNzKSwgYW5kIGhhdmUgZml4ZWQK
KyAgICAgICAgdGhlbSB1cCB0byB1c2UgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgaW5zdGVhZC4K
KworICAgICAgICAqIEFQSS9KU1dyYXBwZXJNYXAubW06CisgICAgICAgIChzdXBwb3J0c0luaXRN
ZXRob2RDb25zdHJ1Y3RvcnMpOgorCiAyMDIwLTAzLTA5ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBAcHV0QnlWYWxEaXJlY3QgZG9lcyBub3QgcGVy
Zm9ybSBbW0RlZmluZU93blByb3BlcnR5XV0gY29ycmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZjYTI4M2M4ZmY1ZmQ0
MTYwYWQxZDQxN2YxMjRiYzRmMGFhNWI5ZTEuLjEzYWZiZGM2YTc3NjFhOWY1NjAxYTBlZWFmY2Zi
MDk3MmFiYzVlMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDMtMTIgIE15bGVzIEMuIE1h
eGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFB1c2ggYXBw
bGljYXRpb25TREtWZXJzaW9uKCkgZG93biBmcm9tIFdlYkNvcmUgaW50byBXVEYKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTAzMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAg
ICAqIHd0Zi9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaDogQWRkZWQuCisgICAgICAgICogd3Rm
L2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDogQWRkZWQuCisgICAgICAg
IChXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKToKKyAgICAgICAgKFdURjo6c2V0
QXBwbGljYXRpb25TREtWZXJzaW9uKToKKyAgICAgICAgKFdURjo6YXBwbGljYXRpb25TREtWZXJz
aW9uKToKKwogMjAyMC0wMy0wOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtZW1iZXIgY29tcGxldGVkIHN1YnJhbmdlcyBkdXJpbmcgaW5jcmVtZW50YWwg
UERGIGxvYWRpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFmMGU2YTA5ZDJmMzYyZTNkN2MxMDY4MThiOTJl
MDFkNThmZTdmNC4uYzk3OTZkNzE0N2Q2YjBkMTk5OGQ3N2NlOGJmZDRiZDA2M2RlZjBmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAzLTEyICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQdXNoIGFwcGxpY2F0aW9u
U0RLVmVyc2lvbigpIGRvd24gZnJvbSBXZWJDb3JlIGludG8gV1RGCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkwMzAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0bWwvSFRNTE9iamVjdEVsZW1lbnQu
Y3BwOgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1Bs
YXliYWNrIGNvbnN0KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bWFrZUNy
b3NzT3JpZ2luQWNjZXNzUmVxdWVzdCk6CisgICAgICAgICogcGxhdGZvcm0vUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmg6CisgICAgICAgICogcGxhdGZvcm0vVGltZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6c2hvdWxkU3VwcHJlc3NUaHJlYWRTYWZldHlDaGVjayk6CisgICAgICAgICogcGxh
dGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW06CisgICAgICAgIChX
ZWJDb3JlOjphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24pOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uKTogRGVsZXRlZC4KKwogMjAyMC0wMy0wOSAg
WmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKDI1
Nzg0NikgQ3Jhc2ggb24gbWFwcy5nb29nbGUuY29tIHVuZGVyIEVsZW1lbnQ6OmlzVmlzaWJsZVdp
dGhvdXRSZXNvbHZpbmdGdWxsU3R5bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzhlMjExMzkwMzcxNGJiOTBjNGY0
ZjMwOWQwMjM2YTdhNmQ4NGRjMS4uZTM0ZGUzZTZmMDE2ODIzYjZmMTU4YmJkMmQxMmY0ZWY1ODgw
MGY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wMy0xMiAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBs
aWNhdGlvblNES1ZlcnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3NDb2NvYSk6CisgICAgICAgICog
U2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OmRlZmF1bHRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjAtMDMtMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBSZXBsYWNlICJ1bmV4cGVj
dGVkbHkgcmVzdW1lZCIgb2JzZXJ2ZXIgd2l0aCBSdW5uaW5nQm9hcmQgc3VzcGVuZGlibGUgYXNz
ZXJ0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJN
YXAubW0gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTV3JhcHBlck1hcC5tbQppbmRleCA3
MjBiYjFiYzM0NzE1NmJiNDYzYzZlODUzM2E3OWY3NDkxYzU1MzBiLi40NWM2NTRmZWEzNGE3OTc1
YjU1NDBjNDYyNDIxZjFjOWU0Yzg4YmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTV3JhcHBlck1hcC5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
V3JhcHBlck1hcC5tbQpAQCAtMzksOCArMzksOCBAQAogI2ltcG9ydCAiT2JqZWN0Q29uc3RydWN0
b3IuaCIKICNpbXBvcnQgIldlYWtHQ01hcC5oIgogI2ltcG9ydCAiV2Vha0dDTWFwSW5saW5lcy5o
IgorI2ltcG9ydCA8d3RmL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8d3Rm
L1ZlY3Rvci5oPgotI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCiAjaW5jbHVk
ZSA8bWFjaC1vL2R5bGQuaD4KIApAQCAtNzIwLDcgKzcyMCw3IEBAIGJvb2wgc3VwcG9ydHNJbml0
TWV0aG9kQ29uc3RydWN0b3JzKCkKICAgICAvLyBiYXNlIG91ciBjaGVjayBvbiB3aGF0IFNESyB3
YXMgdXNlZCB0byBidWlsZCB0aGUgYXBwbGljYXRpb24uCiAgICAgc3RhdGljIHVpbnQzMl90IHBy
b2dyYW1TREtWZXJzaW9uID0gMDsKICAgICBpZiAoIXByb2dyYW1TREtWZXJzaW9uKQotICAgICAg
ICBwcm9ncmFtU0RLVmVyc2lvbiA9IGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKKyAg
ICAgICAgcHJvZ3JhbVNES1ZlcnNpb24gPSBhcHBsaWNhdGlvblNES1ZlcnNpb24oKTsKIAogICAg
IHJldHVybiBwcm9ncmFtU0RLVmVyc2lvbiA+PSBmaXJzdFNES1ZlcnNpb25XaXRoSW5pdENvbnN0
cnVjdG9yU3VwcG9ydDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZWUzNWIwMjE1OWQ5NzZmYmMzNzMzMmEyOWM1MDk4OWExOGI3ODZhZC4uM2Y5
NDMzZjZlZjgzNjQxMDc4OTM2OTI4MmIzMjNjZWYzMmI2NjgzNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MSw2ICs2MSw3IEBACiAJCTFDMTgxQzkzMUQz
MDdBQjgwMEY1RkExNiAvKiBVVGV4dFByb3ZpZGVyVVRGMTYuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMxODFDOEQxRDMwN0FCODAwRjVGQTE2IC8q
IFVUZXh0UHJvdmlkZXJVVEYxNi5jcHAgKi87IH07CiAJCTFDMTgxQzk2MUQzMDgwMEEwMEY1RkEx
NiAvKiBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMxODFDOTUxRDMwODAwQTAwRjVGQTE2
IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgKi87IH07CiAJCTFDNTAz
QkU2MjNBQUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM1MDNCRTUyM0FBRTBBRTAwNzJFNjZCIC8q
IExhbmd1YWdlQ29jb2EubW0gKi87IH07CisJCTFDQTg1Q0E5MjQxQjBCMjYwMDcxQzJGNSAvKiBS
dW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovOyB9OwogCQkxRkE0N0M4QTE1MjUwMkRBMDA1
NjhEMUIgLyogV2ViQ29yZVRocmVhZC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxRkE0N0M4ODE1MjUwMkRBMDA1NjhEMUIgLyogV2ViQ29yZVRocmVh
ZC5jcHAgKi87IH07CiAJCTJDQ0Q4OTJBMTVDMDM5MDIwMDI4NTA4MyAvKiBHcmVnb3JpYW5EYXRl
VGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
Q0NEODkyOTE1QzAzOTAyMDAyODUwODMgLyogR3JlZ29yaWFuRGF0ZVRpbWUuY3BwICovOyB9Owog
CQkyQ0RFRDBFRjE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDREVEMEVFMTgxMTVDMzgwMDREQkE3
MCAvKiBSdW5Mb29wQ0YuY3BwICovOyB9OwpAQCAtMzQ0LDYgKzM0NSw4IEBACiAJCTFDMTgxQzk1
MUQzMDgwMEEwMEY1RkExNiAvKiBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGV4dEJyZWFrSXRlcmF0b3JJ
bnRlcm5hbElDVUNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM1MDNC
RTQyM0FBREVFQTAwNzJFNjZCIC8qIE5TTG9jYWxlU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TTG9j
YWxlU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDNTAzQkU1MjNBQUUwQUUw
MDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTGFuZ3Vh
Z2VDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNBODVDQTcyNDFCMEIx
MTAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
dW50aW1lQXBwbGljYXRpb25DaGVja3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUNBODVDQTgyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29h
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDREIxNDkxRTU2NjYyNjAwNkM3M0Mw
IC8qIFRleHRCcmVha0l0ZXJhdG9yQ0YuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVGV4dEJyZWFrSXRlcmF0b3JDRi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
Q0NEQjE0RDFFNTY2ODk4MDA2QzczQzAgLyogVGV4dEJyZWFrSXRlcmF0b3JJQ1UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dEJyZWFrSXRlcmF0b3JJQ1UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDREIxNTExRTU2NkJDNTAwNkM3M0MwIC8qIENGU3Ry
aW5nU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENGU3RyaW5nU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTkxLDYgKzExOTQsNyBAQAogCQkJCTJD
REVEMEYxMTgxMTVDODUwMDREQkE3MCAvKiBSdW5Mb29wLmNwcCAqLywKIAkJCQkyQ0RFRDBGMjE4
MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5oICovLAogCQkJCTE0Njk0MTkwMTZFQUFGNkQwMDI0
RTE0NiAvKiBSdW5Mb29wVGltZXIuaCAqLywKKwkJCQkxQ0E4NUNBNzI0MUIwQjExMDA3MUMyRjUg
LyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggKi8sCiAJCQkJMTRGM0IwRjYxNUU0NUU0NjAw
MjEwMDY5IC8qIFNhdHVyYXRlZEFyaXRobWV0aWMuaCAqLywKIAkJCQkxNDY5NDE5NDE2RUFBRkY4
MDAyNEUxNDYgLyogU2NoZWR1bGVQYWlyLmggKi8sCiAJCQkJMUEzNTI0QUExRDYzQTJGRjAwMzE3
MjlCIC8qIFNjb3BlLmggKi8sCkBAIC0xNTE2LDYgKzE1MjAsNyBAQAogCQkJCTVDQzBFRTg3MjE2
MkJDMjIwMEExQTg0MiAvKiBOU1VSTEV4dHJhcy5oICovLAogCQkJCTVDQzBFRTg4MjE2MkJDMjIw
MEExQTg0MiAvKiBOU1VSTEV4dHJhcy5tbSAqLywKIAkJCQlFMzkyRkEyNjIyRTkyQkZGMDBFQ0RD
NzMgLyogUmVzb3VyY2VVc2FnZUNvY29hLmNwcCAqLywKKwkJCQkxQ0E4NUNBODI0MUIwQjI2MDA3
MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovLAogCQkJCUEzMEQ0
MTJDMUYwREUwQkEwMEI3MTk1NCAvKiBTb2Z0TGlua2luZy5oICovLAogCQkJCUVCNjFFREM2MjQw
OUNDQzAwMDFFRkUzNiAvKiBTeXN0ZW1UcmFjaW5nQ29jb2EuY3BwICovLAogCQkJCTVDQzBFRTg2
MjE2MkJDMjIwMEExQTg0MiAvKiBVUkxDb2NvYS5tbSAqLywKQEAgLTE2OTksNiArMTcwNCw3IEBA
CiAJCQkJMkNERUQwRjMxODExNUM4NTAwNERCQTcwIC8qIFJ1bkxvb3AuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkNERUQwRUYxODExNUMzODAwNERCQTcwIC8qIFJ1bkxvb3BDRi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBM0VFNUMzRTIxRkZBQzdEMDBGQUJENjEgLyogUnVuTG9vcFRpbWVyQ0Yu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUNBODVDQTkyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzRUU1QzNE
MjFGRkFDN0QwMEZBQkQ2MSAvKiBTY2hlZHVsZVBhaXJDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBM0VFNUM0MDIxRkZBQ0EyMDBGQUJENjEgLyogU2NoZWR1bGVQYWlyTWFjLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEY2NkIyOEUxREM5N0JBQjAwNEExRDNGIC8qIFNlY29uZHMuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IGNlMGRhYjY1Yjk4NjUxYzBlY2Q2ZDMx
NDNiYzg0Mzg0Yzc2MWE4MjMuLmE4NTk3OTcxNjI3NTgwNjZmNmY1YTM3NGFhOGVlMTFkODFlNTAz
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0yMTEsNiArMjExLDcgQEAgc2V0KFdURl9QVUJM
SUNfSEVBREVSUwogICAgIFJldGFpblB0ci5oCiAgICAgUnVuTG9vcC5oCiAgICAgUnVuTG9vcFRp
bWVyLmgKKyAgICBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaAogICAgIFNIQTEuaAogICAgIFNh
dHVyYXRlZEFyaXRobWV0aWMuaAogICAgIFNjaGVkdWxlUGFpci5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFj
LmNtYWtlCmluZGV4IDZkNTgzMTBkZDIwN2ZiYWNlNTMzN2NlM2ZjYWZkYjZiOTBiM2Y2OWUuLjFm
MmM3YTgyMTk1NDY5NjgxOGQ1NmY0YjM5ZDhhYTY0MGMwMjdjZjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
TWFjLmNtYWtlCkBAIC02NSw2ICs2NSw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAg
Y29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KICAgICBjb2NvYS9OU1VSTEV4dHJh
cy5tbQogICAgIGNvY29hL1Jlc291cmNlVXNhZ2VDb2NvYS5jcHAKKyAgICBjb2NvYS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAKICAgICBjb2NvYS9TeXN0ZW1UcmFjaW5nQ29jb2Eu
Y3BwCiAgICAgY29jb2EvVVJMQ29jb2EubW0KICAgICBjb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGIv
U291cmNlL1dURi93dGYvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmE5
Njk4MjllNGI4OWZlZmM3NzE2N2IyMzNhYjZlN2Q1ZmU2NjQxMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCkBAIC0wLDAgKzEsNDUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgor
CisjaWYgUExBVEZPUk0oQ09DT0EpCisvLyBUaGlzIGNvbnRhaW5zIHRoZSB2YWx1ZXMgd2l0aCB3
aGljaCB0byBjb21wYXJlIHRoZSByZXR1cm4gdmFsdWUgb2YgYXBwbGljYXRpb25TREtWZXJzaW9u
KCkuCisjaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgorI2VuZGlmCisKK25hbWVz
cGFjZSBXVEYgeworCisvLyBkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCkgZ2l2ZXMgeW91
IHRoZSB3cm9uZyBhbnN3ZXIgaW4gYW55IHByb2Nlc3Mgb3RoZXIgdGhhbiB0aGUgVUkgcHJvY2Vz
cy4KKy8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgaG9va2VkIHVwIHRvIGdpdmUgeW91IHRoZSByaWdo
dCBhbnN3ZXIuCitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXRBcHBsaWNhdGlvblNES1ZlcnNp
b24odWludDMyX3QpOworV1RGX0VYUE9SVF9QUklWQVRFIHVpbnQzMl90IGFwcGxpY2F0aW9uU0RL
VmVyc2lvbigpOworCit9CisKK3VzaW5nIFdURjo6c2V0QXBwbGljYXRpb25TREtWZXJzaW9uOwor
dXNpbmcgV1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgYi9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODQxNDZkYTY5ODRjNTFhMWE5MmJjZTgzOGU5ZjRlNmVjYTQ5ODgwOQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNw
cApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExLTIwMjAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSA8d3RmL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgorCisjaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisKK25hbWVz
cGFjZSBXVEYgeworCitzdGF0aWMgT3B0aW9uYWw8dWludDMyX3Q+JiBhcHBsaWNhdGlvblNES1Zl
cnNpb25PdmVycmlkZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPE9wdGlvbmFsPHVp
bnQzMl90Pj4gdmVyc2lvbjsKKyAgICByZXR1cm4gdmVyc2lvbjsKK30KKwordm9pZCBzZXRBcHBs
aWNhdGlvblNES1ZlcnNpb24odWludDMyX3QgdmVyc2lvbikKK3sKKyAgICBhcHBsaWNhdGlvblNE
S1ZlcnNpb25PdmVycmlkZSgpID0gdmVyc2lvbjsKK30KKwordWludDMyX3QgYXBwbGljYXRpb25T
REtWZXJzaW9uKCkKK3sKKyAgICBpZiAoYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKSkK
KyAgICAgICAgcmV0dXJuICphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSgpOworICAgIHJl
dHVybiBkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCk7Cit9CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKaW5kZXggOTg1ZWRiNTNhYjEzNTQ0ZTQyOWQ5
ZGNlNmU0Mzk4NDk4YWU2MDE1OC4uZDE5NTc0MTE3ODJiYWY5YTg3MzBjYWFhMTViNTdkMmY1ZmE5
YTEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKQEAgLTU0
LDcgKzU0LDYgQEAKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW5jbHVkZSAiUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5o
PgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDc2ZTYwNTA4ZWRjMjc1ODc2YWRkMDI4NjI0NzEz
ZmUwYjEyYTc1YTYuLjU0YmNjODI5ZjUxNTFlNDdhYzZmMjVkZTViNzljNjllM2RkM2U3NDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNDksMTIg
KzQ5LDEyIEBACiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSAiU291cmNlQnVmZmVyLmgiCisjaW5jbHVkZSA8d3RmL1J1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4K
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgiCiAj
aW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW5jbHVkZSA8d3RmL3NwaS9k
YXJ3aW4vZHlsZFNQSS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTczOCw3
ICs3MzgsNyBAQCBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OnJlcXVpcmVzRnVsbHNjcmVlbkZv
clZpZGVvUGxheWJhY2soKSBjb25zdAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYg
KElPU0FwcGxpY2F0aW9uOjppc0lCb29rcygpKQogICAgICAgICByZXR1cm4gIW1fZWxlbWVudC5o
YXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6d2Via2l0X3BsYXlz
aW5saW5lQXR0cikgJiYgIW1fZWxlbWVudC5oYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0
aW9uKEhUTUxOYW1lczo6cGxheXNpbmxpbmVBdHRyKTsKLSAgICBpZiAoZHlsZF9nZXRfcHJvZ3Jh
bV9zZGtfdmVyc2lvbigpIDwgRFlMRF9JT1NfVkVSU0lPTl8xMF8wKQorICAgIGlmIChhcHBsaWNh
dGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9TX1ZFUlNJT05fMTBfMCkKICAgICAgICAgcmV0dXJu
ICFtX2VsZW1lbnQuaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6
OndlYmtpdF9wbGF5c2lubGluZUF0dHIpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggZDU2ZmE1YmRkOGM1
YzRmMzhmOGMzNWY5Mzk3ZTBkNDA4NTA5ZmQ4Zi4uMTAyY2MwMWU1YmYwYmViNGVmYzIwM2UwOWQx
OTRhNjEyMmE3YzBmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTYzLDEwICs2Myw2IEBACiAjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKLSNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQotI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KLSNlbmRpZgotCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVz
b3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50JiBkb2N1bWVudCwgUmVzb3VyY2VSZXF1ZXN0JiYg
cmVxdWVzdCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBjb25zdCBUaHJlYWRhYmxl
TG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwg
c3RkOjp1bmlxdWVfcHRyPENvbnRlbnRTZWN1cml0eVBvbGljeT4mJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3kpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oCmluZGV4IGZjZDMyMGZhZWM2M2I0ZmEyNDkwYzgyODJhNGFhN2RlMGQwYzE2MmEu
LmE0YTJmODNhOTU3YTZiYzk1ZGQ4OTYzMTRjZDkxY2E3OWUzYjk5ZTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCkBAIC0yNiw2
ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5j
bHVkZSA8d3RmL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTQzLDkgKzQ0LDYgQEAgaW5saW5lIGJvb2wgaXNJbldlYlByb2Nlc3MoKSB7IHJl
dHVybiB0cnVlOyB9CiBib29sIGlzSW5XZWJQcm9jZXNzKCk7CiBib29sIGlzSW5OZXR3b3JrUHJv
Y2VzcygpOwogCi1XRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1
aW50MzJfdCk7Ci1XRUJDT1JFX0VYUE9SVCB1aW50MzJfdCBhcHBsaWNhdGlvblNES1ZlcnNpb24o
KTsKLQogV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIo
Y29uc3QgU3RyaW5nJik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgYXBwbGljYXRpb25CdW5kbGVJ
ZGVudGlmaWVyKCk7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyQXBwbGljYXRpb25CdW5kbGVJ
ZGVudGlmaWVyVGVzdGluZ092ZXJyaWRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKaW5k
ZXggODM2M2MxNzlhNGRlNTNhZmZjM2IyMGMzYzAwNDU1ZDRhMmQzZjQxMC4uMWU5NGJhM2EyODlh
ZDVlYjBjNWFhMjIwMDlkY2MwOTFiNTgyZjhlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNw
cApAQCAtMzYsMTAgKzM2LDYgQEAKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lmIFBMQVRGT1JNKENPQ09BKQotI2luY2x1ZGUgPHd0Zi9z
cGkvZGFyd2luL2R5bGRTUEkuaD4KLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNs
YXNzIFRpbWVySGVhcFJlZmVyZW5jZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KaW5kZXgg
NGEwNDdmMGNmMTU1Zjk3MTI4MzZkZGNhOWJkOGVjNjNjNzc3MTIxZC4uOTAxNmZiMjQ1ODFiZjA3
NGM2MDdhYmIwNmY4ZGJlYWQ5MzAwOTA3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0K
QEAgLTc1LDI0ICs3NSw2IEBAIHZvaWQgY2xlYXJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJU
ZXN0aW5nT3ZlcnJpZGUoKQogI2VuZGlmCiB9CiAKLXN0YXRpYyBPcHRpb25hbDx1aW50MzJfdD4m
IGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8T3B0aW9uYWw8dWludDMyX3Q+PiB2ZXJzaW9uOwotICAgIHJldHVybiB2ZXJzaW9uOwot
fQotCi12b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCB2ZXJzaW9uKQotewot
ICAgIGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkgPSB2ZXJzaW9uOwotfQotCi11aW50
MzJfdCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKQotewotICAgIGlmIChhcHBsaWNhdGlvblNES1Zl
cnNpb25PdmVycmlkZSgpKQotICAgICAgICByZXR1cm4gKmFwcGxpY2F0aW9uU0RLVmVyc2lvbk92
ZXJyaWRlKCk7Ci0gICAgcmV0dXJuIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKLX0K
LQogYm9vbCBpc0luV2ViUHJvY2VzcygpCiB7CiAgICAgc3RhdGljIGJvb2wgbWFpbkJ1bmRsZUlz
V2ViUHJvY2VzcyA9IFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIGhh
c1ByZWZpeDpAImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCJdOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1t
CmluZGV4IDY0MTZiY2ZlOTdiZjQ0YTIzMWYwNjkxYzVjZTk3ZmJhNzkxZGY1MjYuLmZiMGU2M2Ey
YjEwZTkwOWIzN2ZkZmQ0ZTM0MDFmZjQxMDQ4ZGVjMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KQEAg
LTcxLDcgKzcxLDcgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZU5ldHdvcmtTZXR0aW5ncygpCiB2
b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzc0NvY29h
KGNvbnN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewog
ICAgIFdlYkNvcmU6OnNldEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihwYXJhbWV0ZXJzLnVp
UHJvY2Vzc0J1bmRsZUlkZW50aWZpZXIpOwotICAgIFdlYkNvcmU6OnNldEFwcGxpY2F0aW9uU0RL
VmVyc2lvbihwYXJhbWV0ZXJzLnVpUHJvY2Vzc1NES1ZlcnNpb24pOworICAgIHNldEFwcGxpY2F0
aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJzLnVpUHJvY2Vzc1NES1ZlcnNpb24pOwogCiAjaWYgSEFW
RShIU1RTX1NUT1JBR0VfUEFUSCkKICAgICBpZiAoIXBhcmFtZXRlcnMuaHN0c1N0b3JhZ2VEaXJl
Y3RvcnkuaXNOdWxsKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmluZGV4IGZmMDQ0MjQxNzYzYzMwYzUwOWY5ODJhN2Qy
ZDZkZjZmNzA3ZTljZmYuLjZjODhmYTJmMjNjZDI5MDBjZDBkZTZlOGVlMWZjZTkwNjNhNjRhN2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZh
bHVlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0
VmFsdWVzLmNwcApAQCAtMjksNyArMjksNiBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5j
bHVkZSA8cGFsL3NwaS9jb2NvYS9GZWF0dXJlRmxhZ3NTUEkuaD4KLSNpbmNsdWRlIDx3dGYvc3Bp
L2Rhcndpbi9keWxkU1BJLmg+CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBA
IC01MCw3ICs0OSw3IEBAIGJvb2wgZGVmYXVsdFBhc3NpdmVUb3VjaExpc3RlbmVyc0FzRGVmYXVs
dE9uRG9jdW1lbnQoKQogYm9vbCBkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5hYmxlZCgp
CiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBpZiAoV2ViQ29yZTo6SU9TQXBwbGlj
YXRpb246OmlzSU1EYigpICYmIFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbigpIDwgRFlM
RF9JT1NfVkVSU0lPTl8xM18wKQorICAgIGlmIChXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNJ
TURiKCkgJiYgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgPCBEWUxEX0lPU19WRVJTSU9OXzEzXzAp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogICAgIHJldHVybiB0cnVlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXgg
NzI1YzE0MDlmYjAwNDVmNzA1YzZmZWE0NTkzNGNiNDhhZGU3NzhjOC4uZmZjYjQxYjMyZmE4MmFk
YzQxNjUxZWEyZDc3MjYzN2I1NGZmMWZkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xNzMsNyArMTczLDcgQEAgdm9pZCBX
ZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMmIHBhcmEKICNlbmRpZgogCiAgICAgV2ViQ29yZTo6c2V0QXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyKHBhcmFtZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcik7Ci0g
ICAgV2ViQ29yZTo6c2V0QXBwbGljYXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNz
U0RLVmVyc2lvbik7CisgICAgc2V0QXBwbGljYXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQ
cm9jZXNzU0RLVmVyc2lvbik7CiAKICAgICBtX3VpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXIgPSBw
YXJhbWV0ZXJzLnVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXI7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393517</attachid>
            <date>2020-03-13 12:30:52 -0700</date>
            <delta_ts>2020-03-13 12:34:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209030-20200313123051.patch</filename>
            <type>text/plain</type>
            <size>22223</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MDEyNzAxNjkxYjEyOTk4ZGNkM2UyMDg3MjIxMWU5MDg5NjIzZmY3Li43NTI3MWNmOTk1MGU5N2Y0
YTM5MGQ0YTg0ZWJkMjJmY2FmYmJmZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBk
b3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIGdpdmVzIHlv
dSB0aGUgd3JvbmcgYW5zd2VyIGluIHRoZSBXZWIgUHJvY2VzcyAob3IgYXQgbGVhc3QKKyAgICAg
ICAgbm90IHRoZSBhbnN3ZXIgeW91IGFjdHVhbGx5IHdhbnQpLiBUaGVyZSBhcmUgYWxyZWFkeSBm
YWNpbGl0aWVzIGZvciB0aGUgVUkgUHJvY2VzcyB0byB0ZWxsCisgICAgICAgIHRoZSBXZWIgUHJv
Y2VzcyB3aGF0IHRoZSByZWFsIHZhbHVlIGlzLCBidXQgdGhvc2UgZnVuY3Rpb25zIGFyZSBjdXJy
ZW50bHkgaW4gV2ViQ29yZSwKKyAgICAgICAgd2hpY2ggaXMgaW5hY2Nlc3NpYmxlIHRvIFdURi4g
VGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk2OSB3aGljaCBuZWVkcyB0byBrbm93IHRoaXMg
aW5mb3JtYXRpb24gaW4gV1RGLgorCisgICAgICAgIEkgYWxzbyBmb3VuZCBhIGZldyBwbGFjZXMg
d2hpY2ggd2VyZSBjYWxsaW5nIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBpbiBKYXZh
U2NyaXB0Q29yZQorICAgICAgICBhbmQgV2ViQ29yZSAod2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0
aG9zZSBsaWJyYXJpZXMgZXhpc3QgaW4gdGhlIFdlYiBQcm9jZXNzKSwgYW5kIGhhdmUgZml4ZWQK
KyAgICAgICAgdGhlbSB1cCB0byB1c2UgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgaW5zdGVhZC4K
KworICAgICAgICAqIEFQSS9KU1dyYXBwZXJNYXAubW06CisgICAgICAgIChzdXBwb3J0c0luaXRN
ZXRob2RDb25zdHJ1Y3RvcnMpOgorCiAyMDIwLTAzLTEzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBCb3VuZCBmdW5jdGlvbnMgc2hvdWxkIHBhc3Mg
Y29ycmVjdCBOZXdUYXJnZXQgdmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWM4MTAxMmJlMWRmZmIyZjRhODk5NjEwZmUw
ZjNmZjc0NWI5OTc3YS4uNjE2NjU4YzFmYmExY2UyYTQ0YzQxYmI4NTc0ODc5Y2U3ODQ1OWU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1Zl
cnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogd3RmL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDogQWRkZWQuCisgICAgICAgICogd3Rm
L2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg6IEFkZGVkLgorICAgICAgICAo
V1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSk6CisgICAgICAgIChXVEY6OnNldEFw
cGxpY2F0aW9uU0RLVmVyc2lvbik6CisgICAgICAgIChXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lv
bik6CisKIDIwMjAtMDMtMTEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRvcHQgQVZTYW1wbGVCdWZmZXJWaWRlb091dHB1dApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAzZWY2
MjdlZDBhYmM2Y2I1YmM1MWE1MDI2MmMwZGZiYTkxNWI3ODkuLjFhMmEyZGQwNmI3ODk5NDQxY2Uw
YjU3ZDViZDY5MTQxNTg1MmU2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0w
My0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBp
bnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVx
dWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjayBjb25zdCk6CisgICAgICAgICogbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI6Om1ha2VDcm9zc09yaWdpbkFjY2Vzc1JlcXVlc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAqIHBsYXRm
b3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFN1cHByZXNzVGhyZWFkU2Fm
ZXR5Q2hlY2spOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0QXBwbGljYXRpb25TREtWZXJz
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbik6
IERlbGV0ZWQuCisKIDIwMjAtMDMtMTMgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByZW5kZXJX
aWRnZXRDaGlsZHJlbl0gZG9lcyBub3QgbmVlZCB0byBydW4gb24gbWFpbiB0aHJlYWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGYwYTA2ZjhkZTRiNTM3ODQxMGM1ODVlNWYyNjg1MTc2OWZlM2RjNGEuLjc0MjIwZjhl
ODYzZDI2ZmY3YTZlNjQ0NTBlMzRiZTU0MGQyYWJlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjAtMDMtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4K
KworICAgICAgICBbQ29jb2FdIFB1c2ggYXBwbGljYXRpb25TREtWZXJzaW9uKCkgZG93biBmcm9t
IFdlYkNvcmUgaW50byBXVEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTAzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdv
cmtQcm9jZXNzQ29jb2EpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJ
RW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOgorCiAyMDIwLTAzLTEzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSB1bnVzZWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlciBNYWdu
aWZ5IG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFw
cGVyTWFwLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KaW5k
ZXggNzIwYmIxYmMzNDcxNTZiYjQ2M2M2ZTg1MzNhNzlmNzQ5MWM1NTMwYi4uZmQxNjdhZDZlMWE4
YWZlZDA4NWFjOWZjOTQ3ZWI0MzBhZDJhM2ZjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1dyYXBwZXJNYXAubW0KQEAgLTQwLDcgKzQwLDcgQEAKICNpbXBvcnQgIldlYWtHQ01hcC5o
IgogI2ltcG9ydCAiV2Vha0dDTWFwSW5saW5lcy5oIgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgot
I2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAKICNpbmNsdWRlIDxtYWNoLW8vZHlsZC5o
PgogCkBAIC03MjAsNyArNzIwLDcgQEAgYm9vbCBzdXBwb3J0c0luaXRNZXRob2RDb25zdHJ1Y3Rv
cnMoKQogICAgIC8vIGJhc2Ugb3VyIGNoZWNrIG9uIHdoYXQgU0RLIHdhcyB1c2VkIHRvIGJ1aWxk
IHRoZSBhcHBsaWNhdGlvbi4KICAgICBzdGF0aWMgdWludDMyX3QgcHJvZ3JhbVNES1ZlcnNpb24g
PSAwOwogICAgIGlmICghcHJvZ3JhbVNES1ZlcnNpb24pCi0gICAgICAgIHByb2dyYW1TREtWZXJz
aW9uID0gZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworICAgICAgICBwcm9ncmFtU0RL
VmVyc2lvbiA9IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpOwogCiAgICAgcmV0dXJuIHByb2dyYW1T
REtWZXJzaW9uID49IGZpcnN0U0RLVmVyc2lvbldpdGhJbml0Q29uc3RydWN0b3JTdXBwb3J0Owog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlZTM1
YjAyMTU5ZDk3NmZiYzM3MzMyYTI5YzUwOTg5YTE4Yjc4NmFkLi5iYTI1ZTkzNGExMTYyMWQzODg4
NWM1MDgwN2JjYWE4OTdjMjlhODhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTYxLDYgKzYxLDcgQEAKIAkJMUMxODFDOTMxRDMwN0FCODAwRjVGQTE2IC8q
IFVUZXh0UHJvdmlkZXJVVEYxNi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQzE4MUM4RDFEMzA3QUI4MDBGNUZBMTYgLyogVVRleHRQcm92aWRlclVU
RjE2LmNwcCAqLzsgfTsKIAkJMUMxODFDOTYxRDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0
ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM5NTFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRl
cmF0b3JJbnRlcm5hbElDVUNvY29hLmNwcCAqLzsgfTsKIAkJMUM1MDNCRTYyM0FBRTBBRTAwNzJF
NjZCIC8qIExhbmd1YWdlQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQzUwM0JFNTIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5t
bSAqLzsgfTsKKwkJMUNBODVDQTkyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0NvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFDQTg1Q0E4MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVj
a3NDb2NvYS5jcHAgKi87IH07CiAJCTFGQTQ3QzhBMTUyNTAyREEwMDU2OEQxQiAvKiBXZWJDb3Jl
VGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFGQTQ3Qzg4MTUyNTAyREEwMDU2OEQxQiAvKiBXZWJDb3JlVGhyZWFkLmNwcCAqLzsgfTsKIAkJ
MkNDRDg5MkExNUMwMzkwMjAwMjg1MDgzIC8qIEdyZWdvcmlhbkRhdGVUaW1lLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDQ0Q4OTI5MTVDMDM5MDIw
MDI4NTA4MyAvKiBHcmVnb3JpYW5EYXRlVGltZS5jcHAgKi87IH07CiAJCTJDREVEMEVGMTgxMTVD
MzgwMDREQkE3MCAvKiBSdW5Mb29wQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkNERUQwRUUxODExNUMzODAwNERCQTcwIC8qIFJ1bkxvb3BDRi5j
cHAgKi87IH07CkBAIC0zNDQsNiArMzQ1LDggQEAKIAkJMUMxODFDOTUxRDMwODAwQTAwRjVGQTE2
IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2Eu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzUwM0JFNDIzQUFERUVBMDA3MkU2
NkIgLyogTlNMb2NhbGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNMb2NhbGVTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM1MDNCRTUyM0FBRTBBRTAwNzJFNjZCIC8qIExhbmd1
YWdlQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMYW5ndWFnZUNvY29hLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0E4NUNBNzI0MUIwQjExMDA3MUMyRjUgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNBODVD
QTgyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDREIxNDkxRTU2NjYyNjAwNkM3M0MwIC8qIFRl
eHRCcmVha0l0ZXJhdG9yQ0YuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4
dEJyZWFrSXRlcmF0b3JDRi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE0
RDFFNTY2ODk4MDA2QzczQzAgLyogVGV4dEJyZWFrSXRlcmF0b3JJQ1UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dEJyZWFrSXRlcmF0b3JJQ1UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUNDREIxNTExRTU2NkJDNTAwNkM3M0MwIC8qIENGU3RyaW5nU1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENGU3RyaW5nU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTE2LDYgKzE1MTksOCBAQAogCQkJCTVDQzBFRTg3
MjE2MkJDMjIwMEExQTg0MiAvKiBOU1VSTEV4dHJhcy5oICovLAogCQkJCTVDQzBFRTg4MjE2MkJD
MjIwMEExQTg0MiAvKiBOU1VSTEV4dHJhcy5tbSAqLywKIAkJCQlFMzkyRkEyNjIyRTkyQkZGMDBF
Q0RDNzMgLyogUmVzb3VyY2VVc2FnZUNvY29hLmNwcCAqLywKKwkJCQkxQ0E4NUNBODI0MUIwQjI2
MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovLAorCQkJCTFD
QTg1Q0E3MjQxQjBCMTEwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5o
ICovLAogCQkJCUEzMEQ0MTJDMUYwREUwQkEwMEI3MTk1NCAvKiBTb2Z0TGlua2luZy5oICovLAog
CQkJCUVCNjFFREM2MjQwOUNDQzAwMDFFRkUzNiAvKiBTeXN0ZW1UcmFjaW5nQ29jb2EuY3BwICov
LAogCQkJCTVDQzBFRTg2MjE2MkJDMjIwMEExQTg0MiAvKiBVUkxDb2NvYS5tbSAqLywKQEAgLTE2
OTksNiArMTcwNCw3IEBACiAJCQkJMkNERUQwRjMxODExNUM4NTAwNERCQTcwIC8qIFJ1bkxvb3Au
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkNERUQwRUYxODExNUMzODAwNERCQTcwIC8qIFJ1bkxv
b3BDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBM0VFNUMzRTIxRkZBQzdEMDBGQUJENjEgLyog
UnVuTG9vcFRpbWVyQ0YuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUNBODVDQTkyNDFCMEIyNjAw
NzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUEzRUU1QzNEMjFGRkFDN0QwMEZBQkQ2MSAvKiBTY2hlZHVsZVBhaXJDRi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBM0VFNUM0MDIxRkZBQ0EyMDBGQUJENjEgLyogU2NoZWR1bGVQYWly
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY2NkIyOEUxREM5N0JBQjAwNEExRDNGIC8qIFNl
Y29uZHMuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFr
ZUxpc3RzLnR4dCBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IGNlMGRhYjY1
Yjk4NjUxYzBlY2Q2ZDMxNDNiYzg0Mzg0Yzc2MWE4MjMuLmE4NTk3OTcxNjI3NTgwNjZmNmY1YTM3
NGFhOGVlMTFkODFlNTAzYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMu
dHh0CisrKyBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CkBAIC0yMTEsNiArMjExLDcg
QEAgc2V0KFdURl9QVUJMSUNfSEVBREVSUwogICAgIFJldGFpblB0ci5oCiAgICAgUnVuTG9vcC5o
CiAgICAgUnVuTG9vcFRpbWVyLmgKKyAgICBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuaAogICAg
IFNIQTEuaAogICAgIFNhdHVyYXRlZEFyaXRobWV0aWMuaAogICAgIFNjaGVkdWxlUGFpci5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtTWFjLmNtYWtlCmluZGV4IDZkNTgzMTBkZDIwN2ZiYWNlNTMzN2NlM2ZjYWZk
YjZiOTBiM2Y2OWUuLjFmMmM3YTgyMTk1NDY5NjgxOGQ1NmY0YjM5ZDhhYTY0MGMwMjdjZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCkBAIC02NSw2ICs2NSw3IEBAIGxpc3QoQVBQRU5EIFdU
Rl9TT1VSQ0VTCiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KICAgICBj
b2NvYS9OU1VSTEV4dHJhcy5tbQogICAgIGNvY29hL1Jlc291cmNlVXNhZ2VDb2NvYS5jcHAKKyAg
ICBjb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAKICAgICBjb2NvYS9TeXN0
ZW1UcmFjaW5nQ29jb2EuY3BwCiAgICAgY29jb2EvVVJMQ29jb2EubW0KICAgICBjb2NvYS9Xb3Jr
UXVldWVDb2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWJjYjA2YmVhNjQwMGJjNWRm
NDgxMGIwM2I2MjdkNGI4ZTRkZjg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYv
Y29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwCkBAIC0wLDAgKzEsNTIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvY29j
b2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KKworI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV1RG
IHsKKworc3RhdGljIE9wdGlvbmFsPHVpbnQzMl90PiYgYXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25hbDx1aW50MzJfdD4+
IHZlcnNpb247CisgICAgcmV0dXJuIHZlcnNpb247Cit9CisKK3ZvaWQgc2V0QXBwbGljYXRpb25T
REtWZXJzaW9uKHVpbnQzMl90IHZlcnNpb24pCit7CisgICAgYXBwbGljYXRpb25TREtWZXJzaW9u
T3ZlcnJpZGUoKSA9IHZlcnNpb247Cit9CisKK3VpbnQzMl90IGFwcGxpY2F0aW9uU0RLVmVyc2lv
bigpCit7CisgICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkpCisgICAgICAg
IHJldHVybiAqYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKTsKKyAgICByZXR1cm4gZHls
ZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oIGIvU291cmNlL1dU
Ri93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OGYxYmU4MmY4MjQxZTNkNzg3MTM5OTJlZTZlNDZiMmI0NjE1MjYzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dURi93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApA
QCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KKworLy8gVGhpcyBjb250YWlucyB0aGUgdmFsdWVzIHdpdGggd2hpY2ggdG8g
Y29tcGFyZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpLgorI2lu
Y2x1ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKy8v
IGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBnaXZlcyB5b3UgdGhlIHdyb25nIGFuc3dl
ciBpbiBhbnkgcHJvY2VzcyBvdGhlciB0aGFuIHRoZSBVSSBwcm9jZXNzLgorLy8gVGhlc2UgZnVu
Y3Rpb25zIGFyZSBob29rZWQgdXAgdG8gZ2l2ZSB5b3UgdGhlIHJpZ2h0IGFuc3dlci4KK1dURl9F
WFBPUlRfUFJJVkFURSB2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCk7CitX
VEZfRVhQT1JUX1BSSVZBVEUgdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCk7CisKK30K
KwordXNpbmcgV1RGOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb247Cit1c2luZyBXVEY6OmFwcGxp
Y2F0aW9uU0RLVmVyc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9i
amVjdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5j
cHAKaW5kZXggOTg1ZWRiNTNhYjEzNTQ0ZTQyOWQ5ZGNlNmU0Mzk4NDk4YWU2MDE1OC4uZDE5NTc0
MTE3ODJiYWY5YTg3MzBjYWFhMTViNTdkMmY1ZmE5YTEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKQEAgLTU0LDcgKzU0LDYgQEAKIAogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW5j
bHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4
IDc2ZTYwNTA4ZWRjMjc1ODc2YWRkMDI4NjI0NzEzZmUwYjEyYTc1YTYuLmQxZjg3OWY2OGMxN2My
ODU1OTJmMTgzYTQ5ZWFiZWUxOTZmZGUwZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNDksMTIgKzQ5LDEyIEBACiAjaW5jbHVkZSAiU2NyaXB0
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU291cmNlQnVm
ZmVyLmgiCisjaW5jbHVkZSA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29h
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKICNpbmNsdWRlICJBdWRpb1Nlc3Npb24uaCIKICNpbmNsdWRlICJSdW50aW1l
QXBwbGljYXRpb25DaGVja3MuaCIKLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+
CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzM4LDcgKzczOCw3IEBAIGJvb2wg
TWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjaygp
IGNvbnN0CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpZiAoSU9TQXBwbGljYXRpb246
OmlzSUJvb2tzKCkpCiAgICAgICAgIHJldHVybiAhbV9lbGVtZW50Lmhhc0F0dHJpYnV0ZVdpdGhv
dXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjp3ZWJraXRfcGxheXNpbmxpbmVBdHRyKSAmJiAh
bV9lbGVtZW50Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpw
bGF5c2lubGluZUF0dHIpOwotICAgIGlmIChkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCkg
PCBEWUxEX0lPU19WRVJTSU9OXzEwXzApCisgICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbigp
IDwgRFlMRF9JT1NfVkVSU0lPTl8xMF8wKQogICAgICAgICByZXR1cm4gIW1fZWxlbWVudC5oYXNB
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6d2Via2l0X3BsYXlzaW5s
aW5lQXR0cik7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRUaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCA4YWY0ZDAyNWNlZDNjNzZhNzRiYzMwMTIzMDA3
NzBiMWE3ZmIzM2Y1Li45ZTM5NjkzZDVmMDEwNjEzNGY3NDFjYTY2YjQ5NzhjNjlhNzUwZDZjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcApAQCAtNjMsMTAgKzYzLDYgQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWYuaD4KIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0jaW5jbHVkZSA8
d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoRG9jdW1lbnQmIGRvY3VtZW50LCBSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50JiBjbGllbnQsIGNvbnN0IFRocmVhZGFibGVMb2FkZXJPcHRpb25zJiBv
cHRpb25zLCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBzdGQ6OnVuaXF1ZV9wdHI8
Q29udGVudFNlY3VyaXR5UG9saWN5PiYmIGNvbnRlbnRTZWN1cml0eVBvbGljeSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKaW5kZXgg
ZmNkMzIwZmFlYzYzYjRmYTI0OTBjODI4MmE0YWE3ZGUwZDBjMTYyYS4uNjhiZTJhYzIwMTBiMjM3
YTk5NTlhMjJmY2Q5NDljODZlZGNhYTBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgKQEAgLTI3LDYgKzI3LDEwIEBACiAKICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCisjaWYgUExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSA8
d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CisjZW5kaWYKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFByZXNlbnRpbmdBcHBs
aWNhdGlvblBJRChpbnQpOwpAQCAtNDMsOSArNDcsNiBAQCBpbmxpbmUgYm9vbCBpc0luV2ViUHJv
Y2VzcygpIHsgcmV0dXJuIHRydWU7IH0KIGJvb2wgaXNJbldlYlByb2Nlc3MoKTsKIGJvb2wgaXNJ
bk5ldHdvcmtQcm9jZXNzKCk7CiAKLVdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QXBwbGljYXRpb25T
REtWZXJzaW9uKHVpbnQzMl90KTsKLVdFQkNPUkVfRVhQT1JUIHVpbnQzMl90IGFwcGxpY2F0aW9u
U0RLVmVyc2lvbigpOwotCiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllcihjb25zdCBTdHJpbmcmKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBhcHBsaWNh
dGlvbkJ1bmRsZUlkZW50aWZpZXIoKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYXJBcHBsaWNh
dGlvbkJ1bmRsZUlkZW50aWZpZXJUZXN0aW5nT3ZlcnJpZGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmNwcAppbmRleCA4MzYzYzE3OWE0ZGU1M2FmZmMzYjIwYzNjMDA0NTVkNGEyZDNmNDEwLi4x
ZTk0YmEzYTI4OWFkNWViMGM1YWEyMjAwOWRjYzA5MWI1ODJmOGVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGltZXIuY3BwCkBAIC0zNiwxMCArMzYsNiBAQAogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0jaW5j
bHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgVGltZXJIZWFwUmVmZXJlbmNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2Nv
YS5tbQppbmRleCA0YTA0N2YwY2YxNTVmOTcxMjgzNmRkY2E5YmQ4ZWM2M2M3NzcxMjFkLi45MDE2
ZmIyNDU4MWJmMDc0YzYwN2FiYjA2ZjhkYmVhZDkzMDA5MDcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3NDb2NvYS5tbQpAQCAtNzUsMjQgKzc1LDYgQEAgdm9pZCBjbGVhckFwcGxpY2F0aW9uQnVuZGxl
SWRlbnRpZmllclRlc3RpbmdPdmVycmlkZSgpCiAjZW5kaWYKIH0KIAotc3RhdGljIE9wdGlvbmFs
PHVpbnQzMl90PiYgYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKQotewotICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxPcHRpb25hbDx1aW50MzJfdD4+IHZlcnNpb247Ci0gICAgcmV0dXJu
IHZlcnNpb247Ci19Ci0KLXZvaWQgc2V0QXBwbGljYXRpb25TREtWZXJzaW9uKHVpbnQzMl90IHZl
cnNpb24pCi17Ci0gICAgYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKSA9IHZlcnNpb247
Ci19Ci0KLXVpbnQzMl90IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpCi17Ci0gICAgaWYgKGFwcGxp
Y2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkpCi0gICAgICAgIHJldHVybiAqYXBwbGljYXRpb25T
REtWZXJzaW9uT3ZlcnJpZGUoKTsKLSAgICByZXR1cm4gZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVy
c2lvbigpOwotfQotCiBib29sIGlzSW5XZWJQcm9jZXNzKCkKIHsKICAgICBzdGF0aWMgYm9vbCBt
YWluQnVuZGxlSXNXZWJQcm9jZXNzID0gW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRl
bnRpZmllcl0gaGFzUHJlZml4OkAiY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50Il07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNz
Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9j
ZXNzQ29jb2EubW0KaW5kZXggNjQxNmJjZmU5N2JmNDRhMjMxZjA2OTFjNWNlOTdmYmE3OTFkZjUy
Ni4uZmIwZTYzYTJiMTBlOTA5YjM3ZmRmZDRlMzQwMWZmNDEwNDhkZWMzNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3ND
b2NvYS5tbQpAQCAtNzEsNyArNzEsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplTmV0d29ya1Nl
dHRpbmdzKCkKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQ
cm9jZXNzQ29jb2EoY29uc3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMpCiB7CiAgICAgV2ViQ29yZTo6c2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKHBh
cmFtZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcik7Ci0gICAgV2ViQ29yZTo6c2V0QXBw
bGljYXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CisgICAg
c2V0QXBwbGljYXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7
CiAKICNpZiBIQVZFKEhTVFNfU1RPUkFHRV9QQVRIKQogICAgIGlmICghcGFyYW1ldGVycy5oc3Rz
U3RvcmFnZURpcmVjdG9yeS5pc051bGwoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKaW5kZXggZmYwNDQyNDE3NjNjMzBj
NTA5Zjk4MmE3ZDJkNmRmNmY3MDdlOWNmZi4uNmM4OGZhMmYyM2NkMjkwMGNkMGRlNmU4ZWUxZmNl
OTA2M2E2NGE3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNEZWZhdWx0VmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmF1bHRWYWx1ZXMuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAKICNpZiBQTEFURk9STShD
T0NPQSkKICNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0ZlYXR1cmVGbGFnc1NQSS5oPgotI2luY2x1
ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKQEAgLTUwLDcgKzQ5LDcgQEAgYm9vbCBkZWZhdWx0UGFzc2l2ZVRvdWNoTGlzdGVu
ZXJzQXNEZWZhdWx0T25Eb2N1bWVudCgpCiBib29sIGRlZmF1bHRDU1NPTVZpZXdTY3JvbGxpbmdB
UElFbmFibGVkKCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmIChXZWJDb3Jl
OjpJT1NBcHBsaWNhdGlvbjo6aXNJTURiKCkgJiYgV2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJz
aW9uKCkgPCBEWUxEX0lPU19WRVJTSU9OXzEzXzApCisgICAgaWYgKFdlYkNvcmU6OklPU0FwcGxp
Y2F0aW9uOjppc0lNRGIoKSAmJiBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9TX1ZF
UlNJT05fMTNfMCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAgICAgcmV0dXJuIHRy
dWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQppbmRleCBhNTVkMTc3MGUwZjZiYTQ4MzBlNjk1NzJjNzA3OGM1ZGIyZGZhYzU4Li40Mzlm
MWFhMWQ3YzcyM2FmMGJkODEyNDYzYTRjMGY3MTE5ZGRhNzE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTE3Myw3ICsxNzMs
NyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogI2VuZGlmCiAKICAgICBXZWJDb3JlOjpzZXRB
cHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIocGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVu
dGlmaWVyKTsKLSAgICBXZWJDb3JlOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24ocGFyYW1ldGVy
cy51aVByb2Nlc3NTREtWZXJzaW9uKTsKKyAgICBzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24ocGFy
YW1ldGVycy51aVByb2Nlc3NTREtWZXJzaW9uKTsKIAogICAgIG1fdWlQcm9jZXNzQnVuZGxlSWRl
bnRpZmllciA9IHBhcmFtZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393518</attachid>
            <date>2020-03-13 12:34:53 -0700</date>
            <delta_ts>2020-03-13 13:33:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209030-20200313123452.patch</filename>
            <type>text/plain</type>
            <size>22017</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MDEyNzAxNjkxYjEyOTk4ZGNkM2UyMDg3MjIxMWU5MDg5NjIzZmY3Li43NTI3MWNmOTk1MGU5N2Y0
YTM5MGQ0YTg0ZWJkMjJmY2FmYmJmZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBk
b3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIGdpdmVzIHlv
dSB0aGUgd3JvbmcgYW5zd2VyIGluIHRoZSBXZWIgUHJvY2VzcyAob3IgYXQgbGVhc3QKKyAgICAg
ICAgbm90IHRoZSBhbnN3ZXIgeW91IGFjdHVhbGx5IHdhbnQpLiBUaGVyZSBhcmUgYWxyZWFkeSBm
YWNpbGl0aWVzIGZvciB0aGUgVUkgUHJvY2VzcyB0byB0ZWxsCisgICAgICAgIHRoZSBXZWIgUHJv
Y2VzcyB3aGF0IHRoZSByZWFsIHZhbHVlIGlzLCBidXQgdGhvc2UgZnVuY3Rpb25zIGFyZSBjdXJy
ZW50bHkgaW4gV2ViQ29yZSwKKyAgICAgICAgd2hpY2ggaXMgaW5hY2Nlc3NpYmxlIHRvIFdURi4g
VGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk2OSB3aGljaCBuZWVkcyB0byBrbm93IHRoaXMg
aW5mb3JtYXRpb24gaW4gV1RGLgorCisgICAgICAgIEkgYWxzbyBmb3VuZCBhIGZldyBwbGFjZXMg
d2hpY2ggd2VyZSBjYWxsaW5nIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBpbiBKYXZh
U2NyaXB0Q29yZQorICAgICAgICBhbmQgV2ViQ29yZSAod2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0
aG9zZSBsaWJyYXJpZXMgZXhpc3QgaW4gdGhlIFdlYiBQcm9jZXNzKSwgYW5kIGhhdmUgZml4ZWQK
KyAgICAgICAgdGhlbSB1cCB0byB1c2UgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgaW5zdGVhZC4K
KworICAgICAgICAqIEFQSS9KU1dyYXBwZXJNYXAubW06CisgICAgICAgIChzdXBwb3J0c0luaXRN
ZXRob2RDb25zdHJ1Y3RvcnMpOgorCiAyMDIwLTAzLTEzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBCb3VuZCBmdW5jdGlvbnMgc2hvdWxkIHBhc3Mg
Y29ycmVjdCBOZXdUYXJnZXQgdmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWM4MTAxMmJlMWRmZmIyZjRhODk5NjEwZmUw
ZjNmZjc0NWI5OTc3YS4uNjE2NjU4YzFmYmExY2UyYTQ0YzQxYmI4NTc0ODc5Y2U3ODQ1OWU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1Zl
cnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogd3RmL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDogQWRkZWQuCisgICAgICAgICogd3Rm
L2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg6IEFkZGVkLgorICAgICAgICAo
V1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSk6CisgICAgICAgIChXVEY6OnNldEFw
cGxpY2F0aW9uU0RLVmVyc2lvbik6CisgICAgICAgIChXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lv
bik6CisKIDIwMjAtMDMtMTEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRvcHQgQVZTYW1wbGVCdWZmZXJWaWRlb091dHB1dApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAzZWY2
MjdlZDBhYmM2Y2I1YmM1MWE1MDI2MmMwZGZiYTkxNWI3ODkuLjFhMmEyZGQwNmI3ODk5NDQxY2Uw
YjU3ZDViZDY5MTQxNTg1MmU2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0w
My0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBp
bnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVx
dWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjayBjb25zdCk6CisgICAgICAgICogbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI6Om1ha2VDcm9zc09yaWdpbkFjY2Vzc1JlcXVlc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAqIHBsYXRm
b3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFN1cHByZXNzVGhyZWFkU2Fm
ZXR5Q2hlY2spOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0QXBwbGljYXRpb25TREtWZXJz
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbik6
IERlbGV0ZWQuCisKIDIwMjAtMDMtMTMgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByZW5kZXJX
aWRnZXRDaGlsZHJlbl0gZG9lcyBub3QgbmVlZCB0byBydW4gb24gbWFpbiB0aHJlYWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGYwYTA2ZjhkZTRiNTM3ODQxMGM1ODVlNWYyNjg1MTc2OWZlM2RjNGEuLjc0MjIwZjhl
ODYzZDI2ZmY3YTZlNjQ0NTBlMzRiZTU0MGQyYWJlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjAtMDMtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4K
KworICAgICAgICBbQ29jb2FdIFB1c2ggYXBwbGljYXRpb25TREtWZXJzaW9uKCkgZG93biBmcm9t
IFdlYkNvcmUgaW50byBXVEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTAzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdv
cmtQcm9jZXNzQ29jb2EpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJ
RW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOgorCiAyMDIwLTAzLTEzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSB1bnVzZWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlciBNYWdu
aWZ5IG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFw
cGVyTWFwLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KaW5k
ZXggNzIwYmIxYmMzNDcxNTZiYjQ2M2M2ZTg1MzNhNzlmNzQ5MWM1NTMwYi4uZmQxNjdhZDZlMWE4
YWZlZDA4NWFjOWZjOTQ3ZWI0MzBhZDJhM2ZjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1dyYXBwZXJNYXAubW0KQEAgLTQwLDcgKzQwLDcgQEAKICNpbXBvcnQgIldlYWtHQ01hcC5o
IgogI2ltcG9ydCAiV2Vha0dDTWFwSW5saW5lcy5oIgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgot
I2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAKICNpbmNsdWRlIDxtYWNoLW8vZHlsZC5o
PgogCkBAIC03MjAsNyArNzIwLDcgQEAgYm9vbCBzdXBwb3J0c0luaXRNZXRob2RDb25zdHJ1Y3Rv
cnMoKQogICAgIC8vIGJhc2Ugb3VyIGNoZWNrIG9uIHdoYXQgU0RLIHdhcyB1c2VkIHRvIGJ1aWxk
IHRoZSBhcHBsaWNhdGlvbi4KICAgICBzdGF0aWMgdWludDMyX3QgcHJvZ3JhbVNES1ZlcnNpb24g
PSAwOwogICAgIGlmICghcHJvZ3JhbVNES1ZlcnNpb24pCi0gICAgICAgIHByb2dyYW1TREtWZXJz
aW9uID0gZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworICAgICAgICBwcm9ncmFtU0RL
VmVyc2lvbiA9IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpOwogCiAgICAgcmV0dXJuIHByb2dyYW1T
REtWZXJzaW9uID49IGZpcnN0U0RLVmVyc2lvbldpdGhJbml0Q29uc3RydWN0b3JTdXBwb3J0Owog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlZTM1
YjAyMTU5ZDk3NmZiYzM3MzMyYTI5YzUwOTg5YTE4Yjc4NmFkLi5iYTI1ZTkzNGExMTYyMWQzODg4
NWM1MDgwN2JjYWE4OTdjMjlhODhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTYxLDYgKzYxLDcgQEAKIAkJMUMxODFDOTMxRDMwN0FCODAwRjVGQTE2IC8q
IFVUZXh0UHJvdmlkZXJVVEYxNi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQzE4MUM4RDFEMzA3QUI4MDBGNUZBMTYgLyogVVRleHRQcm92aWRlclVU
RjE2LmNwcCAqLzsgfTsKIAkJMUMxODFDOTYxRDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0
ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM5NTFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRl
cmF0b3JJbnRlcm5hbElDVUNvY29hLmNwcCAqLzsgfTsKIAkJMUM1MDNCRTYyM0FBRTBBRTAwNzJF
NjZCIC8qIExhbmd1YWdlQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQzUwM0JFNTIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5t
bSAqLzsgfTsKKwkJMUNBODVDQTkyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0NvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFDQTg1Q0E4MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVj
a3NDb2NvYS5jcHAgKi87IH07CiAJCTFGQTQ3QzhBMTUyNTAyREEwMDU2OEQxQiAvKiBXZWJDb3Jl
VGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFGQTQ3Qzg4MTUyNTAyREEwMDU2OEQxQiAvKiBXZWJDb3JlVGhyZWFkLmNwcCAqLzsgfTsKIAkJ
MkNDRDg5MkExNUMwMzkwMjAwMjg1MDgzIC8qIEdyZWdvcmlhbkRhdGVUaW1lLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDQ0Q4OTI5MTVDMDM5MDIw
MDI4NTA4MyAvKiBHcmVnb3JpYW5EYXRlVGltZS5jcHAgKi87IH07CiAJCTJDREVEMEVGMTgxMTVD
MzgwMDREQkE3MCAvKiBSdW5Mb29wQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkNERUQwRUUxODExNUMzODAwNERCQTcwIC8qIFJ1bkxvb3BDRi5j
cHAgKi87IH07CkBAIC0zNDQsNiArMzQ1LDggQEAKIAkJMUMxODFDOTUxRDMwODAwQTAwRjVGQTE2
IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2Eu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzUwM0JFNDIzQUFERUVBMDA3MkU2
NkIgLyogTlNMb2NhbGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNMb2NhbGVTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM1MDNCRTUyM0FBRTBBRTAwNzJFNjZCIC8qIExhbmd1
YWdlQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMYW5ndWFnZUNvY29hLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0E4NUNBNzI0MUIwQjExMDA3MUMyRjUgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUNBODVD
QTgyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDREIxNDkxRTU2NjYyNjAwNkM3M0MwIC8qIFRl
eHRCcmVha0l0ZXJhdG9yQ0YuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4
dEJyZWFrSXRlcmF0b3JDRi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE0
RDFFNTY2ODk4MDA2QzczQzAgLyogVGV4dEJyZWFrSXRlcmF0b3JJQ1UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dEJyZWFrSXRlcmF0b3JJQ1UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUNDREIxNTExRTU2NkJDNTAwNkM3M0MwIC8qIENGU3RyaW5nU1BJ
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENGU3RyaW5nU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTE2LDYgKzE1MTksOCBAQAogCQkJCTVDQzBFRTg3
MjE2MkJDMjIwMEExQTg0MiAvKiBOU1VSTEV4dHJhcy5oICovLAogCQkJCTVDQzBFRTg4MjE2MkJD
MjIwMEExQTg0MiAvKiBOU1VSTEV4dHJhcy5tbSAqLywKIAkJCQlFMzkyRkEyNjIyRTkyQkZGMDBF
Q0RDNzMgLyogUmVzb3VyY2VVc2FnZUNvY29hLmNwcCAqLywKKwkJCQkxQ0E4NUNBODI0MUIwQjI2
MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovLAorCQkJCTFD
QTg1Q0E3MjQxQjBCMTEwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5o
ICovLAogCQkJCUEzMEQ0MTJDMUYwREUwQkEwMEI3MTk1NCAvKiBTb2Z0TGlua2luZy5oICovLAog
CQkJCUVCNjFFREM2MjQwOUNDQzAwMDFFRkUzNiAvKiBTeXN0ZW1UcmFjaW5nQ29jb2EuY3BwICov
LAogCQkJCTVDQzBFRTg2MjE2MkJDMjIwMEExQTg0MiAvKiBVUkxDb2NvYS5tbSAqLywKQEAgLTE2
OTksNiArMTcwNCw3IEBACiAJCQkJMkNERUQwRjMxODExNUM4NTAwNERCQTcwIC8qIFJ1bkxvb3Au
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkNERUQwRUYxODExNUMzODAwNERCQTcwIC8qIFJ1bkxv
b3BDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBM0VFNUMzRTIxRkZBQzdEMDBGQUJENjEgLyog
UnVuTG9vcFRpbWVyQ0YuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUNBODVDQTkyNDFCMEIyNjAw
NzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUEzRUU1QzNEMjFGRkFDN0QwMEZBQkQ2MSAvKiBTY2hlZHVsZVBhaXJDRi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBM0VFNUM0MDIxRkZBQ0EyMDBGQUJENjEgLyogU2NoZWR1bGVQYWly
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY2NkIyOEUxREM5N0JBQjAwNEExRDNGIC8qIFNl
Y29uZHMuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCmluZGV4IDZk
NTgzMTBkZDIwN2ZiYWNlNTMzN2NlM2ZjYWZkYjZiOTBiM2Y2OWUuLjZlODYzMzJjZTIzZmYyZTMz
ZmMxNjM2NjUyNzMyZDgwNTlmNmRlZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCkBAIC0x
Niw2ICsxNiw3IEBAIGxpc3QoQVBQRU5EIFdURl9QVUJMSUNfSEVBREVSUwogICAgIGNvY29hL0Ny
YXNoUmVwb3J0ZXIuaAogICAgIGNvY29hL0VudGl0bGVtZW50cy5oCiAgICAgY29jb2EvTlNVUkxF
eHRyYXMuaAorICAgIGNvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmgKICAgICBj
b2NvYS9Tb2Z0TGlua2luZy5oCiAKICAgICBkYXJ3aW4vV2Vha0xpbmtpbmcuaApAQCAtNjUsNiAr
NjYsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIGNvY29hL01lbW9yeVByZXNzdXJl
SGFuZGxlckNvY29hLm1tCiAgICAgY29jb2EvTlNVUkxFeHRyYXMubW0KICAgICBjb2NvYS9SZXNv
dXJjZVVzYWdlQ29jb2EuY3BwCisgICAgY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29j
b2EuY3BwCiAgICAgY29jb2EvU3lzdGVtVHJhY2luZ0NvY29hLmNwcAogICAgIGNvY29hL1VSTENv
Y29hLm1tCiAgICAgY29jb2EvV29ya1F1ZXVlQ29jb2EuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzViY2IwNmJlYTY0MDBiYzVkZjQ4MTBiMDNiNjI3ZDRiOGU0ZGY4NwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29h
LmNwcApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExLTIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+
CisKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9u
YWwuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK3N0YXRpYyBPcHRpb25hbDx1aW50MzJfdD4mIGFw
cGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8T3B0aW9uYWw8dWludDMyX3Q+PiB2ZXJzaW9uOworICAgIHJldHVybiB2ZXJzaW9uOworfQor
Cit2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCB2ZXJzaW9uKQoreworICAg
IGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkgPSB2ZXJzaW9uOworfQorCit1aW50MzJf
dCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKQoreworICAgIGlmIChhcHBsaWNhdGlvblNES1ZlcnNp
b25PdmVycmlkZSgpKQorICAgICAgICByZXR1cm4gKmFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJy
aWRlKCk7CisgICAgcmV0dXJuIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKK30KKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzQ29jb2EuaCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
c0NvY29hLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjhmMWJlODJmODI0MWUzZDc4NzEzOTkyZWU2ZTQ2YjJiNDYx
NTI2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAwOS0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKKy8vIFRoaXMgY29udGFpbnMgdGhl
IHZhbHVlcyB3aXRoIHdoaWNoIHRvIGNvbXBhcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBhcHBsaWNh
dGlvblNES1ZlcnNpb24oKS4KKyNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CisK
K25hbWVzcGFjZSBXVEYgeworCisvLyBkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCkgZ2l2
ZXMgeW91IHRoZSB3cm9uZyBhbnN3ZXIgaW4gYW55IHByb2Nlc3Mgb3RoZXIgdGhhbiB0aGUgVUkg
cHJvY2Vzcy4KKy8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgaG9va2VkIHVwIHRvIGdpdmUgeW91IHRo
ZSByaWdodCBhbnN3ZXIuCitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBzZXRBcHBsaWNhdGlvblNE
S1ZlcnNpb24odWludDMyX3QpOworV1RGX0VYUE9SVF9QUklWQVRFIHVpbnQzMl90IGFwcGxpY2F0
aW9uU0RLVmVyc2lvbigpOworCit9CisKK3VzaW5nIFdURjo6c2V0QXBwbGljYXRpb25TREtWZXJz
aW9uOwordXNpbmcgV1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCmluZGV4IDk4NWVkYjUzYWIxMzU0NGU0MjlkOWRjZTZl
NDM5ODQ5OGFlNjAxNTguLmQxOTU3NDExNzgyYmFmOWE4NzMwY2FhYTE1YjU3ZDJmNWZhOWExMGIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCkBAIC01NCw3ICs1
NCw2IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2luY2x1ZGUgIlJ1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oIgotI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KICNl
bmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcAppbmRleCA3NmU2MDUwOGVkYzI3NTg3NmFkZDAyODYyNDcxM2ZlMGIx
MmE3NWE2Li5kMWY4NzlmNjhjMTdjMjg1NTkyZjE4M2E0OWVhYmVlMTk2ZmRlMGQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAgLTQ5LDEyICs0OSwx
MiBAQAogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5o
IgogI2luY2x1ZGUgIlNvdXJjZUJ1ZmZlci5oIgorI2luY2x1ZGUgPHd0Zi9jb2NvYS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxk
ZXIuaD4KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9u
LmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW5jbHVkZSA8d3Rm
L3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTczOCw3ICs3MzgsNyBAQCBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OnJlcXVpcmVzRnVsbHNj
cmVlbkZvclZpZGVvUGxheWJhY2soKSBjb25zdAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAg
ICAgaWYgKElPU0FwcGxpY2F0aW9uOjppc0lCb29rcygpKQogICAgICAgICByZXR1cm4gIW1fZWxl
bWVudC5oYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6d2Via2l0
X3BsYXlzaW5saW5lQXR0cikgJiYgIW1fZWxlbWVudC5oYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKEhUTUxOYW1lczo6cGxheXNpbmxpbmVBdHRyKTsKLSAgICBpZiAoZHlsZF9nZXRf
cHJvZ3JhbV9zZGtfdmVyc2lvbigpIDwgRFlMRF9JT1NfVkVSU0lPTl8xMF8wKQorICAgIGlmIChh
cHBsaWNhdGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9TX1ZFUlNJT05fMTBfMCkKICAgICAgICAg
cmV0dXJuICFtX2VsZW1lbnQuaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihIVE1M
TmFtZXM6OndlYmtpdF9wbGF5c2lubGluZUF0dHIpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggOGFmNGQw
MjVjZWQzYzc2YTc0YmMzMDEyMzAwNzcwYjFhN2ZiMzNmNS4uOWUzOTY5M2Q1ZjAxMDYxMzRmNzQx
Y2E2NmI0OTc4YzY5YTc1MGQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTYzLDEwICs2Myw2IEBACiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKLSNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQotI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KLSNlbmRpZgot
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjps
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KERvY3VtZW50JiBkb2N1bWVudCwgUmVzb3VyY2VSZXF1
ZXN0JiYgcmVxdWVzdCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCYgY2xpZW50LCBjb25zdCBUaHJl
YWRhYmxlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucywgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIG9y
aWdpbiwgc3RkOjp1bmlxdWVfcHRyPENvbnRlbnRTZWN1cml0eVBvbGljeT4mJiBjb250ZW50U2Vj
dXJpdHlQb2xpY3kpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oCmluZGV4IGZjZDMyMGZhZWM2M2I0ZmEyNDkwYzgyODJhNGFhN2RlMGQw
YzE2MmEuLjY4YmUyYWMyMDEwYjIzN2E5OTU5YTIyZmNkOTQ5Yzg2ZWRjYWEwZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCkBA
IC0yNyw2ICsyNywxMCBAQAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAorI2lmIFBMQVRG
T1JNKENPQ09BKQorI2luY2x1ZGUgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3ND
b2NvYS5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRQcmVzZW50aW5nQXBwbGljYXRpb25QSUQoaW50KTsKQEAgLTQzLDkgKzQ3LDYgQEAg
aW5saW5lIGJvb2wgaXNJbldlYlByb2Nlc3MoKSB7IHJldHVybiB0cnVlOyB9CiBib29sIGlzSW5X
ZWJQcm9jZXNzKCk7CiBib29sIGlzSW5OZXR3b3JrUHJvY2VzcygpOwogCi1XRUJDT1JFX0VYUE9S
VCB2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCk7Ci1XRUJDT1JFX0VYUE9S
VCB1aW50MzJfdCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKTsKLQogV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoY29uc3QgU3RyaW5nJik7CiBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgYXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKCk7CiBXRUJDT1JFX0VY
UE9SVCB2b2lkIGNsZWFyQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyVGVzdGluZ092ZXJyaWRl
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKaW5kZXggODM2M2MxNzlhNGRlNTNhZmZjM2Iy
MGMzYzAwNDU1ZDRhMmQzZjQxMC4uMWU5NGJhM2EyODlhZDVlYjBjNWFhMjIwMDlkY2MwOTFiNTgy
ZjhlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcApAQCAtMzYsMTAgKzM2LDYgQEAKICNp
bmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAotI2lm
IFBMQVRGT1JNKENPQ09BKQotI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KLSNl
bmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRpbWVySGVhcFJlZmVyZW5jZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KaW5kZXggNGEwNDdmMGNmMTU1Zjk3MTI4MzZkZGNh
OWJkOGVjNjNjNzc3MTIxZC4uOTAxNmZiMjQ1ODFiZjA3NGM2MDdhYmIwNmY4ZGJlYWQ5MzAwOTA3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2Ev
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KQEAgLTc1LDI0ICs3NSw2IEBAIHZvaWQg
Y2xlYXJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJUZXN0aW5nT3ZlcnJpZGUoKQogI2VuZGlm
CiB9CiAKLXN0YXRpYyBPcHRpb25hbDx1aW50MzJfdD4mIGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92
ZXJyaWRlKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8T3B0aW9uYWw8dWludDMyX3Q+
PiB2ZXJzaW9uOwotICAgIHJldHVybiB2ZXJzaW9uOwotfQotCi12b2lkIHNldEFwcGxpY2F0aW9u
U0RLVmVyc2lvbih1aW50MzJfdCB2ZXJzaW9uKQotewotICAgIGFwcGxpY2F0aW9uU0RLVmVyc2lv
bk92ZXJyaWRlKCkgPSB2ZXJzaW9uOwotfQotCi11aW50MzJfdCBhcHBsaWNhdGlvblNES1ZlcnNp
b24oKQotewotICAgIGlmIChhcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSgpKQotICAgICAg
ICByZXR1cm4gKmFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCk7Ci0gICAgcmV0dXJuIGR5
bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKLX0KLQogYm9vbCBpc0luV2ViUHJvY2Vzcygp
CiB7CiAgICAgc3RhdGljIGJvb2wgbWFpbkJ1bmRsZUlzV2ViUHJvY2VzcyA9IFtbW05TQnVuZGxl
IG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5XZWJL
aXQuV2ViQ29udGVudCJdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCmluZGV4IDY0MTZiY2ZlOTdiZjQ0YTIz
MWYwNjkxYzVjZTk3ZmJhNzkxZGY1MjYuLmZiMGU2M2EyYjEwZTkwOWIzN2ZkZmQ0ZTM0MDFmZjQx
MDQ4ZGVjMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya1Byb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KQEAgLTcxLDcgKzcxLDcgQEAgc3RhdGljIHZv
aWQgaW5pdGlhbGl6ZU5ldHdvcmtTZXR0aW5ncygpCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0
Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzc0NvY29hKGNvbnN0IE5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIFdlYkNvcmU6OnNldEFwcGxpY2F0
aW9uQnVuZGxlSWRlbnRpZmllcihwYXJhbWV0ZXJzLnVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXIp
OwotICAgIFdlYkNvcmU6OnNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJzLnVpUHJv
Y2Vzc1NES1ZlcnNpb24pOworICAgIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJz
LnVpUHJvY2Vzc1NES1ZlcnNpb24pOwogCiAjaWYgSEFWRShIU1RTX1NUT1JBR0VfUEFUSCkKICAg
ICBpZiAoIXBhcmFtZXRlcnMuaHN0c1N0b3JhZ2VEaXJlY3RvcnkuaXNOdWxsKCkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3Bw
CmluZGV4IGZmMDQ0MjQxNzYzYzMwYzUwOWY5ODJhN2QyZDZkZjZmNzA3ZTljZmYuLjZjODhmYTJm
MjNjZDI5MDBjZDBkZTZlOGVlMWZjZTkwNjNhNjRhN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcApAQCAtMjksNyArMjks
NiBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9GZWF0
dXJlRmxhZ3NTUEkuaD4KLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC01MCw3ICs0OSw3IEBAIGJvb2wgZGVm
YXVsdFBhc3NpdmVUb3VjaExpc3RlbmVyc0FzRGVmYXVsdE9uRG9jdW1lbnQoKQogYm9vbCBkZWZh
dWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5hYmxlZCgpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKLSAgICBpZiAoV2ViQ29yZTo6SU9TQXBwbGljYXRpb246OmlzSU1EYigpICYmIFdlYkNv
cmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbigpIDwgRFlMRF9JT1NfVkVSU0lPTl8xM18wKQorICAg
IGlmIChXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNJTURiKCkgJiYgYXBwbGljYXRpb25TREtW
ZXJzaW9uKCkgPCBEWUxEX0lPU19WRVJTSU9OXzEzXzApCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICNlbmRpZgogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggYTU1ZDE3NzBlMGY2YmE0ODMwZTY5NTcy
YzcwNzhjNWRiMmRmYWM1OC4uNDM5ZjFhYTFkN2M3MjNhZjBiZDgxMjQ2M2E0YzBmNzExOWRkYTcx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3ND
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCkBAIC0xNzMsNyArMTczLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRp
YWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmEKICNlbmRp
ZgogCiAgICAgV2ViQ29yZTo6c2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKHBhcmFtZXRl
cnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcik7Ci0gICAgV2ViQ29yZTo6c2V0QXBwbGljYXRp
b25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CisgICAgc2V0QXBw
bGljYXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CiAKICAg
ICBtX3VpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXIgPSBwYXJhbWV0ZXJzLnVpUHJvY2Vzc0J1bmRs
ZUlkZW50aWZpZXI7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393522</attachid>
            <date>2020-03-13 13:33:10 -0700</date>
            <delta_ts>2020-03-13 13:58:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209030-20200313133309.patch</filename>
            <type>text/plain</type>
            <size>22356</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MDEyNzAxNjkxYjEyOTk4ZGNkM2UyMDg3MjIxMWU5MDg5NjIzZmY3Li43NTI3MWNmOTk1MGU5N2Y0
YTM5MGQ0YTg0ZWJkMjJmY2FmYmJmZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBk
b3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIGdpdmVzIHlv
dSB0aGUgd3JvbmcgYW5zd2VyIGluIHRoZSBXZWIgUHJvY2VzcyAob3IgYXQgbGVhc3QKKyAgICAg
ICAgbm90IHRoZSBhbnN3ZXIgeW91IGFjdHVhbGx5IHdhbnQpLiBUaGVyZSBhcmUgYWxyZWFkeSBm
YWNpbGl0aWVzIGZvciB0aGUgVUkgUHJvY2VzcyB0byB0ZWxsCisgICAgICAgIHRoZSBXZWIgUHJv
Y2VzcyB3aGF0IHRoZSByZWFsIHZhbHVlIGlzLCBidXQgdGhvc2UgZnVuY3Rpb25zIGFyZSBjdXJy
ZW50bHkgaW4gV2ViQ29yZSwKKyAgICAgICAgd2hpY2ggaXMgaW5hY2Nlc3NpYmxlIHRvIFdURi4g
VGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk2OSB3aGljaCBuZWVkcyB0byBrbm93IHRoaXMg
aW5mb3JtYXRpb24gaW4gV1RGLgorCisgICAgICAgIEkgYWxzbyBmb3VuZCBhIGZldyBwbGFjZXMg
d2hpY2ggd2VyZSBjYWxsaW5nIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBpbiBKYXZh
U2NyaXB0Q29yZQorICAgICAgICBhbmQgV2ViQ29yZSAod2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0
aG9zZSBsaWJyYXJpZXMgZXhpc3QgaW4gdGhlIFdlYiBQcm9jZXNzKSwgYW5kIGhhdmUgZml4ZWQK
KyAgICAgICAgdGhlbSB1cCB0byB1c2UgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgaW5zdGVhZC4K
KworICAgICAgICAqIEFQSS9KU1dyYXBwZXJNYXAubW06CisgICAgICAgIChzdXBwb3J0c0luaXRN
ZXRob2RDb25zdHJ1Y3RvcnMpOgorCiAyMDIwLTAzLTEzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBCb3VuZCBmdW5jdGlvbnMgc2hvdWxkIHBhc3Mg
Y29ycmVjdCBOZXdUYXJnZXQgdmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWM4MTAxMmJlMWRmZmIyZjRhODk5NjEwZmUw
ZjNmZjc0NWI5OTc3YS4uNjE2NjU4YzFmYmExY2UyYTQ0YzQxYmI4NTc0ODc5Y2U3ODQ1OWU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1Zl
cnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogd3RmL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDogQWRkZWQuCisgICAgICAgICogd3Rm
L2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg6IEFkZGVkLgorICAgICAgICAo
V1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSk6CisgICAgICAgIChXVEY6OnNldEFw
cGxpY2F0aW9uU0RLVmVyc2lvbik6CisgICAgICAgIChXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lv
bik6CisKIDIwMjAtMDMtMTEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRvcHQgQVZTYW1wbGVCdWZmZXJWaWRlb091dHB1dApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAzZWY2
MjdlZDBhYmM2Y2I1YmM1MWE1MDI2MmMwZGZiYTkxNWI3ODkuLjFhMmEyZGQwNmI3ODk5NDQxY2Uw
YjU3ZDViZDY5MTQxNTg1MmU2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0w
My0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBp
bnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVx
dWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjayBjb25zdCk6CisgICAgICAgICogbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI6Om1ha2VDcm9zc09yaWdpbkFjY2Vzc1JlcXVlc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAqIHBsYXRm
b3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFN1cHByZXNzVGhyZWFkU2Fm
ZXR5Q2hlY2spOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0QXBwbGljYXRpb25TREtWZXJz
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbik6
IERlbGV0ZWQuCisKIDIwMjAtMDMtMTMgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByZW5kZXJX
aWRnZXRDaGlsZHJlbl0gZG9lcyBub3QgbmVlZCB0byBydW4gb24gbWFpbiB0aHJlYWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGYwYTA2ZjhkZTRiNTM3ODQxMGM1ODVlNWYyNjg1MTc2OWZlM2RjNGEuLjc0MjIwZjhl
ODYzZDI2ZmY3YTZlNjQ0NTBlMzRiZTU0MGQyYWJlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjAtMDMtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4K
KworICAgICAgICBbQ29jb2FdIFB1c2ggYXBwbGljYXRpb25TREtWZXJzaW9uKCkgZG93biBmcm9t
IFdlYkNvcmUgaW50byBXVEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTAzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdv
cmtQcm9jZXNzQ29jb2EpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJ
RW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOgorCiAyMDIwLTAzLTEzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSB1bnVzZWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlciBNYWdu
aWZ5IG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFw
cGVyTWFwLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KaW5k
ZXggNzIwYmIxYmMzNDcxNTZiYjQ2M2M2ZTg1MzNhNzlmNzQ5MWM1NTMwYi4uMzllYmI3YzlkNTE4
M2E2YjUyNjdjYzRjNWY2NzM0MTY1MjNhMTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1dyYXBwZXJNYXAubW0KQEAgLTQwLDcgKzQwLDEwIEBACiAjaW1wb3J0ICJXZWFrR0NNYXAu
aCIKICNpbXBvcnQgIldlYWtHQ01hcElubGluZXMuaCIKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4K
LSNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworI2lmIFBMQVRGT1JNKENPQ09B
KQorI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+Cisj
ZW5kaWYKIAogI2luY2x1ZGUgPG1hY2gtby9keWxkLmg+CiAKQEAgLTcyMCw3ICs3MjMsNyBAQCBi
b29sIHN1cHBvcnRzSW5pdE1ldGhvZENvbnN0cnVjdG9ycygpCiAgICAgLy8gYmFzZSBvdXIgY2hl
Y2sgb24gd2hhdCBTREsgd2FzIHVzZWQgdG8gYnVpbGQgdGhlIGFwcGxpY2F0aW9uLgogICAgIHN0
YXRpYyB1aW50MzJfdCBwcm9ncmFtU0RLVmVyc2lvbiA9IDA7CiAgICAgaWYgKCFwcm9ncmFtU0RL
VmVyc2lvbikKLSAgICAgICAgcHJvZ3JhbVNES1ZlcnNpb24gPSBkeWxkX2dldF9wcm9ncmFtX3Nk
a192ZXJzaW9uKCk7CisgICAgICAgIHByb2dyYW1TREtWZXJzaW9uID0gYXBwbGljYXRpb25TREtW
ZXJzaW9uKCk7CiAKICAgICByZXR1cm4gcHJvZ3JhbVNES1ZlcnNpb24gPj0gZmlyc3RTREtWZXJz
aW9uV2l0aEluaXRDb25zdHJ1Y3RvclN1cHBvcnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVlMzViMDIxNTlkOTc2ZmJjMzczMzJhMjljNTA5
ODlhMThiNzg2YWQuLmJhMjVlOTM0YTExNjIxZDM4ODg1YzUwODA3YmNhYTg5N2MyOWE4OGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjEsNiArNjEsNyBA
QAogCQkxQzE4MUM5MzFEMzA3QUI4MDBGNUZBMTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzhEMUQz
MDdBQjgwMEY1RkExNiAvKiBVVGV4dFByb3ZpZGVyVVRGMTYuY3BwICovOyB9OwogCQkxQzE4MUM5
NjFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzk1
MUQzMDgwMEEwMEY1RkExNiAvKiBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3Bw
ICovOyB9OwogCQkxQzUwM0JFNjIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNTAzQkU1MjNB
QUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tICovOyB9OworCQkxQ0E4NUNBOTI0MUIw
QjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBODVDQTgyNDFCMEIyNjAw
NzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCAqLzsgfTsKIAkJMUZB
NDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZBNDdDODgxNTI1MDJEQTAwNTY4RDFC
IC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9OwogCQkyQ0NEODkyQTE1QzAzOTAyMDAyODUwODMg
LyogR3JlZ29yaWFuRGF0ZVRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkNDRDg5MjkxNUMwMzkwMjAwMjg1MDgzIC8qIEdyZWdvcmlhbkRhdGVU
aW1lLmNwcCAqLzsgfTsKIAkJMkNERUQwRUYxODExNUMzODAwNERCQTcwIC8qIFJ1bkxvb3BDRi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0RFRDBF
RTE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCAqLzsgfTsKQEAgLTM0NCw2ICszNDUs
OCBAQAogCQkxQzE4MUM5NTFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRl
cm5hbElDVUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRl
eHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDNTAzQkU0MjNBQURFRUEwMDcyRTY2QiAvKiBOU0xvY2FsZVNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOU0xvY2FsZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzUwM0JFNTIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IExhbmd1YWdlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDQTg1Q0E3MjQxQjBCMTEwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2Nv
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQ0NEQjE0OTFFNTY2NjI2MDA2QzczQzAgLyogVGV4dEJyZWFrSXRlcmF0b3JDRi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckNGLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQ0RCMTREMUU1NjY4OTgwMDZDNzNDMCAvKiBUZXh0
QnJlYWtJdGVyYXRvcklDVS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0
QnJlYWtJdGVyYXRvcklDVS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE1
MTFFNTY2QkM1MDA2QzczQzAgLyogQ0ZTdHJpbmdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ0ZTdHJpbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE1MTYsNiArMTUxOSw4IEBACiAJCQkJNUNDMEVFODcyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJM
RXh0cmFzLmggKi8sCiAJCQkJNUNDMEVFODgyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFz
Lm1tICovLAogCQkJCUUzOTJGQTI2MjJFOTJCRkYwMEVDREM3MyAvKiBSZXNvdXJjZVVzYWdlQ29j
b2EuY3BwICovLAorCQkJCTFDQTg1Q0E4MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGlj
YXRpb25DaGVja3NDb2NvYS5jcHAgKi8sCisJCQkJMUNBODVDQTcyNDFCMEIxMTAwNzFDMkY1IC8q
IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmggKi8sCiAJCQkJQTMwRDQxMkMxRjBERTBC
QTAwQjcxOTU0IC8qIFNvZnRMaW5raW5nLmggKi8sCiAJCQkJRUI2MUVEQzYyNDA5Q0NDMDAwMUVG
RTM2IC8qIFN5c3RlbVRyYWNpbmdDb2NvYS5jcHAgKi8sCiAJCQkJNUNDMEVFODYyMTYyQkMyMjAw
QTFBODQyIC8qIFVSTENvY29hLm1tICovLApAQCAtMTY5OSw2ICsxNzA0LDcgQEAKIAkJCQkyQ0RF
RDBGMzE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
Q0RFRDBFRjE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUEzRUU1QzNFMjFGRkFDN0QwMEZBQkQ2MSAvKiBSdW5Mb29wVGltZXJDRi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxQ0E4NUNBOTI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNFRTVDM0QyMUZGQUM3RDAw
RkFCRDYxIC8qIFNjaGVkdWxlUGFpckNGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzRUU1QzQw
MjFGRkFDQTIwMEZBQkQ2MSAvKiBTY2hlZHVsZVBhaXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkwRjY2QjI4RTFEQzk3QkFCMDA0QTFEM0YgLyogU2Vjb25kcy5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggNmQ1ODMxMGRkMjA3ZmJhY2U1MzM3Y2UzZmNh
ZmRiNmI5MGIzZjY5ZS4uNmU4NjMzMmNlMjNmZjJlMzNmYzE2MzY2NTI3MzJkODA1OWY2ZGVkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTE2LDYgKzE2LDcgQEAgbGlzdChBUFBFTkQg
V1RGX1BVQkxJQ19IRUFERVJTCiAgICAgY29jb2EvQ3Jhc2hSZXBvcnRlci5oCiAgICAgY29jb2Ev
RW50aXRsZW1lbnRzLmgKICAgICBjb2NvYS9OU1VSTEV4dHJhcy5oCisgICAgY29jb2EvUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaAogICAgIGNvY29hL1NvZnRMaW5raW5nLmgKIAogICAg
IGRhcndpbi9XZWFrTGlua2luZy5oCkBAIC02NSw2ICs2Niw3IEBAIGxpc3QoQVBQRU5EIFdURl9T
T1VSQ0VTCiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KICAgICBjb2Nv
YS9OU1VSTEV4dHJhcy5tbQogICAgIGNvY29hL1Jlc291cmNlVXNhZ2VDb2NvYS5jcHAKKyAgICBj
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAKICAgICBjb2NvYS9TeXN0ZW1U
cmFjaW5nQ29jb2EuY3BwCiAgICAgY29jb2EvVVJMQ29jb2EubW0KICAgICBjb2NvYS9Xb3JrUXVl
dWVDb2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWJjYjA2YmVhNjQwMGJjNWRmNDgx
MGIwM2I2MjdkNGI4ZTRkZjg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29j
b2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvY29jb2Ev
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KKworI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV1RGIHsK
Kworc3RhdGljIE9wdGlvbmFsPHVpbnQzMl90PiYgYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJp
ZGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25hbDx1aW50MzJfdD4+IHZl
cnNpb247CisgICAgcmV0dXJuIHZlcnNpb247Cit9CisKK3ZvaWQgc2V0QXBwbGljYXRpb25TREtW
ZXJzaW9uKHVpbnQzMl90IHZlcnNpb24pCit7CisgICAgYXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUoKSA9IHZlcnNpb247Cit9CisKK3VpbnQzMl90IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigp
Cit7CisgICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkpCisgICAgICAgIHJl
dHVybiAqYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKTsKKyAgICByZXR1cm4gZHlsZF9n
ZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oIGIvU291cmNlL1dURi93
dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OGYx
YmU4MmY4MjQxZTNkNzg3MTM5OTJlZTZlNDZiMmI0NjE1MjYzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dURi93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApAQCAt
MCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKworLy8gVGhpcyBjb250YWlucyB0aGUgdmFsdWVzIHdpdGggd2hpY2ggdG8gY29t
cGFyZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpLgorI2luY2x1
ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKy8vIGR5
bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBnaXZlcyB5b3UgdGhlIHdyb25nIGFuc3dlciBp
biBhbnkgcHJvY2VzcyBvdGhlciB0aGFuIHRoZSBVSSBwcm9jZXNzLgorLy8gVGhlc2UgZnVuY3Rp
b25zIGFyZSBob29rZWQgdXAgdG8gZ2l2ZSB5b3UgdGhlIHJpZ2h0IGFuc3dlci4KK1dURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCk7CitXVEZf
RVhQT1JUX1BSSVZBVEUgdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCk7CisKK30KKwor
dXNpbmcgV1RGOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb247Cit1c2luZyBXVEY6OmFwcGxpY2F0
aW9uU0RLVmVyc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVj
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAK
aW5kZXggOTg1ZWRiNTNhYjEzNTQ0ZTQyOWQ5ZGNlNmU0Mzk4NDk4YWU2MDE1OC4uZDE5NTc0MTE3
ODJiYWY5YTg3MzBjYWFhMTViNTdkMmY1ZmE5YTEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5jcHAKQEAgLTU0LDcgKzU0LDYgQEAKIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW5jbHVk
ZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDc2
ZTYwNTA4ZWRjMjc1ODc2YWRkMDI4NjI0NzEzZmUwYjEyYTc1YTYuLmI5MGNjYjU1OGUyMjFmYTA4
MWExYzljNDE3ODc5MTEyNWVmMzcxNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcApAQCAtNTMsOCArNTMsNyBAQAogCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICNpbmNsdWRlICJBdWRpb1Nlc3Npb24uaCIKLSNpbmNsdWRlICJSdW50aW1lQXBwbGlj
YXRpb25DaGVja3MuaCIKLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CisjaW5j
bHVkZSA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjZW5kaWYK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzM4LDcgKzczNyw3IEBAIGJvb2wgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6cmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjaygpIGNvbnN0CiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpZiAoSU9TQXBwbGljYXRpb246OmlzSUJvb2tz
KCkpCiAgICAgICAgIHJldHVybiAhbV9lbGVtZW50Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJv
bml6YXRpb24oSFRNTE5hbWVzOjp3ZWJraXRfcGxheXNpbmxpbmVBdHRyKSAmJiAhbV9lbGVtZW50
Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpwbGF5c2lubGlu
ZUF0dHIpOwotICAgIGlmIChkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCkgPCBEWUxEX0lP
U19WRVJTSU9OXzEwXzApCisgICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpIDwgRFlMRF9J
T1NfVkVSU0lPTl8xMF8wKQogICAgICAgICByZXR1cm4gIW1fZWxlbWVudC5oYXNBdHRyaWJ1dGVX
aXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6d2Via2l0X3BsYXlzaW5saW5lQXR0cik7
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyLmNwcAppbmRleCA4YWY0ZDAyNWNlZDNjNzZhNzRiYzMwMTIzMDA3NzBiMWE3ZmIz
M2Y1Li40NWMzM2M0MTlkN2IyZjdiYzM0OThkNzk2MmNmNmQ0NTlhZTNhMjA5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAt
NTIsNyArNTIsNiBAQAogI2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNv
dXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVRpbWluZy5oIgotI2luY2x1ZGUgIlJ1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgogI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXMuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgi
CkBAIC02NCw3ICs2Myw3IEBACiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CisjaW5jbHVk
ZSA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjZW5kaWYKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50
aW1lQXBwbGljYXRpb25DaGVja3MuaAppbmRleCBmY2QzMjBmYWVjNjNiNGZhMjQ5MGM4MjgyYTRh
YTdkZTBkMGMxNjJhLi5jZDYyMDI5NjAzM2UzZWM3ZTZkNTlmMmNkNjlmNjU1YTA0ZDE5NGI0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuaApAQCAtNDMsOSArNDMsNiBAQCBpbmxpbmUgYm9vbCBpc0luV2ViUHJvY2VzcygpIHsgcmV0
dXJuIHRydWU7IH0KIGJvb2wgaXNJbldlYlByb2Nlc3MoKTsKIGJvb2wgaXNJbk5ldHdvcmtQcm9j
ZXNzKCk7CiAKLVdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QXBwbGljYXRpb25TREtWZXJzaW9uKHVp
bnQzMl90KTsKLVdFQkNPUkVfRVhQT1JUIHVpbnQzMl90IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigp
OwotCiBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihj
b25zdCBTdHJpbmcmKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBhcHBsaWNhdGlvbkJ1bmRsZUlk
ZW50aWZpZXIoKTsKIFdFQkNPUkVfRVhQT1JUIHZvaWQgY2xlYXJBcHBsaWNhdGlvbkJ1bmRsZUlk
ZW50aWZpZXJUZXN0aW5nT3ZlcnJpZGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcAppbmRl
eCA4MzYzYzE3OWE0ZGU1M2FmZmMzYjIwYzNjMDA0NTVkNGEyZDNmNDEwLi5lMWY2ZTIyYTJhM2Rm
ZjY4NDI2ODEyNWM4Mzg3ZDk3ZmJkN2U5MjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3Bw
CkBAIC0zNyw3ICszNyw3IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCi0jaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgorI2luY2x1ZGUg
PHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2VuZGlmCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KaW5kZXggNGEwNDdm
MGNmMTU1Zjk3MTI4MzZkZGNhOWJkOGVjNjNjNzc3MTIxZC4uOTAxNmZiMjQ1ODFiZjA3NGM2MDdh
YmIwNmY4ZGJlYWQ5MzAwOTA3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0KQEAgLTc1
LDI0ICs3NSw2IEBAIHZvaWQgY2xlYXJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJUZXN0aW5n
T3ZlcnJpZGUoKQogI2VuZGlmCiB9CiAKLXN0YXRpYyBPcHRpb25hbDx1aW50MzJfdD4mIGFwcGxp
Y2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
T3B0aW9uYWw8dWludDMyX3Q+PiB2ZXJzaW9uOwotICAgIHJldHVybiB2ZXJzaW9uOwotfQotCi12
b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCB2ZXJzaW9uKQotewotICAgIGFw
cGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkgPSB2ZXJzaW9uOwotfQotCi11aW50MzJfdCBh
cHBsaWNhdGlvblNES1ZlcnNpb24oKQotewotICAgIGlmIChhcHBsaWNhdGlvblNES1ZlcnNpb25P
dmVycmlkZSgpKQotICAgICAgICByZXR1cm4gKmFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRl
KCk7Ci0gICAgcmV0dXJuIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKTsKLX0KLQogYm9v
bCBpc0luV2ViUHJvY2VzcygpCiB7CiAgICAgc3RhdGljIGJvb2wgbWFpbkJ1bmRsZUlzV2ViUHJv
Y2VzcyA9IFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIGhhc1ByZWZp
eDpAImNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCJdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCmluZGV4
IDY0MTZiY2ZlOTdiZjQ0YTIzMWYwNjkxYzVjZTk3ZmJhNzkxZGY1MjYuLjliMDI3ODhlYmY4Yzg5
YWExMGY5NDliOTFmYTgxNTI4ZDJlZmZiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KQEAgLTQ1LDYg
KzQ1LDcgQEAKICNpbXBvcnQgPHd0Zi9DYWxsYmFja0FnZ3JlZ2F0b3IuaD4KICNpbXBvcnQgPHd0
Zi9Qcm9jZXNzUHJpdmlsZWdlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0
IDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKQEAgLTcxLDcgKzcyLDcgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZU5ldHdv
cmtTZXR0aW5ncygpCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3
b3JrUHJvY2Vzc0NvY29hKGNvbnN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzKQogewogICAgIFdlYkNvcmU6OnNldEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
cihwYXJhbWV0ZXJzLnVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXIpOwotICAgIFdlYkNvcmU6OnNl
dEFwcGxpY2F0aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJzLnVpUHJvY2Vzc1NES1ZlcnNpb24pOwor
ICAgIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJzLnVpUHJvY2Vzc1NES1ZlcnNp
b24pOwogCiAjaWYgSEFWRShIU1RTX1NUT1JBR0VfUEFUSCkKICAgICBpZiAoIXBhcmFtZXRlcnMu
aHN0c1N0b3JhZ2VEaXJlY3RvcnkuaXNOdWxsKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwCmluZGV4IGZmMDQ0MjQxNzYz
YzMwYzUwOWY5ODJhN2QyZDZkZjZmNzA3ZTljZmYuLjY0OGQ3MTE4NDk2ZTZlOTc3NWVkZTA0ODg0
ZTYyYWI1ZTAyNjk2ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcApAQCAtMjUsMTUgKzI1LDE0IEBACiAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuaCIKLSNp
bmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9GZWF0dXJlRmxhZ3NTUEkuaD4KLSNp
bmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCiAjaW5jbHVkZSAiVmVyc2lvbkNoZWNrcy5oIgorI2luY2x1ZGUgPHd0Zi9D
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2VuZGlmCiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewpAQCAtNTAsNyArNDksNyBAQCBib29sIGRlZmF1bHRQYXNzaXZlVG91Y2hMaXN0
ZW5lcnNBc0RlZmF1bHRPbkRvY3VtZW50KCkKIGJvb2wgZGVmYXVsdENTU09NVmlld1Njcm9sbGlu
Z0FQSUVuYWJsZWQoKQogewogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgaWYgKFdlYkNv
cmU6OklPU0FwcGxpY2F0aW9uOjppc0lNRGIoKSAmJiBXZWJDb3JlOjphcHBsaWNhdGlvblNES1Zl
cnNpb24oKSA8IERZTERfSU9TX1ZFUlNJT05fMTNfMCkKKyAgICBpZiAoV2ViQ29yZTo6SU9TQXBw
bGljYXRpb246OmlzSU1EYigpICYmIGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpIDwgRFlMRF9JT1Nf
VkVSU0lPTl8xM18wKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKICAgICByZXR1cm4g
dHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCmluZGV4IGE1NWQxNzcwZTBmNmJhNDgzMGU2OTU3MmM3MDc4YzVkYjJkZmFjNTguLjM0
MDJhOTc5ZGZjNjY4ZWU0ZjVlZDkzYTgyNTAxMTJmZjkyZTM0MzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtODMsNiArODMs
NyBAQAogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPHd0Zi9Qcm9jZXNzUHJp
dmlsZWdlLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KKyNpbXBvcnQgPHd0
Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogCiAjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9y
Lmg+CkBAIC0xNzMsNyArMTc0LDcgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxp
emVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmEKICNlbmRpZgog
CiAgICAgV2ViQ29yZTo6c2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKHBhcmFtZXRlcnMu
dWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcik7Ci0gICAgV2ViQ29yZTo6c2V0QXBwbGljYXRpb25T
REtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CisgICAgc2V0QXBwbGlj
YXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CiAKICAgICBt
X3VpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXIgPSBwYXJhbWV0ZXJzLnVpUHJvY2Vzc0J1bmRsZUlk
ZW50aWZpZXI7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393526</attachid>
            <date>2020-03-13 13:58:47 -0700</date>
            <delta_ts>2020-03-13 14:15:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209030-20200313135847.patch</filename>
            <type>text/plain</type>
            <size>22354</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MDEyNzAxNjkxYjEyOTk4ZGNkM2UyMDg3MjIxMWU5MDg5NjIzZmY3Li43NTI3MWNmOTk1MGU5N2Y0
YTM5MGQ0YTg0ZWJkMjJmY2FmYmJmZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBk
b3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIGdpdmVzIHlv
dSB0aGUgd3JvbmcgYW5zd2VyIGluIHRoZSBXZWIgUHJvY2VzcyAob3IgYXQgbGVhc3QKKyAgICAg
ICAgbm90IHRoZSBhbnN3ZXIgeW91IGFjdHVhbGx5IHdhbnQpLiBUaGVyZSBhcmUgYWxyZWFkeSBm
YWNpbGl0aWVzIGZvciB0aGUgVUkgUHJvY2VzcyB0byB0ZWxsCisgICAgICAgIHRoZSBXZWIgUHJv
Y2VzcyB3aGF0IHRoZSByZWFsIHZhbHVlIGlzLCBidXQgdGhvc2UgZnVuY3Rpb25zIGFyZSBjdXJy
ZW50bHkgaW4gV2ViQ29yZSwKKyAgICAgICAgd2hpY2ggaXMgaW5hY2Nlc3NpYmxlIHRvIFdURi4g
VGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk2OSB3aGljaCBuZWVkcyB0byBrbm93IHRoaXMg
aW5mb3JtYXRpb24gaW4gV1RGLgorCisgICAgICAgIEkgYWxzbyBmb3VuZCBhIGZldyBwbGFjZXMg
d2hpY2ggd2VyZSBjYWxsaW5nIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBpbiBKYXZh
U2NyaXB0Q29yZQorICAgICAgICBhbmQgV2ViQ29yZSAod2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0
aG9zZSBsaWJyYXJpZXMgZXhpc3QgaW4gdGhlIFdlYiBQcm9jZXNzKSwgYW5kIGhhdmUgZml4ZWQK
KyAgICAgICAgdGhlbSB1cCB0byB1c2UgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgaW5zdGVhZC4K
KworICAgICAgICAqIEFQSS9KU1dyYXBwZXJNYXAubW06CisgICAgICAgIChzdXBwb3J0c0luaXRN
ZXRob2RDb25zdHJ1Y3RvcnMpOgorCiAyMDIwLTAzLTEzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBCb3VuZCBmdW5jdGlvbnMgc2hvdWxkIHBhc3Mg
Y29ycmVjdCBOZXdUYXJnZXQgdmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWM4MTAxMmJlMWRmZmIyZjRhODk5NjEwZmUw
ZjNmZjc0NWI5OTc3YS4uNjE2NjU4YzFmYmExY2UyYTQ0YzQxYmI4NTc0ODc5Y2U3ODQ1OWU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1Zl
cnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogd3RmL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDogQWRkZWQuCisgICAgICAgICogd3Rm
L2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg6IEFkZGVkLgorICAgICAgICAo
V1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSk6CisgICAgICAgIChXVEY6OnNldEFw
cGxpY2F0aW9uU0RLVmVyc2lvbik6CisgICAgICAgIChXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lv
bik6CisKIDIwMjAtMDMtMTEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRvcHQgQVZTYW1wbGVCdWZmZXJWaWRlb091dHB1dApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAzZWY2
MjdlZDBhYmM2Y2I1YmM1MWE1MDI2MmMwZGZiYTkxNWI3ODkuLjFhMmEyZGQwNmI3ODk5NDQxY2Uw
YjU3ZDViZDY5MTQxNTg1MmU2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0w
My0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBp
bnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVx
dWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjayBjb25zdCk6CisgICAgICAgICogbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI6Om1ha2VDcm9zc09yaWdpbkFjY2Vzc1JlcXVlc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAqIHBsYXRm
b3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFN1cHByZXNzVGhyZWFkU2Fm
ZXR5Q2hlY2spOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0QXBwbGljYXRpb25TREtWZXJz
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbik6
IERlbGV0ZWQuCisKIDIwMjAtMDMtMTMgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByZW5kZXJX
aWRnZXRDaGlsZHJlbl0gZG9lcyBub3QgbmVlZCB0byBydW4gb24gbWFpbiB0aHJlYWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGYwYTA2ZjhkZTRiNTM3ODQxMGM1ODVlNWYyNjg1MTc2OWZlM2RjNGEuLjc0MjIwZjhl
ODYzZDI2ZmY3YTZlNjQ0NTBlMzRiZTU0MGQyYWJlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjAtMDMtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4K
KworICAgICAgICBbQ29jb2FdIFB1c2ggYXBwbGljYXRpb25TREtWZXJzaW9uKCkgZG93biBmcm9t
IFdlYkNvcmUgaW50byBXVEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTAzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdv
cmtQcm9jZXNzQ29jb2EpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJ
RW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOgorCiAyMDIwLTAzLTEzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSB1bnVzZWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlciBNYWdu
aWZ5IG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFw
cGVyTWFwLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KaW5k
ZXggNzIwYmIxYmMzNDcxNTZiYjQ2M2M2ZTg1MzNhNzlmNzQ5MWM1NTMwYi4uMzllYmI3YzlkNTE4
M2E2YjUyNjdjYzRjNWY2NzM0MTY1MjNhMTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1dyYXBwZXJNYXAubW0KQEAgLTQwLDcgKzQwLDEwIEBACiAjaW1wb3J0ICJXZWFrR0NNYXAu
aCIKICNpbXBvcnQgIldlYWtHQ01hcElubGluZXMuaCIKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4K
LSNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworI2lmIFBMQVRGT1JNKENPQ09B
KQorI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+Cisj
ZW5kaWYKIAogI2luY2x1ZGUgPG1hY2gtby9keWxkLmg+CiAKQEAgLTcyMCw3ICs3MjMsNyBAQCBi
b29sIHN1cHBvcnRzSW5pdE1ldGhvZENvbnN0cnVjdG9ycygpCiAgICAgLy8gYmFzZSBvdXIgY2hl
Y2sgb24gd2hhdCBTREsgd2FzIHVzZWQgdG8gYnVpbGQgdGhlIGFwcGxpY2F0aW9uLgogICAgIHN0
YXRpYyB1aW50MzJfdCBwcm9ncmFtU0RLVmVyc2lvbiA9IDA7CiAgICAgaWYgKCFwcm9ncmFtU0RL
VmVyc2lvbikKLSAgICAgICAgcHJvZ3JhbVNES1ZlcnNpb24gPSBkeWxkX2dldF9wcm9ncmFtX3Nk
a192ZXJzaW9uKCk7CisgICAgICAgIHByb2dyYW1TREtWZXJzaW9uID0gYXBwbGljYXRpb25TREtW
ZXJzaW9uKCk7CiAKICAgICByZXR1cm4gcHJvZ3JhbVNES1ZlcnNpb24gPj0gZmlyc3RTREtWZXJz
aW9uV2l0aEluaXRDb25zdHJ1Y3RvclN1cHBvcnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVlMzViMDIxNTlkOTc2ZmJjMzczMzJhMjljNTA5
ODlhMThiNzg2YWQuLmJhMjVlOTM0YTExNjIxZDM4ODg1YzUwODA3YmNhYTg5N2MyOWE4OGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjEsNiArNjEsNyBA
QAogCQkxQzE4MUM5MzFEMzA3QUI4MDBGNUZBMTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzhEMUQz
MDdBQjgwMEY1RkExNiAvKiBVVGV4dFByb3ZpZGVyVVRGMTYuY3BwICovOyB9OwogCQkxQzE4MUM5
NjFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzk1
MUQzMDgwMEEwMEY1RkExNiAvKiBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3Bw
ICovOyB9OwogCQkxQzUwM0JFNjIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNTAzQkU1MjNB
QUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tICovOyB9OworCQkxQ0E4NUNBOTI0MUIw
QjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBODVDQTgyNDFCMEIyNjAw
NzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCAqLzsgfTsKIAkJMUZB
NDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZBNDdDODgxNTI1MDJEQTAwNTY4RDFC
IC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9OwogCQkyQ0NEODkyQTE1QzAzOTAyMDAyODUwODMg
LyogR3JlZ29yaWFuRGF0ZVRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkNDRDg5MjkxNUMwMzkwMjAwMjg1MDgzIC8qIEdyZWdvcmlhbkRhdGVU
aW1lLmNwcCAqLzsgfTsKIAkJMkNERUQwRUYxODExNUMzODAwNERCQTcwIC8qIFJ1bkxvb3BDRi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0RFRDBF
RTE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCAqLzsgfTsKQEAgLTM0NCw2ICszNDUs
OCBAQAogCQkxQzE4MUM5NTFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRl
cm5hbElDVUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRl
eHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDNTAzQkU0MjNBQURFRUEwMDcyRTY2QiAvKiBOU0xvY2FsZVNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOU0xvY2FsZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzUwM0JFNTIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IExhbmd1YWdlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDQTg1Q0E3MjQxQjBCMTEwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2Nv
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQ0NEQjE0OTFFNTY2NjI2MDA2QzczQzAgLyogVGV4dEJyZWFrSXRlcmF0b3JDRi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckNGLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQ0RCMTREMUU1NjY4OTgwMDZDNzNDMCAvKiBUZXh0
QnJlYWtJdGVyYXRvcklDVS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0
QnJlYWtJdGVyYXRvcklDVS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE1
MTFFNTY2QkM1MDA2QzczQzAgLyogQ0ZTdHJpbmdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ0ZTdHJpbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE1MTYsNiArMTUxOSw4IEBACiAJCQkJNUNDMEVFODcyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJM
RXh0cmFzLmggKi8sCiAJCQkJNUNDMEVFODgyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFz
Lm1tICovLAogCQkJCUUzOTJGQTI2MjJFOTJCRkYwMEVDREM3MyAvKiBSZXNvdXJjZVVzYWdlQ29j
b2EuY3BwICovLAorCQkJCTFDQTg1Q0E4MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGlj
YXRpb25DaGVja3NDb2NvYS5jcHAgKi8sCisJCQkJMUNBODVDQTcyNDFCMEIxMTAwNzFDMkY1IC8q
IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmggKi8sCiAJCQkJQTMwRDQxMkMxRjBERTBC
QTAwQjcxOTU0IC8qIFNvZnRMaW5raW5nLmggKi8sCiAJCQkJRUI2MUVEQzYyNDA5Q0NDMDAwMUVG
RTM2IC8qIFN5c3RlbVRyYWNpbmdDb2NvYS5jcHAgKi8sCiAJCQkJNUNDMEVFODYyMTYyQkMyMjAw
QTFBODQyIC8qIFVSTENvY29hLm1tICovLApAQCAtMTY5OSw2ICsxNzA0LDcgQEAKIAkJCQkyQ0RF
RDBGMzE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
Q0RFRDBFRjE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUEzRUU1QzNFMjFGRkFDN0QwMEZBQkQ2MSAvKiBSdW5Mb29wVGltZXJDRi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxQ0E4NUNBOTI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNFRTVDM0QyMUZGQUM3RDAw
RkFCRDYxIC8qIFNjaGVkdWxlUGFpckNGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzRUU1QzQw
MjFGRkFDQTIwMEZBQkQ2MSAvKiBTY2hlZHVsZVBhaXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkwRjY2QjI4RTFEQzk3QkFCMDA0QTFEM0YgLyogU2Vjb25kcy5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggNmQ1ODMxMGRkMjA3ZmJhY2U1MzM3Y2UzZmNh
ZmRiNmI5MGIzZjY5ZS4uNmU4NjMzMmNlMjNmZjJlMzNmYzE2MzY2NTI3MzJkODA1OWY2ZGVkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTE2LDYgKzE2LDcgQEAgbGlzdChBUFBFTkQg
V1RGX1BVQkxJQ19IRUFERVJTCiAgICAgY29jb2EvQ3Jhc2hSZXBvcnRlci5oCiAgICAgY29jb2Ev
RW50aXRsZW1lbnRzLmgKICAgICBjb2NvYS9OU1VSTEV4dHJhcy5oCisgICAgY29jb2EvUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaAogICAgIGNvY29hL1NvZnRMaW5raW5nLmgKIAogICAg
IGRhcndpbi9XZWFrTGlua2luZy5oCkBAIC02NSw2ICs2Niw3IEBAIGxpc3QoQVBQRU5EIFdURl9T
T1VSQ0VTCiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KICAgICBjb2Nv
YS9OU1VSTEV4dHJhcy5tbQogICAgIGNvY29hL1Jlc291cmNlVXNhZ2VDb2NvYS5jcHAKKyAgICBj
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAKICAgICBjb2NvYS9TeXN0ZW1U
cmFjaW5nQ29jb2EuY3BwCiAgICAgY29jb2EvVVJMQ29jb2EubW0KICAgICBjb2NvYS9Xb3JrUXVl
dWVDb2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWJjYjA2YmVhNjQwMGJjNWRmNDgx
MGIwM2I2MjdkNGI4ZTRkZjg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29j
b2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvY29jb2Ev
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KKworI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV1RGIHsK
Kworc3RhdGljIE9wdGlvbmFsPHVpbnQzMl90PiYgYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJp
ZGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25hbDx1aW50MzJfdD4+IHZl
cnNpb247CisgICAgcmV0dXJuIHZlcnNpb247Cit9CisKK3ZvaWQgc2V0QXBwbGljYXRpb25TREtW
ZXJzaW9uKHVpbnQzMl90IHZlcnNpb24pCit7CisgICAgYXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUoKSA9IHZlcnNpb247Cit9CisKK3VpbnQzMl90IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigp
Cit7CisgICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkpCisgICAgICAgIHJl
dHVybiAqYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKTsKKyAgICByZXR1cm4gZHlsZF9n
ZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oIGIvU291cmNlL1dURi93
dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OGYx
YmU4MmY4MjQxZTNkNzg3MTM5OTJlZTZlNDZiMmI0NjE1MjYzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dURi93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApAQCAt
MCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKworLy8gVGhpcyBjb250YWlucyB0aGUgdmFsdWVzIHdpdGggd2hpY2ggdG8gY29t
cGFyZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpLgorI2luY2x1
ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKy8vIGR5
bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBnaXZlcyB5b3UgdGhlIHdyb25nIGFuc3dlciBp
biBhbnkgcHJvY2VzcyBvdGhlciB0aGFuIHRoZSBVSSBwcm9jZXNzLgorLy8gVGhlc2UgZnVuY3Rp
b25zIGFyZSBob29rZWQgdXAgdG8gZ2l2ZSB5b3UgdGhlIHJpZ2h0IGFuc3dlci4KK1dURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCk7CitXVEZf
RVhQT1JUX1BSSVZBVEUgdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCk7CisKK30KKwor
dXNpbmcgV1RGOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb247Cit1c2luZyBXVEY6OmFwcGxpY2F0
aW9uU0RLVmVyc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVj
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAK
aW5kZXggOTg1ZWRiNTNhYjEzNTQ0ZTQyOWQ5ZGNlNmU0Mzk4NDk4YWU2MDE1OC4uZDE5NTc0MTE3
ODJiYWY5YTg3MzBjYWFhMTViNTdkMmY1ZmE5YTEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5jcHAKQEAgLTU0LDcgKzU0LDYgQEAKIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW5jbHVk
ZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDc2
ZTYwNTA4ZWRjMjc1ODc2YWRkMDI4NjI0NzEzZmUwYjEyYTc1YTYuLjI2NjI4MzljNWRlYzRjNmU3
ODkxZGM2NjJjMzMzNTRjOGIxNmRkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcApAQCAtNTQsNyArNTQsNyBAQAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmgiCi0jaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgorI2luY2x1
ZGUgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2VuZGlmCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTczOCw3ICs3MzgsNyBAQCBib29sIE1lZGlhRWxlbWVu
dFNlc3Npb246OnJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKSBjb25zdAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYgKElPU0FwcGxpY2F0aW9uOjppc0lCb29rcygp
KQogICAgICAgICByZXR1cm4gIW1fZWxlbWVudC5oYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKEhUTUxOYW1lczo6d2Via2l0X3BsYXlzaW5saW5lQXR0cikgJiYgIW1fZWxlbWVudC5o
YXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6cGxheXNpbmxpbmVB
dHRyKTsKLSAgICBpZiAoZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIDwgRFlMRF9JT1Nf
VkVSU0lPTl8xMF8wKQorICAgIGlmIChhcHBsaWNhdGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9T
X1ZFUlNJT05fMTBfMCkKICAgICAgICAgcmV0dXJuICFtX2VsZW1lbnQuaGFzQXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OndlYmtpdF9wbGF5c2lubGluZUF0dHIpOwog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlci5jcHAKaW5kZXggOGFmNGQwMjVjZWQzYzc2YTc0YmMzMDEyMzAwNzcwYjFhN2ZiMzNm
NS4uNDVjMzNjNDE5ZDdiMmY3YmMzNDk4ZDc5NjJjZjZkNDU5YWUzYTIwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTUy
LDcgKzUyLDYgQEAKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3Vy
Y2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VUaW1pbmcuaCIKLSNpbmNsdWRlICJSdW50
aW1lQXBwbGljYXRpb25DaGVja3MuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVz
LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpA
QCAtNjQsNyArNjMsNyBAQAogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCi0jaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgorI2luY2x1ZGUg
PHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2VuZGlmCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzLmgKaW5kZXggZmNkMzIwZmFlYzYzYjRmYTI0OTBjODI4MmE0YWE3
ZGUwZDBjMTYyYS4uY2Q2MjAyOTYwMzNlM2VjN2U2ZDU5ZjJjZDY5ZjY1NWEwNGQxOTRiNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
LmgKQEAgLTQzLDkgKzQzLDYgQEAgaW5saW5lIGJvb2wgaXNJbldlYlByb2Nlc3MoKSB7IHJldHVy
biB0cnVlOyB9CiBib29sIGlzSW5XZWJQcm9jZXNzKCk7CiBib29sIGlzSW5OZXR3b3JrUHJvY2Vz
cygpOwogCi1XRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50
MzJfdCk7Ci1XRUJDT1JFX0VYUE9SVCB1aW50MzJfdCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKTsK
LQogV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoY29u
c3QgU3RyaW5nJik7CiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgYXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyKCk7CiBXRUJDT1JFX0VYUE9SVCB2b2lkIGNsZWFyQXBwbGljYXRpb25CdW5kbGVJZGVu
dGlmaWVyVGVzdGluZ092ZXJyaWRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKaW5kZXgg
ODM2M2MxNzlhNGRlNTNhZmZjM2IyMGMzYzAwNDU1ZDRhMmQzZjQxMC4uZTFmNmUyMmEyYTNkZmY2
ODQyNjgxMjVjODM4N2Q5N2ZiZDdlOTIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGltZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcApA
QCAtMzcsNyArMzcsNyBAQAogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFBMQVRGT1JN
KENPQ09BKQotI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKyNpbmNsdWRlIDx3
dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KICNlbmRpZgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tCmluZGV4IDRhMDQ3ZjBj
ZjE1NWY5NzEyODM2ZGRjYTliZDhlYzYzYzc3NzEyMWQuLjkwMTZmYjI0NTgxYmYwNzRjNjA3YWJi
MDZmOGRiZWFkOTMwMDkwNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLm1tCkBAIC03NSwy
NCArNzUsNiBAQCB2b2lkIGNsZWFyQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyVGVzdGluZ092
ZXJyaWRlKCkKICNlbmRpZgogfQogCi1zdGF0aWMgT3B0aW9uYWw8dWludDMyX3Q+JiBhcHBsaWNh
dGlvblNES1ZlcnNpb25PdmVycmlkZSgpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPE9w
dGlvbmFsPHVpbnQzMl90Pj4gdmVyc2lvbjsKLSAgICByZXR1cm4gdmVyc2lvbjsKLX0KLQotdm9p
ZCBzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24odWludDMyX3QgdmVyc2lvbikKLXsKLSAgICBhcHBs
aWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSgpID0gdmVyc2lvbjsKLX0KLQotdWludDMyX3QgYXBw
bGljYXRpb25TREtWZXJzaW9uKCkKLXsKLSAgICBpZiAoYXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUoKSkKLSAgICAgICAgcmV0dXJuICphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSgp
OwotICAgIHJldHVybiBkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCk7Ci19Ci0KIGJvb2wg
aXNJbldlYlByb2Nlc3MoKQogewogICAgIHN0YXRpYyBib29sIG1haW5CdW5kbGVJc1dlYlByb2Nl
c3MgPSBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBoYXNQcmVmaXg6
QCJjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQiXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQppbmRleCA2
NDE2YmNmZTk3YmY0NGEyMzFmMDY5MWM1Y2U5N2ZiYTc5MWRmNTI2Li45YjAyNzg4ZWJmOGM4OWFh
MTBmOTQ5YjkxZmE4MTUyOGQyZWZmYjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCkBAIC00NSw2ICs0
NSw3IEBACiAjaW1wb3J0IDx3dGYvQ2FsbGJhY2tBZ2dyZWdhdG9yLmg+CiAjaW1wb3J0IDx3dGYv
UHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorI2ltcG9ydCA8
d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCkBAIC03MSw3ICs3Miw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVOZXR3b3Jr
U2V0dGluZ3MoKQogdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29y
a1Byb2Nlc3NDb2NvYShjb25zdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFy
YW1ldGVycykKIHsKICAgICBXZWJDb3JlOjpzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIo
cGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyKTsKLSAgICBXZWJDb3JlOjpzZXRB
cHBsaWNhdGlvblNES1ZlcnNpb24ocGFyYW1ldGVycy51aVByb2Nlc3NTREtWZXJzaW9uKTsKKyAg
ICBzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24ocGFyYW1ldGVycy51aVByb2Nlc3NTREtWZXJzaW9u
KTsKIAogI2lmIEhBVkUoSFNUU19TVE9SQUdFX1BBVEgpCiAgICAgaWYgKCFwYXJhbWV0ZXJzLmhz
dHNTdG9yYWdlRGlyZWN0b3J5LmlzTnVsbCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcAppbmRleCBmZjA0NDI0MTc2M2Mz
MGM1MDlmOTgyYTdkMmQ2ZGY2ZjcwN2U5Y2ZmLi42NDhkNzExODQ5NmU2ZTk3NzVlZGUwNDg4NGU2
MmFiNWUwMjY5NmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmF1bHRWYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZl
cmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKQEAgLTI1LDE1ICsyNSwxNCBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmgiCi0jaW5j
bHVkZSA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KIAogI2lmIFBMQVRGT1JN
KENPQ09BKQogI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvRmVhdHVyZUZsYWdzU1BJLmg+Ci0jaW5j
bHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogI2luY2x1ZGUgIlZlcnNpb25DaGVja3MuaCIKKyNpbmNsdWRlIDx3dGYvQ29j
b2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KICNlbmRpZgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKQEAgLTUwLDcgKzQ5LDcgQEAgYm9vbCBkZWZhdWx0UGFzc2l2ZVRvdWNoTGlzdGVu
ZXJzQXNEZWZhdWx0T25Eb2N1bWVudCgpCiBib29sIGRlZmF1bHRDU1NPTVZpZXdTY3JvbGxpbmdB
UElFbmFibGVkKCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmIChXZWJDb3Jl
OjpJT1NBcHBsaWNhdGlvbjo6aXNJTURiKCkgJiYgV2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJz
aW9uKCkgPCBEWUxEX0lPU19WRVJTSU9OXzEzXzApCisgICAgaWYgKFdlYkNvcmU6OklPU0FwcGxp
Y2F0aW9uOjppc0lNRGIoKSAmJiBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9TX1ZF
UlNJT05fMTNfMCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAgICAgcmV0dXJuIHRy
dWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQppbmRleCBhNTVkMTc3MGUwZjZiYTQ4MzBlNjk1NzJjNzA3OGM1ZGIyZGZhYzU4Li4zNDAy
YTk3OWRmYzY2OGVlNGY1ZWQ5M2E4MjUwMTEyZmY5MmUzNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTgzLDYgKzgzLDcg
QEAKICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZp
bGVnZS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL05TVVJMRXh0cmFzLmg+CisjaW1wb3J0IDx3dGYv
Y29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KIAogI2lmIEVOQUJMRShSRU1P
VEVfSU5TUEVDVE9SKQogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5o
PgpAQCAtMTczLDcgKzE3NCw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXpl
V2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhCiAjZW5kaWYKIAog
ICAgIFdlYkNvcmU6OnNldEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihwYXJhbWV0ZXJzLnVp
UHJvY2Vzc0J1bmRsZUlkZW50aWZpZXIpOwotICAgIFdlYkNvcmU6OnNldEFwcGxpY2F0aW9uU0RL
VmVyc2lvbihwYXJhbWV0ZXJzLnVpUHJvY2Vzc1NES1ZlcnNpb24pOworICAgIHNldEFwcGxpY2F0
aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJzLnVpUHJvY2Vzc1NES1ZlcnNpb24pOwogCiAgICAgbV91
aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyID0gcGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVu
dGlmaWVyOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393528</attachid>
            <date>2020-03-13 14:15:32 -0700</date>
            <delta_ts>2020-03-13 14:43:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209030-20200313141531.patch</filename>
            <type>text/plain</type>
            <size>22121</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MDEyNzAxNjkxYjEyOTk4ZGNkM2UyMDg3MjIxMWU5MDg5NjIzZmY3Li43NTI3MWNmOTk1MGU5N2Y0
YTM5MGQ0YTg0ZWJkMjJmY2FmYmJmZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBk
b3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIGdpdmVzIHlv
dSB0aGUgd3JvbmcgYW5zd2VyIGluIHRoZSBXZWIgUHJvY2VzcyAob3IgYXQgbGVhc3QKKyAgICAg
ICAgbm90IHRoZSBhbnN3ZXIgeW91IGFjdHVhbGx5IHdhbnQpLiBUaGVyZSBhcmUgYWxyZWFkeSBm
YWNpbGl0aWVzIGZvciB0aGUgVUkgUHJvY2VzcyB0byB0ZWxsCisgICAgICAgIHRoZSBXZWIgUHJv
Y2VzcyB3aGF0IHRoZSByZWFsIHZhbHVlIGlzLCBidXQgdGhvc2UgZnVuY3Rpb25zIGFyZSBjdXJy
ZW50bHkgaW4gV2ViQ29yZSwKKyAgICAgICAgd2hpY2ggaXMgaW5hY2Nlc3NpYmxlIHRvIFdURi4g
VGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk2OSB3aGljaCBuZWVkcyB0byBrbm93IHRoaXMg
aW5mb3JtYXRpb24gaW4gV1RGLgorCisgICAgICAgIEkgYWxzbyBmb3VuZCBhIGZldyBwbGFjZXMg
d2hpY2ggd2VyZSBjYWxsaW5nIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBpbiBKYXZh
U2NyaXB0Q29yZQorICAgICAgICBhbmQgV2ViQ29yZSAod2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0
aG9zZSBsaWJyYXJpZXMgZXhpc3QgaW4gdGhlIFdlYiBQcm9jZXNzKSwgYW5kIGhhdmUgZml4ZWQK
KyAgICAgICAgdGhlbSB1cCB0byB1c2UgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgaW5zdGVhZC4K
KworICAgICAgICAqIEFQSS9KU1dyYXBwZXJNYXAubW06CisgICAgICAgIChzdXBwb3J0c0luaXRN
ZXRob2RDb25zdHJ1Y3RvcnMpOgorCiAyMDIwLTAzLTEzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBCb3VuZCBmdW5jdGlvbnMgc2hvdWxkIHBhc3Mg
Y29ycmVjdCBOZXdUYXJnZXQgdmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWM4MTAxMmJlMWRmZmIyZjRhODk5NjEwZmUw
ZjNmZjc0NWI5OTc3YS4uNjE2NjU4YzFmYmExY2UyYTQ0YzQxYmI4NTc0ODc5Y2U3ODQ1OWU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1Zl
cnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogd3RmL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDogQWRkZWQuCisgICAgICAgICogd3Rm
L2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg6IEFkZGVkLgorICAgICAgICAo
V1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSk6CisgICAgICAgIChXVEY6OnNldEFw
cGxpY2F0aW9uU0RLVmVyc2lvbik6CisgICAgICAgIChXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lv
bik6CisKIDIwMjAtMDMtMTEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRvcHQgQVZTYW1wbGVCdWZmZXJWaWRlb091dHB1dApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAzZWY2
MjdlZDBhYmM2Y2I1YmM1MWE1MDI2MmMwZGZiYTkxNWI3ODkuLjFhMmEyZGQwNmI3ODk5NDQxY2Uw
YjU3ZDViZDY5MTQxNTg1MmU2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0w
My0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBp
bnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVx
dWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjayBjb25zdCk6CisgICAgICAgICogbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI6Om1ha2VDcm9zc09yaWdpbkFjY2Vzc1JlcXVlc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAqIHBsYXRm
b3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFN1cHByZXNzVGhyZWFkU2Fm
ZXR5Q2hlY2spOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0QXBwbGljYXRpb25TREtWZXJz
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbik6
IERlbGV0ZWQuCisKIDIwMjAtMDMtMTMgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByZW5kZXJX
aWRnZXRDaGlsZHJlbl0gZG9lcyBub3QgbmVlZCB0byBydW4gb24gbWFpbiB0aHJlYWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGYwYTA2ZjhkZTRiNTM3ODQxMGM1ODVlNWYyNjg1MTc2OWZlM2RjNGEuLjc0MjIwZjhl
ODYzZDI2ZmY3YTZlNjQ0NTBlMzRiZTU0MGQyYWJlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjAtMDMtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4K
KworICAgICAgICBbQ29jb2FdIFB1c2ggYXBwbGljYXRpb25TREtWZXJzaW9uKCkgZG93biBmcm9t
IFdlYkNvcmUgaW50byBXVEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTAzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdv
cmtQcm9jZXNzQ29jb2EpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJ
RW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOgorCiAyMDIwLTAzLTEzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSB1bnVzZWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlciBNYWdu
aWZ5IG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFw
cGVyTWFwLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KaW5k
ZXggNzIwYmIxYmMzNDcxNTZiYjQ2M2M2ZTg1MzNhNzlmNzQ5MWM1NTMwYi4uMzllYmI3YzlkNTE4
M2E2YjUyNjdjYzRjNWY2NzM0MTY1MjNhMTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1dyYXBwZXJNYXAubW0KQEAgLTQwLDcgKzQwLDEwIEBACiAjaW1wb3J0ICJXZWFrR0NNYXAu
aCIKICNpbXBvcnQgIldlYWtHQ01hcElubGluZXMuaCIKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4K
LSNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworI2lmIFBMQVRGT1JNKENPQ09B
KQorI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+Cisj
ZW5kaWYKIAogI2luY2x1ZGUgPG1hY2gtby9keWxkLmg+CiAKQEAgLTcyMCw3ICs3MjMsNyBAQCBi
b29sIHN1cHBvcnRzSW5pdE1ldGhvZENvbnN0cnVjdG9ycygpCiAgICAgLy8gYmFzZSBvdXIgY2hl
Y2sgb24gd2hhdCBTREsgd2FzIHVzZWQgdG8gYnVpbGQgdGhlIGFwcGxpY2F0aW9uLgogICAgIHN0
YXRpYyB1aW50MzJfdCBwcm9ncmFtU0RLVmVyc2lvbiA9IDA7CiAgICAgaWYgKCFwcm9ncmFtU0RL
VmVyc2lvbikKLSAgICAgICAgcHJvZ3JhbVNES1ZlcnNpb24gPSBkeWxkX2dldF9wcm9ncmFtX3Nk
a192ZXJzaW9uKCk7CisgICAgICAgIHByb2dyYW1TREtWZXJzaW9uID0gYXBwbGljYXRpb25TREtW
ZXJzaW9uKCk7CiAKICAgICByZXR1cm4gcHJvZ3JhbVNES1ZlcnNpb24gPj0gZmlyc3RTREtWZXJz
aW9uV2l0aEluaXRDb25zdHJ1Y3RvclN1cHBvcnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVlMzViMDIxNTlkOTc2ZmJjMzczMzJhMjljNTA5
ODlhMThiNzg2YWQuLmJhMjVlOTM0YTExNjIxZDM4ODg1YzUwODA3YmNhYTg5N2MyOWE4OGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjEsNiArNjEsNyBA
QAogCQkxQzE4MUM5MzFEMzA3QUI4MDBGNUZBMTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzhEMUQz
MDdBQjgwMEY1RkExNiAvKiBVVGV4dFByb3ZpZGVyVVRGMTYuY3BwICovOyB9OwogCQkxQzE4MUM5
NjFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzk1
MUQzMDgwMEEwMEY1RkExNiAvKiBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3Bw
ICovOyB9OwogCQkxQzUwM0JFNjIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNTAzQkU1MjNB
QUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tICovOyB9OworCQkxQ0E4NUNBOTI0MUIw
QjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBODVDQTgyNDFCMEIyNjAw
NzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCAqLzsgfTsKIAkJMUZB
NDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZBNDdDODgxNTI1MDJEQTAwNTY4RDFC
IC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9OwogCQkyQ0NEODkyQTE1QzAzOTAyMDAyODUwODMg
LyogR3JlZ29yaWFuRGF0ZVRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkNDRDg5MjkxNUMwMzkwMjAwMjg1MDgzIC8qIEdyZWdvcmlhbkRhdGVU
aW1lLmNwcCAqLzsgfTsKIAkJMkNERUQwRUYxODExNUMzODAwNERCQTcwIC8qIFJ1bkxvb3BDRi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0RFRDBF
RTE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCAqLzsgfTsKQEAgLTM0NCw2ICszNDUs
OCBAQAogCQkxQzE4MUM5NTFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRl
cm5hbElDVUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRl
eHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDNTAzQkU0MjNBQURFRUEwMDcyRTY2QiAvKiBOU0xvY2FsZVNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOU0xvY2FsZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzUwM0JFNTIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IExhbmd1YWdlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDQTg1Q0E3MjQxQjBCMTEwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2Nv
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQ0NEQjE0OTFFNTY2NjI2MDA2QzczQzAgLyogVGV4dEJyZWFrSXRlcmF0b3JDRi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckNGLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQ0RCMTREMUU1NjY4OTgwMDZDNzNDMCAvKiBUZXh0
QnJlYWtJdGVyYXRvcklDVS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0
QnJlYWtJdGVyYXRvcklDVS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE1
MTFFNTY2QkM1MDA2QzczQzAgLyogQ0ZTdHJpbmdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ0ZTdHJpbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE1MTYsNiArMTUxOSw4IEBACiAJCQkJNUNDMEVFODcyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJM
RXh0cmFzLmggKi8sCiAJCQkJNUNDMEVFODgyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFz
Lm1tICovLAogCQkJCUUzOTJGQTI2MjJFOTJCRkYwMEVDREM3MyAvKiBSZXNvdXJjZVVzYWdlQ29j
b2EuY3BwICovLAorCQkJCTFDQTg1Q0E4MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGlj
YXRpb25DaGVja3NDb2NvYS5jcHAgKi8sCisJCQkJMUNBODVDQTcyNDFCMEIxMTAwNzFDMkY1IC8q
IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmggKi8sCiAJCQkJQTMwRDQxMkMxRjBERTBC
QTAwQjcxOTU0IC8qIFNvZnRMaW5raW5nLmggKi8sCiAJCQkJRUI2MUVEQzYyNDA5Q0NDMDAwMUVG
RTM2IC8qIFN5c3RlbVRyYWNpbmdDb2NvYS5jcHAgKi8sCiAJCQkJNUNDMEVFODYyMTYyQkMyMjAw
QTFBODQyIC8qIFVSTENvY29hLm1tICovLApAQCAtMTY5OSw2ICsxNzA0LDcgQEAKIAkJCQkyQ0RF
RDBGMzE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
Q0RFRDBFRjE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUEzRUU1QzNFMjFGRkFDN0QwMEZBQkQ2MSAvKiBSdW5Mb29wVGltZXJDRi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxQ0E4NUNBOTI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNFRTVDM0QyMUZGQUM3RDAw
RkFCRDYxIC8qIFNjaGVkdWxlUGFpckNGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzRUU1QzQw
MjFGRkFDQTIwMEZBQkQ2MSAvKiBTY2hlZHVsZVBhaXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkwRjY2QjI4RTFEQzk3QkFCMDA0QTFEM0YgLyogU2Vjb25kcy5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggNmQ1ODMxMGRkMjA3ZmJhY2U1MzM3Y2UzZmNh
ZmRiNmI5MGIzZjY5ZS4uNmU4NjMzMmNlMjNmZjJlMzNmYzE2MzY2NTI3MzJkODA1OWY2ZGVkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTE2LDYgKzE2LDcgQEAgbGlzdChBUFBFTkQg
V1RGX1BVQkxJQ19IRUFERVJTCiAgICAgY29jb2EvQ3Jhc2hSZXBvcnRlci5oCiAgICAgY29jb2Ev
RW50aXRsZW1lbnRzLmgKICAgICBjb2NvYS9OU1VSTEV4dHJhcy5oCisgICAgY29jb2EvUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaAogICAgIGNvY29hL1NvZnRMaW5raW5nLmgKIAogICAg
IGRhcndpbi9XZWFrTGlua2luZy5oCkBAIC02NSw2ICs2Niw3IEBAIGxpc3QoQVBQRU5EIFdURl9T
T1VSQ0VTCiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KICAgICBjb2Nv
YS9OU1VSTEV4dHJhcy5tbQogICAgIGNvY29hL1Jlc291cmNlVXNhZ2VDb2NvYS5jcHAKKyAgICBj
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAKICAgICBjb2NvYS9TeXN0ZW1U
cmFjaW5nQ29jb2EuY3BwCiAgICAgY29jb2EvVVJMQ29jb2EubW0KICAgICBjb2NvYS9Xb3JrUXVl
dWVDb2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWJjYjA2YmVhNjQwMGJjNWRmNDgx
MGIwM2I2MjdkNGI4ZTRkZjg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29j
b2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvY29jb2Ev
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KKworI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV1RGIHsK
Kworc3RhdGljIE9wdGlvbmFsPHVpbnQzMl90PiYgYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJp
ZGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25hbDx1aW50MzJfdD4+IHZl
cnNpb247CisgICAgcmV0dXJuIHZlcnNpb247Cit9CisKK3ZvaWQgc2V0QXBwbGljYXRpb25TREtW
ZXJzaW9uKHVpbnQzMl90IHZlcnNpb24pCit7CisgICAgYXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUoKSA9IHZlcnNpb247Cit9CisKK3VpbnQzMl90IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigp
Cit7CisgICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkpCisgICAgICAgIHJl
dHVybiAqYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKTsKKyAgICByZXR1cm4gZHlsZF9n
ZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oIGIvU291cmNlL1dURi93
dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OGYx
YmU4MmY4MjQxZTNkNzg3MTM5OTJlZTZlNDZiMmI0NjE1MjYzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dURi93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApAQCAt
MCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKworLy8gVGhpcyBjb250YWlucyB0aGUgdmFsdWVzIHdpdGggd2hpY2ggdG8gY29t
cGFyZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpLgorI2luY2x1
ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKy8vIGR5
bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBnaXZlcyB5b3UgdGhlIHdyb25nIGFuc3dlciBp
biBhbnkgcHJvY2VzcyBvdGhlciB0aGFuIHRoZSBVSSBwcm9jZXNzLgorLy8gVGhlc2UgZnVuY3Rp
b25zIGFyZSBob29rZWQgdXAgdG8gZ2l2ZSB5b3UgdGhlIHJpZ2h0IGFuc3dlci4KK1dURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCk7CitXVEZf
RVhQT1JUX1BSSVZBVEUgdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCk7CisKK30KKwor
dXNpbmcgV1RGOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb247Cit1c2luZyBXVEY6OmFwcGxpY2F0
aW9uU0RLVmVyc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVj
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAK
aW5kZXggOTg1ZWRiNTNhYjEzNTQ0ZTQyOWQ5ZGNlNmU0Mzk4NDk4YWU2MDE1OC4uZDE5NTc0MTE3
ODJiYWY5YTg3MzBjYWFhMTViNTdkMmY1ZmE5YTEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5jcHAKQEAgLTU0LDcgKzU0LDYgQEAKIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW5jbHVk
ZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDc2
ZTYwNTA4ZWRjMjc1ODc2YWRkMDI4NjI0NzEzZmUwYjEyYTc1YTYuLjI2NjI4MzljNWRlYzRjNmU3
ODkxZGM2NjJjMzMzNTRjOGIxNmRkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcApAQCAtNTQsNyArNTQsNyBAQAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmgiCi0jaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgorI2luY2x1
ZGUgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2VuZGlmCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTczOCw3ICs3MzgsNyBAQCBib29sIE1lZGlhRWxlbWVu
dFNlc3Npb246OnJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKSBjb25zdAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYgKElPU0FwcGxpY2F0aW9uOjppc0lCb29rcygp
KQogICAgICAgICByZXR1cm4gIW1fZWxlbWVudC5oYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKEhUTUxOYW1lczo6d2Via2l0X3BsYXlzaW5saW5lQXR0cikgJiYgIW1fZWxlbWVudC5o
YXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6cGxheXNpbmxpbmVB
dHRyKTsKLSAgICBpZiAoZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIDwgRFlMRF9JT1Nf
VkVSU0lPTl8xMF8wKQorICAgIGlmIChhcHBsaWNhdGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9T
X1ZFUlNJT05fMTBfMCkKICAgICAgICAgcmV0dXJuICFtX2VsZW1lbnQuaGFzQXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OndlYmtpdF9wbGF5c2lubGluZUF0dHIpOwog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlci5jcHAKaW5kZXggOGFmNGQwMjVjZWQzYzc2YTc0YmMzMDEyMzAwNzcwYjFhN2ZiMzNm
NS4uNDZhMmU3NWU4MDY0NzZhNDUwMWMxODk1MDFmNTQxNDRlZDUxZWFmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTY0
LDcgKzY0LDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQotI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKyNpbmNsdWRlIDx3dGYv
Y29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KICNlbmRpZgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oCmluZGV4IGZjZDMyMGZhZWM2M2I0ZmEyNDkwYzgyODJhNGFhN2RlMGQw
YzE2MmEuLmNkNjIwMjk2MDMzZTNlYzdlNmQ1OWYyY2Q2OWY2NTVhMDRkMTk0YjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCkBA
IC00Myw5ICs0Myw2IEBAIGlubGluZSBib29sIGlzSW5XZWJQcm9jZXNzKCkgeyByZXR1cm4gdHJ1
ZTsgfQogYm9vbCBpc0luV2ViUHJvY2VzcygpOwogYm9vbCBpc0luTmV0d29ya1Byb2Nlc3MoKTsK
IAotV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24odWludDMyX3Qp
OwotV0VCQ09SRV9FWFBPUlQgdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCk7Ci0KIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKGNvbnN0IFN0
cmluZyYpOwogV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
cigpOwogV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhckFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
clRlc3RpbmdPdmVycmlkZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCmluZGV4IDgzNjNj
MTc5YTRkZTUzYWZmYzNiMjBjM2MwMDQ1NWQ0YTJkM2Y0MTAuLmUxZjZlMjJhMmEzZGZmNjg0MjY4
MTI1YzgzODdkOTdmYmQ3ZTkyMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKQEAgLTM3
LDcgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShDT0NP
QSkKLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CisjaW5jbHVkZSA8d3RmL2Nv
Y29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQppbmRleCA0YTA0N2YwY2YxNTVm
OTcxMjgzNmRkY2E5YmQ4ZWM2M2M3NzcxMjFkLi45MDE2ZmIyNDU4MWJmMDc0YzYwN2FiYjA2Zjhk
YmVhZDkzMDA5MDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQpAQCAtNzUsMjQgKzc1
LDYgQEAgdm9pZCBjbGVhckFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllclRlc3RpbmdPdmVycmlk
ZSgpCiAjZW5kaWYKIH0KIAotc3RhdGljIE9wdGlvbmFsPHVpbnQzMl90PiYgYXBwbGljYXRpb25T
REtWZXJzaW9uT3ZlcnJpZGUoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25h
bDx1aW50MzJfdD4+IHZlcnNpb247Ci0gICAgcmV0dXJuIHZlcnNpb247Ci19Ci0KLXZvaWQgc2V0
QXBwbGljYXRpb25TREtWZXJzaW9uKHVpbnQzMl90IHZlcnNpb24pCi17Ci0gICAgYXBwbGljYXRp
b25TREtWZXJzaW9uT3ZlcnJpZGUoKSA9IHZlcnNpb247Ci19Ci0KLXVpbnQzMl90IGFwcGxpY2F0
aW9uU0RLVmVyc2lvbigpCi17Ci0gICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRl
KCkpCi0gICAgICAgIHJldHVybiAqYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKTsKLSAg
ICByZXR1cm4gZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOwotfQotCiBib29sIGlzSW5X
ZWJQcm9jZXNzKCkKIHsKICAgICBzdGF0aWMgYm9vbCBtYWluQnVuZGxlSXNXZWJQcm9jZXNzID0g
W1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gaGFzUHJlZml4OkAiY29t
LmFwcGxlLldlYktpdC5XZWJDb250ZW50Il07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KaW5kZXggNjQxNmJj
ZmU5N2JmNDRhMjMxZjA2OTFjNWNlOTdmYmE3OTFkZjUyNi4uOWIwMjc4OGViZjhjODlhYTEwZjk0
OWI5MWZhODE1MjhkMmVmZmIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQpAQCAtNDUsNiArNDUsNyBA
QAogI2ltcG9ydCA8d3RmL0NhbGxiYWNrQWdncmVnYXRvci5oPgogI2ltcG9ydCA8d3RmL1Byb2Nl
c3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApAQCAtNzEsNyArNzIsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplTmV0d29ya1NldHRp
bmdzKCkKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9j
ZXNzQ29jb2EoY29uc3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRl
cnMpCiB7CiAgICAgV2ViQ29yZTo6c2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKHBhcmFt
ZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcik7Ci0gICAgV2ViQ29yZTo6c2V0QXBwbGlj
YXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CisgICAgc2V0
QXBwbGljYXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CiAK
ICNpZiBIQVZFKEhTVFNfU1RPUkFHRV9QQVRIKQogICAgIGlmICghcGFyYW1ldGVycy5oc3RzU3Rv
cmFnZURpcmVjdG9yeS5pc051bGwoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKaW5kZXggZmYwNDQyNDE3NjNjMzBjNTA5
Zjk4MmE3ZDJkNmRmNmY3MDdlOWNmZi4uNjQ4ZDcxMTg0OTZlNmU5Nzc1ZWRlMDQ4ODRlNjJhYjVl
MDI2OTZkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuY3BwCkBAIC0yNSwxNSArMjUsMTQgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIgotI2luY2x1ZGUg
PFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0ZlYXR1cmVGbGFnc1NQSS5oPgotI2luY2x1ZGUg
PHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICNpbmNsdWRlICJWZXJzaW9uQ2hlY2tzLmgiCisjaW5jbHVkZSA8d3RmL0NvY29hL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC01MCw3ICs0OSw3IEBAIGJvb2wgZGVmYXVsdFBhc3NpdmVUb3VjaExpc3RlbmVyc0Fz
RGVmYXVsdE9uRG9jdW1lbnQoKQogYm9vbCBkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5h
YmxlZCgpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBpZiAoV2ViQ29yZTo6SU9T
QXBwbGljYXRpb246OmlzSU1EYigpICYmIFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbigp
IDwgRFlMRF9JT1NfVkVSU0lPTl8xM18wKQorICAgIGlmIChXZWJDb3JlOjpJT1NBcHBsaWNhdGlv
bjo6aXNJTURiKCkgJiYgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgPCBEWUxEX0lPU19WRVJTSU9O
XzEzXzApCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogICAgIHJldHVybiB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
aW5kZXggYTU1ZDE3NzBlMGY2YmE0ODMwZTY5NTcyYzcwNzhjNWRiMmRmYWM1OC4uMzQwMmE5Nzlk
ZmM2NjhlZTRmNWVkOTNhODI1MDExMmZmOTJlMzQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC04Myw2ICs4Myw3IEBACiAj
aW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2Uu
aD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgorI2ltcG9ydCA8d3RmL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lO
U1BFQ1RPUikKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KQEAg
LTE3Myw3ICsxNzQsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlBy
b2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogI2VuZGlmCiAKICAgICBX
ZWJDb3JlOjpzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIocGFyYW1ldGVycy51aVByb2Nl
c3NCdW5kbGVJZGVudGlmaWVyKTsKLSAgICBXZWJDb3JlOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNp
b24ocGFyYW1ldGVycy51aVByb2Nlc3NTREtWZXJzaW9uKTsKKyAgICBzZXRBcHBsaWNhdGlvblNE
S1ZlcnNpb24ocGFyYW1ldGVycy51aVByb2Nlc3NTREtWZXJzaW9uKTsKIAogICAgIG1fdWlQcm9j
ZXNzQnVuZGxlSWRlbnRpZmllciA9IHBhcmFtZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmll
cjsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393532</attachid>
            <date>2020-03-13 14:43:21 -0700</date>
            <delta_ts>2020-03-13 14:53:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209030-20200313144320.patch</filename>
            <type>text/plain</type>
            <size>22121</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MDEyNzAxNjkxYjEyOTk4ZGNkM2UyMDg3MjIxMWU5MDg5NjIzZmY3Li43NTI3MWNmOTk1MGU5N2Y0
YTM5MGQ0YTg0ZWJkMjJmY2FmYmJmZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBk
b3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIGdpdmVzIHlv
dSB0aGUgd3JvbmcgYW5zd2VyIGluIHRoZSBXZWIgUHJvY2VzcyAob3IgYXQgbGVhc3QKKyAgICAg
ICAgbm90IHRoZSBhbnN3ZXIgeW91IGFjdHVhbGx5IHdhbnQpLiBUaGVyZSBhcmUgYWxyZWFkeSBm
YWNpbGl0aWVzIGZvciB0aGUgVUkgUHJvY2VzcyB0byB0ZWxsCisgICAgICAgIHRoZSBXZWIgUHJv
Y2VzcyB3aGF0IHRoZSByZWFsIHZhbHVlIGlzLCBidXQgdGhvc2UgZnVuY3Rpb25zIGFyZSBjdXJy
ZW50bHkgaW4gV2ViQ29yZSwKKyAgICAgICAgd2hpY2ggaXMgaW5hY2Nlc3NpYmxlIHRvIFdURi4g
VGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk2OSB3aGljaCBuZWVkcyB0byBrbm93IHRoaXMg
aW5mb3JtYXRpb24gaW4gV1RGLgorCisgICAgICAgIEkgYWxzbyBmb3VuZCBhIGZldyBwbGFjZXMg
d2hpY2ggd2VyZSBjYWxsaW5nIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBpbiBKYXZh
U2NyaXB0Q29yZQorICAgICAgICBhbmQgV2ViQ29yZSAod2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0
aG9zZSBsaWJyYXJpZXMgZXhpc3QgaW4gdGhlIFdlYiBQcm9jZXNzKSwgYW5kIGhhdmUgZml4ZWQK
KyAgICAgICAgdGhlbSB1cCB0byB1c2UgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgaW5zdGVhZC4K
KworICAgICAgICAqIEFQSS9KU1dyYXBwZXJNYXAubW06CisgICAgICAgIChzdXBwb3J0c0luaXRN
ZXRob2RDb25zdHJ1Y3RvcnMpOgorCiAyMDIwLTAzLTEzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBCb3VuZCBmdW5jdGlvbnMgc2hvdWxkIHBhc3Mg
Y29ycmVjdCBOZXdUYXJnZXQgdmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWM4MTAxMmJlMWRmZmIyZjRhODk5NjEwZmUw
ZjNmZjc0NWI5OTc3YS4uNjE2NjU4YzFmYmExY2UyYTQ0YzQxYmI4NTc0ODc5Y2U3ODQ1OWU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1Zl
cnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogd3RmL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDogQWRkZWQuCisgICAgICAgICogd3Rm
L2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg6IEFkZGVkLgorICAgICAgICAo
V1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSk6CisgICAgICAgIChXVEY6OnNldEFw
cGxpY2F0aW9uU0RLVmVyc2lvbik6CisgICAgICAgIChXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lv
bik6CisKIDIwMjAtMDMtMTEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRvcHQgQVZTYW1wbGVCdWZmZXJWaWRlb091dHB1dApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAzZWY2
MjdlZDBhYmM2Y2I1YmM1MWE1MDI2MmMwZGZiYTkxNWI3ODkuLjFhMmEyZGQwNmI3ODk5NDQxY2Uw
YjU3ZDViZDY5MTQxNTg1MmU2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0w
My0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBp
bnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVx
dWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjayBjb25zdCk6CisgICAgICAgICogbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI6Om1ha2VDcm9zc09yaWdpbkFjY2Vzc1JlcXVlc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAqIHBsYXRm
b3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFN1cHByZXNzVGhyZWFkU2Fm
ZXR5Q2hlY2spOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0QXBwbGljYXRpb25TREtWZXJz
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbik6
IERlbGV0ZWQuCisKIDIwMjAtMDMtMTMgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByZW5kZXJX
aWRnZXRDaGlsZHJlbl0gZG9lcyBub3QgbmVlZCB0byBydW4gb24gbWFpbiB0aHJlYWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGYwYTA2ZjhkZTRiNTM3ODQxMGM1ODVlNWYyNjg1MTc2OWZlM2RjNGEuLjc0MjIwZjhl
ODYzZDI2ZmY3YTZlNjQ0NTBlMzRiZTU0MGQyYWJlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjAtMDMtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4K
KworICAgICAgICBbQ29jb2FdIFB1c2ggYXBwbGljYXRpb25TREtWZXJzaW9uKCkgZG93biBmcm9t
IFdlYkNvcmUgaW50byBXVEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTAzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdv
cmtQcm9jZXNzQ29jb2EpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJ
RW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOgorCiAyMDIwLTAzLTEzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSB1bnVzZWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlciBNYWdu
aWZ5IG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFw
cGVyTWFwLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KaW5k
ZXggNzIwYmIxYmMzNDcxNTZiYjQ2M2M2ZTg1MzNhNzlmNzQ5MWM1NTMwYi4uMzllYmI3YzlkNTE4
M2E2YjUyNjdjYzRjNWY2NzM0MTY1MjNhMTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1dyYXBwZXJNYXAubW0KQEAgLTQwLDcgKzQwLDEwIEBACiAjaW1wb3J0ICJXZWFrR0NNYXAu
aCIKICNpbXBvcnQgIldlYWtHQ01hcElubGluZXMuaCIKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4K
LSNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworI2lmIFBMQVRGT1JNKENPQ09B
KQorI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+Cisj
ZW5kaWYKIAogI2luY2x1ZGUgPG1hY2gtby9keWxkLmg+CiAKQEAgLTcyMCw3ICs3MjMsNyBAQCBi
b29sIHN1cHBvcnRzSW5pdE1ldGhvZENvbnN0cnVjdG9ycygpCiAgICAgLy8gYmFzZSBvdXIgY2hl
Y2sgb24gd2hhdCBTREsgd2FzIHVzZWQgdG8gYnVpbGQgdGhlIGFwcGxpY2F0aW9uLgogICAgIHN0
YXRpYyB1aW50MzJfdCBwcm9ncmFtU0RLVmVyc2lvbiA9IDA7CiAgICAgaWYgKCFwcm9ncmFtU0RL
VmVyc2lvbikKLSAgICAgICAgcHJvZ3JhbVNES1ZlcnNpb24gPSBkeWxkX2dldF9wcm9ncmFtX3Nk
a192ZXJzaW9uKCk7CisgICAgICAgIHByb2dyYW1TREtWZXJzaW9uID0gYXBwbGljYXRpb25TREtW
ZXJzaW9uKCk7CiAKICAgICByZXR1cm4gcHJvZ3JhbVNES1ZlcnNpb24gPj0gZmlyc3RTREtWZXJz
aW9uV2l0aEluaXRDb25zdHJ1Y3RvclN1cHBvcnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVlMzViMDIxNTlkOTc2ZmJjMzczMzJhMjljNTA5
ODlhMThiNzg2YWQuLmJhMjVlOTM0YTExNjIxZDM4ODg1YzUwODA3YmNhYTg5N2MyOWE4OGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjEsNiArNjEsNyBA
QAogCQkxQzE4MUM5MzFEMzA3QUI4MDBGNUZBMTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzhEMUQz
MDdBQjgwMEY1RkExNiAvKiBVVGV4dFByb3ZpZGVyVVRGMTYuY3BwICovOyB9OwogCQkxQzE4MUM5
NjFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzk1
MUQzMDgwMEEwMEY1RkExNiAvKiBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3Bw
ICovOyB9OwogCQkxQzUwM0JFNjIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNTAzQkU1MjNB
QUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tICovOyB9OworCQkxQ0E4NUNBOTI0MUIw
QjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBODVDQTgyNDFCMEIyNjAw
NzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCAqLzsgfTsKIAkJMUZB
NDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZBNDdDODgxNTI1MDJEQTAwNTY4RDFC
IC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9OwogCQkyQ0NEODkyQTE1QzAzOTAyMDAyODUwODMg
LyogR3JlZ29yaWFuRGF0ZVRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkNDRDg5MjkxNUMwMzkwMjAwMjg1MDgzIC8qIEdyZWdvcmlhbkRhdGVU
aW1lLmNwcCAqLzsgfTsKIAkJMkNERUQwRUYxODExNUMzODAwNERCQTcwIC8qIFJ1bkxvb3BDRi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0RFRDBF
RTE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCAqLzsgfTsKQEAgLTM0NCw2ICszNDUs
OCBAQAogCQkxQzE4MUM5NTFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRl
cm5hbElDVUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRl
eHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDNTAzQkU0MjNBQURFRUEwMDcyRTY2QiAvKiBOU0xvY2FsZVNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOU0xvY2FsZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzUwM0JFNTIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IExhbmd1YWdlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDQTg1Q0E3MjQxQjBCMTEwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2Nv
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQ0NEQjE0OTFFNTY2NjI2MDA2QzczQzAgLyogVGV4dEJyZWFrSXRlcmF0b3JDRi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckNGLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQ0RCMTREMUU1NjY4OTgwMDZDNzNDMCAvKiBUZXh0
QnJlYWtJdGVyYXRvcklDVS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0
QnJlYWtJdGVyYXRvcklDVS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE1
MTFFNTY2QkM1MDA2QzczQzAgLyogQ0ZTdHJpbmdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ0ZTdHJpbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE1MTYsNiArMTUxOSw4IEBACiAJCQkJNUNDMEVFODcyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJM
RXh0cmFzLmggKi8sCiAJCQkJNUNDMEVFODgyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFz
Lm1tICovLAogCQkJCUUzOTJGQTI2MjJFOTJCRkYwMEVDREM3MyAvKiBSZXNvdXJjZVVzYWdlQ29j
b2EuY3BwICovLAorCQkJCTFDQTg1Q0E4MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGlj
YXRpb25DaGVja3NDb2NvYS5jcHAgKi8sCisJCQkJMUNBODVDQTcyNDFCMEIxMTAwNzFDMkY1IC8q
IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmggKi8sCiAJCQkJQTMwRDQxMkMxRjBERTBC
QTAwQjcxOTU0IC8qIFNvZnRMaW5raW5nLmggKi8sCiAJCQkJRUI2MUVEQzYyNDA5Q0NDMDAwMUVG
RTM2IC8qIFN5c3RlbVRyYWNpbmdDb2NvYS5jcHAgKi8sCiAJCQkJNUNDMEVFODYyMTYyQkMyMjAw
QTFBODQyIC8qIFVSTENvY29hLm1tICovLApAQCAtMTY5OSw2ICsxNzA0LDcgQEAKIAkJCQkyQ0RF
RDBGMzE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
Q0RFRDBFRjE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUEzRUU1QzNFMjFGRkFDN0QwMEZBQkQ2MSAvKiBSdW5Mb29wVGltZXJDRi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxQ0E4NUNBOTI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNFRTVDM0QyMUZGQUM3RDAw
RkFCRDYxIC8qIFNjaGVkdWxlUGFpckNGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzRUU1QzQw
MjFGRkFDQTIwMEZBQkQ2MSAvKiBTY2hlZHVsZVBhaXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkwRjY2QjI4RTFEQzk3QkFCMDA0QTFEM0YgLyogU2Vjb25kcy5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggNmQ1ODMxMGRkMjA3ZmJhY2U1MzM3Y2UzZmNh
ZmRiNmI5MGIzZjY5ZS4uNmU4NjMzMmNlMjNmZjJlMzNmYzE2MzY2NTI3MzJkODA1OWY2ZGVkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTE2LDYgKzE2LDcgQEAgbGlzdChBUFBFTkQg
V1RGX1BVQkxJQ19IRUFERVJTCiAgICAgY29jb2EvQ3Jhc2hSZXBvcnRlci5oCiAgICAgY29jb2Ev
RW50aXRsZW1lbnRzLmgKICAgICBjb2NvYS9OU1VSTEV4dHJhcy5oCisgICAgY29jb2EvUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaAogICAgIGNvY29hL1NvZnRMaW5raW5nLmgKIAogICAg
IGRhcndpbi9XZWFrTGlua2luZy5oCkBAIC02NSw2ICs2Niw3IEBAIGxpc3QoQVBQRU5EIFdURl9T
T1VSQ0VTCiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KICAgICBjb2Nv
YS9OU1VSTEV4dHJhcy5tbQogICAgIGNvY29hL1Jlc291cmNlVXNhZ2VDb2NvYS5jcHAKKyAgICBj
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAKICAgICBjb2NvYS9TeXN0ZW1U
cmFjaW5nQ29jb2EuY3BwCiAgICAgY29jb2EvVVJMQ29jb2EubW0KICAgICBjb2NvYS9Xb3JrUXVl
dWVDb2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWJjYjA2YmVhNjQwMGJjNWRmNDgx
MGIwM2I2MjdkNGI4ZTRkZjg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29j
b2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvY29jb2Ev
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KKworI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV1RGIHsK
Kworc3RhdGljIE9wdGlvbmFsPHVpbnQzMl90PiYgYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJp
ZGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25hbDx1aW50MzJfdD4+IHZl
cnNpb247CisgICAgcmV0dXJuIHZlcnNpb247Cit9CisKK3ZvaWQgc2V0QXBwbGljYXRpb25TREtW
ZXJzaW9uKHVpbnQzMl90IHZlcnNpb24pCit7CisgICAgYXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUoKSA9IHZlcnNpb247Cit9CisKK3VpbnQzMl90IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigp
Cit7CisgICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkpCisgICAgICAgIHJl
dHVybiAqYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKTsKKyAgICByZXR1cm4gZHlsZF9n
ZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oIGIvU291cmNlL1dURi93
dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OGYx
YmU4MmY4MjQxZTNkNzg3MTM5OTJlZTZlNDZiMmI0NjE1MjYzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dURi93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApAQCAt
MCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKworLy8gVGhpcyBjb250YWlucyB0aGUgdmFsdWVzIHdpdGggd2hpY2ggdG8gY29t
cGFyZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpLgorI2luY2x1
ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKy8vIGR5
bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBnaXZlcyB5b3UgdGhlIHdyb25nIGFuc3dlciBp
biBhbnkgcHJvY2VzcyBvdGhlciB0aGFuIHRoZSBVSSBwcm9jZXNzLgorLy8gVGhlc2UgZnVuY3Rp
b25zIGFyZSBob29rZWQgdXAgdG8gZ2l2ZSB5b3UgdGhlIHJpZ2h0IGFuc3dlci4KK1dURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCk7CitXVEZf
RVhQT1JUX1BSSVZBVEUgdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCk7CisKK30KKwor
dXNpbmcgV1RGOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb247Cit1c2luZyBXVEY6OmFwcGxpY2F0
aW9uU0RLVmVyc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVj
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAK
aW5kZXggOTg1ZWRiNTNhYjEzNTQ0ZTQyOWQ5ZGNlNmU0Mzk4NDk4YWU2MDE1OC4uZDE5NTc0MTE3
ODJiYWY5YTg3MzBjYWFhMTViNTdkMmY1ZmE5YTEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5jcHAKQEAgLTU0LDcgKzU0LDYgQEAKIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW5jbHVk
ZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDc2
ZTYwNTA4ZWRjMjc1ODc2YWRkMDI4NjI0NzEzZmUwYjEyYTc1YTYuLjI2NjI4MzljNWRlYzRjNmU3
ODkxZGM2NjJjMzMzNTRjOGIxNmRkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcApAQCAtNTQsNyArNTQsNyBAQAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmgiCi0jaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgorI2luY2x1
ZGUgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2VuZGlmCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTczOCw3ICs3MzgsNyBAQCBib29sIE1lZGlhRWxlbWVu
dFNlc3Npb246OnJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKSBjb25zdAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYgKElPU0FwcGxpY2F0aW9uOjppc0lCb29rcygp
KQogICAgICAgICByZXR1cm4gIW1fZWxlbWVudC5oYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKEhUTUxOYW1lczo6d2Via2l0X3BsYXlzaW5saW5lQXR0cikgJiYgIW1fZWxlbWVudC5o
YXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6cGxheXNpbmxpbmVB
dHRyKTsKLSAgICBpZiAoZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIDwgRFlMRF9JT1Nf
VkVSU0lPTl8xMF8wKQorICAgIGlmIChhcHBsaWNhdGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9T
X1ZFUlNJT05fMTBfMCkKICAgICAgICAgcmV0dXJuICFtX2VsZW1lbnQuaGFzQXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OndlYmtpdF9wbGF5c2lubGluZUF0dHIpOwog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlci5jcHAKaW5kZXggOGFmNGQwMjVjZWQzYzc2YTc0YmMzMDEyMzAwNzcwYjFhN2ZiMzNm
NS4uNDZhMmU3NWU4MDY0NzZhNDUwMWMxODk1MDFmNTQxNDRlZDUxZWFmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTY0
LDcgKzY0LDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQotI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKyNpbmNsdWRlIDx3dGYv
Y29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KICNlbmRpZgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oCmluZGV4IGZjZDMyMGZhZWM2M2I0ZmEyNDkwYzgyODJhNGFhN2RlMGQw
YzE2MmEuLmNkNjIwMjk2MDMzZTNlYzdlNmQ1OWYyY2Q2OWY2NTVhMDRkMTk0YjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCkBA
IC00Myw5ICs0Myw2IEBAIGlubGluZSBib29sIGlzSW5XZWJQcm9jZXNzKCkgeyByZXR1cm4gdHJ1
ZTsgfQogYm9vbCBpc0luV2ViUHJvY2VzcygpOwogYm9vbCBpc0luTmV0d29ya1Byb2Nlc3MoKTsK
IAotV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24odWludDMyX3Qp
OwotV0VCQ09SRV9FWFBPUlQgdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCk7Ci0KIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKGNvbnN0IFN0
cmluZyYpOwogV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
cigpOwogV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhckFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
clRlc3RpbmdPdmVycmlkZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCmluZGV4IDgzNjNj
MTc5YTRkZTUzYWZmYzNiMjBjM2MwMDQ1NWQ0YTJkM2Y0MTAuLmUxZjZlMjJhMmEzZGZmNjg0MjY4
MTI1YzgzODdkOTdmYmQ3ZTkyMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKQEAgLTM3
LDcgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShDT0NP
QSkKLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CisjaW5jbHVkZSA8d3RmL2Nv
Y29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQppbmRleCA0YTA0N2YwY2YxNTVm
OTcxMjgzNmRkY2E5YmQ4ZWM2M2M3NzcxMjFkLi45MDE2ZmIyNDU4MWJmMDc0YzYwN2FiYjA2Zjhk
YmVhZDkzMDA5MDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQpAQCAtNzUsMjQgKzc1
LDYgQEAgdm9pZCBjbGVhckFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllclRlc3RpbmdPdmVycmlk
ZSgpCiAjZW5kaWYKIH0KIAotc3RhdGljIE9wdGlvbmFsPHVpbnQzMl90PiYgYXBwbGljYXRpb25T
REtWZXJzaW9uT3ZlcnJpZGUoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25h
bDx1aW50MzJfdD4+IHZlcnNpb247Ci0gICAgcmV0dXJuIHZlcnNpb247Ci19Ci0KLXZvaWQgc2V0
QXBwbGljYXRpb25TREtWZXJzaW9uKHVpbnQzMl90IHZlcnNpb24pCi17Ci0gICAgYXBwbGljYXRp
b25TREtWZXJzaW9uT3ZlcnJpZGUoKSA9IHZlcnNpb247Ci19Ci0KLXVpbnQzMl90IGFwcGxpY2F0
aW9uU0RLVmVyc2lvbigpCi17Ci0gICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRl
KCkpCi0gICAgICAgIHJldHVybiAqYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKTsKLSAg
ICByZXR1cm4gZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOwotfQotCiBib29sIGlzSW5X
ZWJQcm9jZXNzKCkKIHsKICAgICBzdGF0aWMgYm9vbCBtYWluQnVuZGxlSXNXZWJQcm9jZXNzID0g
W1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gaGFzUHJlZml4OkAiY29t
LmFwcGxlLldlYktpdC5XZWJDb250ZW50Il07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KaW5kZXggNjQxNmJj
ZmU5N2JmNDRhMjMxZjA2OTFjNWNlOTdmYmE3OTFkZjUyNi4uOWIwMjc4OGViZjhjODlhYTEwZjk0
OWI5MWZhODE1MjhkMmVmZmIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQpAQCAtNDUsNiArNDUsNyBA
QAogI2ltcG9ydCA8d3RmL0NhbGxiYWNrQWdncmVnYXRvci5oPgogI2ltcG9ydCA8d3RmL1Byb2Nl
c3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApAQCAtNzEsNyArNzIsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplTmV0d29ya1NldHRp
bmdzKCkKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9j
ZXNzQ29jb2EoY29uc3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRl
cnMpCiB7CiAgICAgV2ViQ29yZTo6c2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKHBhcmFt
ZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcik7Ci0gICAgV2ViQ29yZTo6c2V0QXBwbGlj
YXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CisgICAgc2V0
QXBwbGljYXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CiAK
ICNpZiBIQVZFKEhTVFNfU1RPUkFHRV9QQVRIKQogICAgIGlmICghcGFyYW1ldGVycy5oc3RzU3Rv
cmFnZURpcmVjdG9yeS5pc051bGwoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKaW5kZXggZmYwNDQyNDE3NjNjMzBjNTA5
Zjk4MmE3ZDJkNmRmNmY3MDdlOWNmZi4uOGVlY2VhMjNkNDZiMDczZDNmMzNmMzMzYmYxNjFmZGE0
MjU3OTgwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuY3BwCkBAIC0yNSwxNSArMjUsMTQgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5oIgotI2luY2x1ZGUg
PFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0ZlYXR1cmVGbGFnc1NQSS5oPgotI2luY2x1ZGUg
PHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICNpbmNsdWRlICJWZXJzaW9uQ2hlY2tzLmgiCisjaW5jbHVkZSA8d3RmL2NvY29hL1J1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC01MCw3ICs0OSw3IEBAIGJvb2wgZGVmYXVsdFBhc3NpdmVUb3VjaExpc3RlbmVyc0Fz
RGVmYXVsdE9uRG9jdW1lbnQoKQogYm9vbCBkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJRW5h
YmxlZCgpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBpZiAoV2ViQ29yZTo6SU9T
QXBwbGljYXRpb246OmlzSU1EYigpICYmIFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbigp
IDwgRFlMRF9JT1NfVkVSU0lPTl8xM18wKQorICAgIGlmIChXZWJDb3JlOjpJT1NBcHBsaWNhdGlv
bjo6aXNJTURiKCkgJiYgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgPCBEWUxEX0lPU19WRVJTSU9O
XzEzXzApCiAgICAgICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgogICAgIHJldHVybiB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0K
aW5kZXggYTU1ZDE3NzBlMGY2YmE0ODMwZTY5NTcyYzcwNzhjNWRiMmRmYWM1OC4uMzQwMmE5Nzlk
ZmM2NjhlZTRmNWVkOTNhODI1MDExMmZmOTJlMzQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC04Myw2ICs4Myw3IEBACiAj
aW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2Uu
aD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgorI2ltcG9ydCA8d3RmL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lO
U1BFQ1RPUikKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3IuaD4KQEAg
LTE3Myw3ICsxNzQsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlBy
b2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogI2VuZGlmCiAKICAgICBX
ZWJDb3JlOjpzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIocGFyYW1ldGVycy51aVByb2Nl
c3NCdW5kbGVJZGVudGlmaWVyKTsKLSAgICBXZWJDb3JlOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNp
b24ocGFyYW1ldGVycy51aVByb2Nlc3NTREtWZXJzaW9uKTsKKyAgICBzZXRBcHBsaWNhdGlvblNE
S1ZlcnNpb24ocGFyYW1ldGVycy51aVByb2Nlc3NTREtWZXJzaW9uKTsKIAogICAgIG1fdWlQcm9j
ZXNzQnVuZGxlSWRlbnRpZmllciA9IHBhcmFtZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmll
cjsKIAo=
</data>
<flag name="review"
          id="408930"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393541</attachid>
            <date>2020-03-13 15:36:07 -0700</date>
            <delta_ts>2020-03-13 15:36:07 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-209030-20200313153606.patch</filename>
            <type>text/plain</type>
            <size>22099</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MDEyNzAxNjkxYjEyOTk4ZGNkM2UyMDg3MjIxMWU5MDg5NjIzZmY3Li43NTI3MWNmOTk1MGU5N2Y0
YTM5MGQ0YTg0ZWJkMjJmY2FmYmJmZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBk
b3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIGdpdmVzIHlv
dSB0aGUgd3JvbmcgYW5zd2VyIGluIHRoZSBXZWIgUHJvY2VzcyAob3IgYXQgbGVhc3QKKyAgICAg
ICAgbm90IHRoZSBhbnN3ZXIgeW91IGFjdHVhbGx5IHdhbnQpLiBUaGVyZSBhcmUgYWxyZWFkeSBm
YWNpbGl0aWVzIGZvciB0aGUgVUkgUHJvY2VzcyB0byB0ZWxsCisgICAgICAgIHRoZSBXZWIgUHJv
Y2VzcyB3aGF0IHRoZSByZWFsIHZhbHVlIGlzLCBidXQgdGhvc2UgZnVuY3Rpb25zIGFyZSBjdXJy
ZW50bHkgaW4gV2ViQ29yZSwKKyAgICAgICAgd2hpY2ggaXMgaW5hY2Nlc3NpYmxlIHRvIFdURi4g
VGhpcyBwYXRjaCBpcyBpbiBwcmVwYXJhdGlvbiBmb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk2OSB3aGljaCBuZWVkcyB0byBrbm93IHRoaXMg
aW5mb3JtYXRpb24gaW4gV1RGLgorCisgICAgICAgIEkgYWxzbyBmb3VuZCBhIGZldyBwbGFjZXMg
d2hpY2ggd2VyZSBjYWxsaW5nIGR5bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBpbiBKYXZh
U2NyaXB0Q29yZQorICAgICAgICBhbmQgV2ViQ29yZSAod2hpY2ggaXMgd3JvbmcgYmVjYXVzZSB0
aG9zZSBsaWJyYXJpZXMgZXhpc3QgaW4gdGhlIFdlYiBQcm9jZXNzKSwgYW5kIGhhdmUgZml4ZWQK
KyAgICAgICAgdGhlbSB1cCB0byB1c2UgYXBwbGljYXRpb25TREtWZXJzaW9uKCkgaW5zdGVhZC4K
KworICAgICAgICAqIEFQSS9KU1dyYXBwZXJNYXAubW06CisgICAgICAgIChzdXBwb3J0c0luaXRN
ZXRob2RDb25zdHJ1Y3RvcnMpOgorCiAyMDIwLTAzLTEzICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFp
a2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBCb3VuZCBmdW5jdGlvbnMgc2hvdWxkIHBhc3Mg
Y29ycmVjdCBOZXdUYXJnZXQgdmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9n
IGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZWM4MTAxMmJlMWRmZmIyZjRhODk5NjEwZmUw
ZjNmZjc0NWI5OTc3YS4uNjE2NjU4YzFmYmExY2UyYTQ0YzQxYmI4NTc0ODc5Y2U3ODQ1OWU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0wMy0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1Zl
cnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogd3RmL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcDogQWRkZWQuCisgICAgICAgICogd3Rm
L2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg6IEFkZGVkLgorICAgICAgICAo
V1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb25PdmVycmlkZSk6CisgICAgICAgIChXVEY6OnNldEFw
cGxpY2F0aW9uU0RLVmVyc2lvbik6CisgICAgICAgIChXVEY6OmFwcGxpY2F0aW9uU0RLVmVyc2lv
bik6CisKIDIwMjAtMDMtMTEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRvcHQgQVZTYW1wbGVCdWZmZXJWaWRlb091dHB1dApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAzZWY2
MjdlZDBhYmM2Y2I1YmM1MWE1MDI2MmMwZGZiYTkxNWI3ODkuLjFhMmEyZGQwNmI3ODk5NDQxY2Uw
YjU3ZDViZDY5MTQxNTg1MmU2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0w
My0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gUHVzaCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKSBkb3duIGZyb20gV2ViQ29yZSBp
bnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5MDMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cmVx
dWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjayBjb25zdCk6CisgICAgICAgICogbG9hZGVy
L0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dFRocmVhZGFibGVMb2FkZXI6Om1ha2VDcm9zc09yaWdpbkFjY2Vzc1JlcXVlc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oOgorICAgICAgICAqIHBsYXRm
b3JtL1RpbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFN1cHByZXNzVGhyZWFkU2Fm
ZXR5Q2hlY2spOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6c2V0QXBwbGljYXRpb25TREtWZXJz
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uU0RLVmVyc2lvbik6
IERlbGV0ZWQuCisKIDIwMjAtMDMtMTMgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciByZW5kZXJX
aWRnZXRDaGlsZHJlbl0gZG9lcyBub3QgbmVlZCB0byBydW4gb24gbWFpbiB0aHJlYWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGYwYTA2ZjhkZTRiNTM3ODQxMGM1ODVlNWYyNjg1MTc2OWZlM2RjNGEuLjc0MjIwZjhl
ODYzZDI2ZmY3YTZlNjQ0NTBlMzRiZTU0MGQyYWJlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjAtMDMtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4K
KworICAgICAgICBbQ29jb2FdIFB1c2ggYXBwbGljYXRpb25TREtWZXJzaW9uKCkgZG93biBmcm9t
IFdlYkNvcmUgaW50byBXVEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTAzMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdv
cmtQcm9jZXNzQ29jb2EpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRW
YWx1ZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJ
RW5hYmxlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nl
c3MpOgorCiAyMDIwLTAzLTEzICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFJlbW92ZSB1bnVzZWQgU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlciBNYWdu
aWZ5IG1lc3NhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNXcmFw
cGVyTWFwLm1tIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KaW5k
ZXggNzIwYmIxYmMzNDcxNTZiYjQ2M2M2ZTg1MzNhNzlmNzQ5MWM1NTMwYi4uMzllYmI3YzlkNTE4
M2E2YjUyNjdjYzRjNWY2NzM0MTY1MjNhMTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS9KU1dyYXBwZXJNYXAubW0KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1dyYXBwZXJNYXAubW0KQEAgLTQwLDcgKzQwLDEwIEBACiAjaW1wb3J0ICJXZWFrR0NNYXAu
aCIKICNpbXBvcnQgIldlYWtHQ01hcElubGluZXMuaCIKICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4K
LSNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworI2lmIFBMQVRGT1JNKENPQ09B
KQorI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+Cisj
ZW5kaWYKIAogI2luY2x1ZGUgPG1hY2gtby9keWxkLmg+CiAKQEAgLTcyMCw3ICs3MjMsNyBAQCBi
b29sIHN1cHBvcnRzSW5pdE1ldGhvZENvbnN0cnVjdG9ycygpCiAgICAgLy8gYmFzZSBvdXIgY2hl
Y2sgb24gd2hhdCBTREsgd2FzIHVzZWQgdG8gYnVpbGQgdGhlIGFwcGxpY2F0aW9uLgogICAgIHN0
YXRpYyB1aW50MzJfdCBwcm9ncmFtU0RLVmVyc2lvbiA9IDA7CiAgICAgaWYgKCFwcm9ncmFtU0RL
VmVyc2lvbikKLSAgICAgICAgcHJvZ3JhbVNES1ZlcnNpb24gPSBkeWxkX2dldF9wcm9ncmFtX3Nk
a192ZXJzaW9uKCk7CisgICAgICAgIHByb2dyYW1TREtWZXJzaW9uID0gYXBwbGljYXRpb25TREtW
ZXJzaW9uKCk7CiAKICAgICByZXR1cm4gcHJvZ3JhbVNES1ZlcnNpb24gPj0gZmlyc3RTREtWZXJz
aW9uV2l0aEluaXRDb25zdHJ1Y3RvclN1cHBvcnQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVlMzViMDIxNTlkOTc2ZmJjMzczMzJhMjljNTA5
ODlhMThiNzg2YWQuLmJhMjVlOTM0YTExNjIxZDM4ODg1YzUwODA3YmNhYTg5N2MyOWE4OGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjEsNiArNjEsNyBA
QAogCQkxQzE4MUM5MzFEMzA3QUI4MDBGNUZBMTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzhEMUQz
MDdBQjgwMEY1RkExNiAvKiBVVGV4dFByb3ZpZGVyVVRGMTYuY3BwICovOyB9OwogCQkxQzE4MUM5
NjFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzk1
MUQzMDgwMEEwMEY1RkExNiAvKiBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3Bw
ICovOyB9OwogCQkxQzUwM0JFNjIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDNTAzQkU1MjNB
QUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tICovOyB9OworCQkxQ0E4NUNBOTI0MUIw
QjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBODVDQTgyNDFCMEIyNjAw
NzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCAqLzsgfTsKIAkJMUZB
NDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZBNDdDODgxNTI1MDJEQTAwNTY4RDFC
IC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9OwogCQkyQ0NEODkyQTE1QzAzOTAyMDAyODUwODMg
LyogR3JlZ29yaWFuRGF0ZVRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkNDRDg5MjkxNUMwMzkwMjAwMjg1MDgzIC8qIEdyZWdvcmlhbkRhdGVU
aW1lLmNwcCAqLzsgfTsKIAkJMkNERUQwRUYxODExNUMzODAwNERCQTcwIC8qIFJ1bkxvb3BDRi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0RFRDBF
RTE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCAqLzsgfTsKQEAgLTM0NCw2ICszNDUs
OCBAQAogCQkxQzE4MUM5NTFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRl
cm5hbElDVUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRl
eHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDNTAzQkU0MjNBQURFRUEwMDcyRTY2QiAvKiBOU0xvY2FsZVNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOU0xvY2FsZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzUwM0JFNTIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IExhbmd1YWdlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDQTg1Q0E3MjQxQjBCMTEwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2Nv
YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkxQ0NEQjE0OTFFNTY2NjI2MDA2QzczQzAgLyogVGV4dEJyZWFrSXRlcmF0b3JDRi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckNGLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQ0RCMTREMUU1NjY4OTgwMDZDNzNDMCAvKiBUZXh0
QnJlYWtJdGVyYXRvcklDVS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0
QnJlYWtJdGVyYXRvcklDVS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0NEQjE1
MTFFNTY2QkM1MDA2QzczQzAgLyogQ0ZTdHJpbmdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ0ZTdHJpbmdTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE1MTYsNiArMTUxOSw4IEBACiAJCQkJNUNDMEVFODcyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJM
RXh0cmFzLmggKi8sCiAJCQkJNUNDMEVFODgyMTYyQkMyMjAwQTFBODQyIC8qIE5TVVJMRXh0cmFz
Lm1tICovLAogCQkJCUUzOTJGQTI2MjJFOTJCRkYwMEVDREM3MyAvKiBSZXNvdXJjZVVzYWdlQ29j
b2EuY3BwICovLAorCQkJCTFDQTg1Q0E4MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGlj
YXRpb25DaGVja3NDb2NvYS5jcHAgKi8sCisJCQkJMUNBODVDQTcyNDFCMEIxMTAwNzFDMkY1IC8q
IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmggKi8sCiAJCQkJQTMwRDQxMkMxRjBERTBC
QTAwQjcxOTU0IC8qIFNvZnRMaW5raW5nLmggKi8sCiAJCQkJRUI2MUVEQzYyNDA5Q0NDMDAwMUVG
RTM2IC8qIFN5c3RlbVRyYWNpbmdDb2NvYS5jcHAgKi8sCiAJCQkJNUNDMEVFODYyMTYyQkMyMjAw
QTFBODQyIC8qIFVSTENvY29hLm1tICovLApAQCAtMTY5OSw2ICsxNzA0LDcgQEAKIAkJCQkyQ0RF
RDBGMzE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQky
Q0RFRDBFRjE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUEzRUU1QzNFMjFGRkFDN0QwMEZBQkQ2MSAvKiBSdW5Mb29wVGltZXJDRi5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkxQ0E4NUNBOTI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNFRTVDM0QyMUZGQUM3RDAw
RkFCRDYxIC8qIFNjaGVkdWxlUGFpckNGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzRUU1QzQw
MjFGRkFDQTIwMEZBQkQ2MSAvKiBTY2hlZHVsZVBhaXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkwRjY2QjI4RTFEQzk3QkFCMDA0QTFEM0YgLyogU2Vjb25kcy5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggNmQ1ODMxMGRkMjA3ZmJhY2U1MzM3Y2UzZmNh
ZmRiNmI5MGIzZjY5ZS4uNmU4NjMzMmNlMjNmZjJlMzNmYzE2MzY2NTI3MzJkODA1OWY2ZGVkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTE2LDYgKzE2LDcgQEAgbGlzdChBUFBFTkQg
V1RGX1BVQkxJQ19IRUFERVJTCiAgICAgY29jb2EvQ3Jhc2hSZXBvcnRlci5oCiAgICAgY29jb2Ev
RW50aXRsZW1lbnRzLmgKICAgICBjb2NvYS9OU1VSTEV4dHJhcy5oCisgICAgY29jb2EvUnVudGlt
ZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaAogICAgIGNvY29hL1NvZnRMaW5raW5nLmgKIAogICAg
IGRhcndpbi9XZWFrTGlua2luZy5oCkBAIC02NSw2ICs2Niw3IEBAIGxpc3QoQVBQRU5EIFdURl9T
T1VSQ0VTCiAgICAgY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KICAgICBjb2Nv
YS9OU1VSTEV4dHJhcy5tbQogICAgIGNvY29hL1Jlc291cmNlVXNhZ2VDb2NvYS5jcHAKKyAgICBj
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAKICAgICBjb2NvYS9TeXN0ZW1U
cmFjaW5nQ29jb2EuY3BwCiAgICAgY29jb2EvVVJMQ29jb2EubW0KICAgICBjb2NvYS9Xb3JrUXVl
dWVDb2NvYS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrc0NvY29hLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNWJjYjA2YmVhNjQwMGJjNWRmNDgx
MGIwM2I2MjdkNGI4ZTRkZjg3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29j
b2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwCkBAIC0wLDAgKzEsNTIgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvY29jb2Ev
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KKworI2luY2x1ZGUgPHd0Zi9OZXZlckRl
c3Ryb3llZC5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV1RGIHsK
Kworc3RhdGljIE9wdGlvbmFsPHVpbnQzMl90PiYgYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJp
ZGUoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25hbDx1aW50MzJfdD4+IHZl
cnNpb247CisgICAgcmV0dXJuIHZlcnNpb247Cit9CisKK3ZvaWQgc2V0QXBwbGljYXRpb25TREtW
ZXJzaW9uKHVpbnQzMl90IHZlcnNpb24pCit7CisgICAgYXBwbGljYXRpb25TREtWZXJzaW9uT3Zl
cnJpZGUoKSA9IHZlcnNpb247Cit9CisKK3VpbnQzMl90IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigp
Cit7CisgICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRlKCkpCisgICAgICAgIHJl
dHVybiAqYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKTsKKyAgICByZXR1cm4gZHlsZF9n
ZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oIGIvU291cmNlL1dURi93
dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OGYx
YmU4MmY4MjQxZTNkNzg3MTM5OTJlZTZlNDZiMmI0NjE1MjYzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dURi93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaApAQCAt
MCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKworLy8gVGhpcyBjb250YWlucyB0aGUgdmFsdWVzIHdpdGggd2hpY2ggdG8gY29t
cGFyZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpLgorI2luY2x1
ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKy8vIGR5
bGRfZ2V0X3Byb2dyYW1fc2RrX3ZlcnNpb24oKSBnaXZlcyB5b3UgdGhlIHdyb25nIGFuc3dlciBp
biBhbnkgcHJvY2VzcyBvdGhlciB0aGFuIHRoZSBVSSBwcm9jZXNzLgorLy8gVGhlc2UgZnVuY3Rp
b25zIGFyZSBob29rZWQgdXAgdG8gZ2l2ZSB5b3UgdGhlIHJpZ2h0IGFuc3dlci4KK1dURl9FWFBP
UlRfUFJJVkFURSB2b2lkIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbih1aW50MzJfdCk7CitXVEZf
RVhQT1JUX1BSSVZBVEUgdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCk7CisKK30KKwor
dXNpbmcgV1RGOjpzZXRBcHBsaWNhdGlvblNES1ZlcnNpb247Cit1c2luZyBXVEY6OmFwcGxpY2F0
aW9uU0RLVmVyc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVj
dEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAK
aW5kZXggOTg1ZWRiNTNhYjEzNTQ0ZTQyOWQ5ZGNlNmU0Mzk4NDk4YWU2MDE1OC4uZDE5NTc0MTE3
ODJiYWY5YTg3MzBjYWFhMTViNTdkMmY1ZmE5YTEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudC5jcHAKQEAgLTU0LDcgKzU0LDYgQEAKIAogI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW5jbHVk
ZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDc2
ZTYwNTA4ZWRjMjc1ODc2YWRkMDI4NjI0NzEzZmUwYjEyYTc1YTYuLjI2NjI4MzljNWRlYzRjNmU3
ODkxZGM2NjJjMzMzNTRjOGIxNmRkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcApAQCAtNTQsNyArNTQsNyBAQAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzLmgiCi0jaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgorI2luY2x1
ZGUgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2VuZGlmCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTczOCw3ICs3MzgsNyBAQCBib29sIE1lZGlhRWxlbWVu
dFNlc3Npb246OnJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKSBjb25zdAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYgKElPU0FwcGxpY2F0aW9uOjppc0lCb29rcygp
KQogICAgICAgICByZXR1cm4gIW1fZWxlbWVudC5oYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25p
emF0aW9uKEhUTUxOYW1lczo6d2Via2l0X3BsYXlzaW5saW5lQXR0cikgJiYgIW1fZWxlbWVudC5o
YXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6cGxheXNpbmxpbmVB
dHRyKTsKLSAgICBpZiAoZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpIDwgRFlMRF9JT1Nf
VkVSU0lPTl8xMF8wKQorICAgIGlmIChhcHBsaWNhdGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9T
X1ZFUlNJT05fMTBfMCkKICAgICAgICAgcmV0dXJuICFtX2VsZW1lbnQuaGFzQXR0cmlidXRlV2l0
aG91dFN5bmNocm9uaXphdGlvbihIVE1MTmFtZXM6OndlYmtpdF9wbGF5c2lubGluZUF0dHIpOwog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVh
ZGFibGVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlci5jcHAKaW5kZXggOGFmNGQwMjVjZWQzYzc2YTc0YmMzMDEyMzAwNzcwYjFhN2ZiMzNm
NS4uNDZhMmU3NWU4MDY0NzZhNDUwMWMxODk1MDFmNTQxNDRlZDUxZWFmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTY0
LDcgKzY0LDcgQEAKICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQotI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEkuaD4KKyNpbmNsdWRlIDx3dGYv
Y29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KICNlbmRpZgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oCmluZGV4IGZjZDMyMGZhZWM2M2I0ZmEyNDkwYzgyODJhNGFhN2RlMGQw
YzE2MmEuLmNkNjIwMjk2MDMzZTNlYzdlNmQ1OWYyY2Q2OWY2NTVhMDRkMTk0YjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCkBA
IC00Myw5ICs0Myw2IEBAIGlubGluZSBib29sIGlzSW5XZWJQcm9jZXNzKCkgeyByZXR1cm4gdHJ1
ZTsgfQogYm9vbCBpc0luV2ViUHJvY2VzcygpOwogYm9vbCBpc0luTmV0d29ya1Byb2Nlc3MoKTsK
IAotV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBcHBsaWNhdGlvblNES1ZlcnNpb24odWludDMyX3Qp
OwotV0VCQ09SRV9FWFBPUlQgdWludDMyX3QgYXBwbGljYXRpb25TREtWZXJzaW9uKCk7Ci0KIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKGNvbnN0IFN0
cmluZyYpOwogV0VCQ09SRV9FWFBPUlQgU3RyaW5nIGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
cigpOwogV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGVhckFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
clRlc3RpbmdPdmVycmlkZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VGltZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGltZXIuY3BwCmluZGV4IDgzNjNj
MTc5YTRkZTUzYWZmYzNiMjBjM2MwMDQ1NWQ0YTJkM2Y0MTAuLmUxZjZlMjJhMmEzZGZmNjg0MjY4
MTI1YzgzODdkOTdmYmQ3ZTkyMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKQEAgLTM3
LDcgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKICNpZiBQTEFURk9STShDT0NP
QSkKLSNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+CisjaW5jbHVkZSA8d3RmL2Nv
Y29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQppbmRleCA0YTA0N2YwY2YxNTVm
OTcxMjgzNmRkY2E5YmQ4ZWM2M2M3NzcxMjFkLi45MDE2ZmIyNDU4MWJmMDc0YzYwN2FiYjA2Zjhk
YmVhZDkzMDA5MDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQpAQCAtNzUsMjQgKzc1
LDYgQEAgdm9pZCBjbGVhckFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllclRlc3RpbmdPdmVycmlk
ZSgpCiAjZW5kaWYKIH0KIAotc3RhdGljIE9wdGlvbmFsPHVpbnQzMl90PiYgYXBwbGljYXRpb25T
REtWZXJzaW9uT3ZlcnJpZGUoKQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxPcHRpb25h
bDx1aW50MzJfdD4+IHZlcnNpb247Ci0gICAgcmV0dXJuIHZlcnNpb247Ci19Ci0KLXZvaWQgc2V0
QXBwbGljYXRpb25TREtWZXJzaW9uKHVpbnQzMl90IHZlcnNpb24pCi17Ci0gICAgYXBwbGljYXRp
b25TREtWZXJzaW9uT3ZlcnJpZGUoKSA9IHZlcnNpb247Ci19Ci0KLXVpbnQzMl90IGFwcGxpY2F0
aW9uU0RLVmVyc2lvbigpCi17Ci0gICAgaWYgKGFwcGxpY2F0aW9uU0RLVmVyc2lvbk92ZXJyaWRl
KCkpCi0gICAgICAgIHJldHVybiAqYXBwbGljYXRpb25TREtWZXJzaW9uT3ZlcnJpZGUoKTsKLSAg
ICByZXR1cm4gZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigpOwotfQotCiBib29sIGlzSW5X
ZWJQcm9jZXNzKCkKIHsKICAgICBzdGF0aWMgYm9vbCBtYWluQnVuZGxlSXNXZWJQcm9jZXNzID0g
W1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gaGFzUHJlZml4OkAiY29t
LmFwcGxlLldlYktpdC5XZWJDb250ZW50Il07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KaW5kZXggNjQxNmJj
ZmU5N2JmNDRhMjMxZjA2OTFjNWNlOTdmYmE3OTFkZjUyNi4uOWIwMjc4OGViZjhjODlhYTEwZjk0
OWI5MWZhODE1MjhkMmVmZmIzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQpAQCAtNDUsNiArNDUsNyBA
QAogI2ltcG9ydCA8d3RmL0NhbGxiYWNrQWdncmVnYXRvci5oPgogI2ltcG9ydCA8d3RmL1Byb2Nl
c3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApAQCAtNzEsNyArNzIsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplTmV0d29ya1NldHRp
bmdzKCkKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9j
ZXNzQ29jb2EoY29uc3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRl
cnMpCiB7CiAgICAgV2ViQ29yZTo6c2V0QXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyKHBhcmFt
ZXRlcnMudWlQcm9jZXNzQnVuZGxlSWRlbnRpZmllcik7Ci0gICAgV2ViQ29yZTo6c2V0QXBwbGlj
YXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CisgICAgc2V0
QXBwbGljYXRpb25TREtWZXJzaW9uKHBhcmFtZXRlcnMudWlQcm9jZXNzU0RLVmVyc2lvbik7CiAK
ICNpZiBIQVZFKEhTVFNfU1RPUkFHRV9QQVRIKQogICAgIGlmICghcGFyYW1ldGVycy5oc3RzU3Rv
cmFnZURpcmVjdG9yeS5pc051bGwoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlcy5jcHAKaW5kZXggZmYwNDQyNDE3NjNjMzBjNTA5
Zjk4MmE3ZDJkNmRmNmY3MDdlOWNmZi4uN2RkYWMxMzNkMWFiZmMyMDI5OTUxN2JjNjUyNGI3YTgz
MDU4MTA1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmF1bHRWYWx1ZXMuY3BwCkBAIC0yOCwxMiArMjgsOSBAQAogI2luY2x1ZGUgPFdlYkNvcmUv
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAKICNpZiBQTEFURk9STShDT0NPQSkKLSNpbmNs
dWRlIDxwYWwvc3BpL2NvY29hL0ZlYXR1cmVGbGFnc1NQSS5oPgotI2luY2x1ZGUgPHd0Zi9zcGkv
ZGFyd2luL2R5bGRTUEkuaD4KLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNp
bmNsdWRlICJWZXJzaW9uQ2hlY2tzLmgiCisjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9GZWF0dXJl
RmxhZ3NTUEkuaD4KKyNpbmNsdWRlIDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
Q29jb2EuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTUwLDcgKzQ3LDcgQEAg
Ym9vbCBkZWZhdWx0UGFzc2l2ZVRvdWNoTGlzdGVuZXJzQXNEZWZhdWx0T25Eb2N1bWVudCgpCiBi
b29sIGRlZmF1bHRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKCkKIHsKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotICAgIGlmIChXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNJTURiKCkg
JiYgV2ViQ29yZTo6YXBwbGljYXRpb25TREtWZXJzaW9uKCkgPCBEWUxEX0lPU19WRVJTSU9OXzEz
XzApCisgICAgaWYgKFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc0lNRGIoKSAmJiBhcHBsaWNh
dGlvblNES1ZlcnNpb24oKSA8IERZTERfSU9TX1ZFUlNJT05fMTNfMCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogI2VuZGlmCiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCBhNTVkMTc3MGUwZjZiYTQ4
MzBlNjk1NzJjNzA3OGM1ZGIyZGZhYzU4Li4zNDAyYTk3OWRmYzY2OGVlNGY1ZWQ5M2E4MjUwMTEy
ZmY5MmUzNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0KQEAgLTgzLDYgKzgzLDcgQEAKICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVt
Lmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL2NvY29h
L05TVVJMRXh0cmFzLmg+CisjaW1wb3J0IDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzQ29jb2EuaD4KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3Rvci5oPgpAQCAtMTczLDcgKzE3NCw3IEBAIHZvaWQg
V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzJiBwYXJhCiAjZW5kaWYKIAogICAgIFdlYkNvcmU6OnNldEFwcGxpY2F0aW9u
QnVuZGxlSWRlbnRpZmllcihwYXJhbWV0ZXJzLnVpUHJvY2Vzc0J1bmRsZUlkZW50aWZpZXIpOwot
ICAgIFdlYkNvcmU6OnNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJzLnVpUHJvY2Vz
c1NES1ZlcnNpb24pOworICAgIHNldEFwcGxpY2F0aW9uU0RLVmVyc2lvbihwYXJhbWV0ZXJzLnVp
UHJvY2Vzc1NES1ZlcnNpb24pOwogCiAgICAgbV91aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyID0g
cGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVJZGVudGlmaWVyOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>