<?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>228768</bug_id>
          
          <creation_ts>2021-08-04 02:14:54 -0700</creation_ts>
          <short_desc>Support WTF logging channels</short_desc>
          <delta_ts>2021-08-09 20:10:04 -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>
          <dependson>228809</dependson>
          <blocked>228764</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>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jonlee</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1781851</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-04 02:14:54 -0700</bug_when>
    <thetext>Support WTF logging channels</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781852</commentid>
    <comment_count>1</comment_count>
      <attachid>434895</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-04 02:23:11 -0700</bug_when>
    <thetext>Created attachment 434895
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781855</commentid>
    <comment_count>2</comment_count>
      <attachid>434896</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-04 02:31:01 -0700</bug_when>
    <thetext>Created attachment 434896
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781921</commentid>
    <comment_count>3</comment_count>
      <attachid>434896</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-08-04 10:21:44 -0700</bug_when>
    <thetext>Comment on attachment 434896
Patch

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

r- to remove code duplicated between WTF, WebCore and WebKit.

&gt; Source/WTF/wtf/Logging.h:57
&gt; +WTF_EXPORT_PRIVATE String logLevelString();
&gt; +bool isLogChannelEnabled(const String&amp; name);
&gt; +WTF_EXPORT_PRIVATE void setLogChannelToAccumulate(const String&amp; name);
&gt; +WTF_EXPORT_PRIVATE void clearAllLogChannelsToAccumulate();
&gt; +WTF_EXPORT_PRIVATE void initializeLogChannelsIfNecessary(std::optional&lt;String&gt; = std::nullopt);

I think you should follow WebCore and put these in LogInitialization.h (there was a reason I split things into two headers, but I forget what it was).

I think you can also remove the WebCore and WebKit implementations of these functions, sharing all the code from WTF.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782676</commentid>
    <comment_count>4</comment_count>
      <attachid>435121</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-07 02:14:10 -0700</bug_when>
    <thetext>Created attachment 435121
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782677</commentid>
    <comment_count>5</comment_count>
      <attachid>435122</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-07 02:22:23 -0700</bug_when>
    <thetext>Created attachment 435122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782678</commentid>
    <comment_count>6</comment_count>
      <attachid>435123</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-07 02:24:42 -0700</bug_when>
    <thetext>Created attachment 435123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782683</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-08-07 05:15:30 -0700</bug_when>
    <thetext>You might want to update the documentation. https://github.com/WebKit/WebKit/blob/main/Introduction.md#logging-in-webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782711</commentid>
    <comment_count>8</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-07 11:18:34 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #7)
&gt; You might want to update the documentation.
&gt; https://github.com/WebKit/WebKit/blob/main/Introduction.md#logging-in-webkit

Yeah, good idea. It looks like nothing that&apos;s currently written there is inaccurate with these latest patches, but I can add some more details which will make it more clear how to do things like enable/disable log channels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782712</commentid>
    <comment_count>9</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-07 11:20:12 -0700</bug_when>
    <thetext>Also, I can add information about how to add a new log channel, which macro to use where, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782719</commentid>
    <comment_count>10</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-07 12:31:46 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=228899</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782766</commentid>
    <comment_count>11</comment_count>
      <attachid>435123</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-08-08 05:43:04 -0700</bug_when>
    <thetext>Comment on attachment 435123
Patch

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

&gt; Source/WTF/wtf/MemoryPressureHandler.cpp:56
&gt; +#endif

Do you still need to explicitly call WTFInitializeLogChannelStatesFromString for MemoryPressure log channel?
I think WTF::logChannels().initializeLogChannelsIfNecessary() does the initialization even for MemoryPressure log channel.

&gt; Source/WTF/wtf/unix/LoggingUnix.cpp:38
&gt; +        return makeString(&quot;-all&quot;_s);

This seems unexpected behavior change. This disable all WTF log channels as default if WEBKIT_DEBUG is not set.

&gt; Source/WTF/wtf/unix/LoggingUnix.cpp:46
&gt; +    return makeString(&quot;NotYetImplemented,&quot;_s, logEnv);

This seems useless. WTF module doesn&apos;t have &quot;NotYetImplemented&quot; log channel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782817</commentid>
    <comment_count>12</comment_count>
      <attachid>435123</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-08 19:27:34 -0700</bug_when>
    <thetext>Comment on attachment 435123
Patch

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

&gt;&gt; Source/WTF/wtf/MemoryPressureHandler.cpp:56
&gt;&gt; +#endif
&gt; 
&gt; Do you still need to explicitly call WTFInitializeLogChannelStatesFromString for MemoryPressure log channel?
&gt; I think WTF::logChannels().initializeLogChannelsIfNecessary() does the initialization even for MemoryPressure log channel.

Right! Good catch.

&gt;&gt; Source/WTF/wtf/unix/LoggingUnix.cpp:38
&gt;&gt; +        return makeString(&quot;-all&quot;_s);
&gt; 
&gt; This seems unexpected behavior change. This disable all WTF log channels as default if WEBKIT_DEBUG is not set.

Right, yes. I copied this from WebCore, but you&apos;re right that I shouldn&apos;t be changing this behavior.

&gt;&gt; Source/WTF/wtf/unix/LoggingUnix.cpp:46
&gt;&gt; +    return makeString(&quot;NotYetImplemented,&quot;_s, logEnv);
&gt; 
&gt; This seems useless. WTF module doesn&apos;t have &quot;NotYetImplemented&quot; log channel.

Right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782818</commentid>
    <comment_count>13</comment_count>
      <attachid>435163</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-08 19:28:12 -0700</bug_when>
    <thetext>Created attachment 435163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782821</commentid>
    <comment_count>14</comment_count>
      <attachid>435163</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-08-08 20:37:25 -0700</bug_when>
    <thetext>Comment on attachment 435163
Patch

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

LGTM

&gt; Source/WTF/wtf/unix/LoggingUnix.cpp:41
&gt; +    // To disable logging notImplemented set the DISABLE_NI_WARNING environment variable to 1.

Remove this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782969</commentid>
    <comment_count>15</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-09 14:15:05 -0700</bug_when>
    <thetext>Committed r280795 (240373@main): &lt;https://commits.webkit.org/240373@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1782984</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-09 14:41:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/81713600&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783062</commentid>
    <comment_count>17</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-08-09 18:49:04 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #15)
&gt; Committed r280795 (240373@main): &lt;https://commits.webkit.org/240373@main&gt;

This change caused build failures for Debug builds of Win, GTK and WPE ports.

  Bug 228938 – [GTK][WPE] REGRESSION(r280795): MemoryPressureHandlerUnix.cpp:45:28: error: ‘LogMemoryPressure’ was not declared in this scope
  Bug 228937 – [WTF][Win] REGRESSION(r280795) error LNK2019: unresolved external symbol &quot;class WTF::String __cdecl WTF::logLevelString(void)&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783090</commentid>
    <comment_count>18</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-09 20:10:04 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #17)
&gt; (In reply to Myles C. Maxfield from comment #15)
&gt; &gt; Committed r280795 (240373@main): &lt;https://commits.webkit.org/240373@main&gt;
&gt; 
&gt; This change caused build failures for Debug builds of Win, GTK and WPE ports.
&gt; 
&gt;   Bug 228938 – [GTK][WPE] REGRESSION(r280795):
&gt; MemoryPressureHandlerUnix.cpp:45:28: error: ‘LogMemoryPressure’ was not
&gt; declared in this scope
&gt;   Bug 228937 – [WTF][Win] REGRESSION(r280795) error LNK2019: unresolved
&gt; external symbol &quot;class WTF::String __cdecl WTF::logLevelString(void)&quot;

Oh, no :(

EWS was green though :(

Thanks for fixing it!!!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434895</attachid>
            <date>2021-08-04 02:23:11 -0700</date>
            <delta_ts>2021-08-04 02:33:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228768-20210804022310.patch</filename>
            <type>text/plain</type>
            <size>49133</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQ4YmI2NjE2MWVkN2Q0MWU0OTZmN2Iy
YTZhODI2YTIwODYwOGY3YmEuLjFhNzMzMDcwZjJjMmFmMzU3NzgzYTNiNTZlMGM1Y2M2YTMyODg1
Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMjEtMDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IFdURiBsb2dnaW5nIGNoYW5u
ZWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg3
NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVy
ZSBhcmUgNCBsb2dnaW5nIGNoYW5uZWxzIHVzZWQgaW4gV1RGLCBidXQgZWFjaCBvbmUgaXMgZG9u
ZSBpbiBhIGN1c3RvbSBvbmUtb2ZmIHdheS4KKyAgICAgICAgSSdtIGFkZGluZyBhIDV0aCBvbmUg
aW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODc2NCwgYW5kIEkg
ZXhwZWN0CisgICAgICAgIEknbGwgcHJvYmFibHkgYmUgYWRkaW5nIGEgNnRoIHNvbWV0aW1lIHNv
b24uIEl0J3MgY2xlYXIgdGhhdCBXVEYgbmVlZHMgaXRzIG93biBsb2dnaW5nCisgICAgICAgIGNo
YW5uZWwgc3VwcG9ydCwgdGhlIHNhbWUgd2F5IFdlYkNvcmUsIFdlYktpdCwgYW5kIFdlYktpdExl
Z2FjeSBoYXZlLgorCisgICAgICAgIFRoZSBiaWdnZXN0IG1lY2hhbmljYWwgYmVuZWZpdCBvZiB0
aGlzIGlzIHRoYXQgaXQncyBub3cgcG9zc2libGUgdG8gZW5hYmxlIHRoZXNlIFdURgorICAgICAg
ICBsb2dnaW5nIGNoYW5uZWxzIGJ5IHNldHRpbmcgImRlZmF1bHRzIHdyaXRlIiB2YXJpYWJsZXMu
IFRoZSBjaGFubmVscyBhcmUgaG9va2VkIHVwCisgICAgICAgIHRvIHRoZSBXVEZMb2dnaW5nIHZh
cmlhYmxlLCBhcyBhIHNpYmxpbmcgdG8gV2ViQ29yZUxvZ2dpbmcgYW5kIFdlYktpdDIgbG9nZ2lu
Zy4gSXQgYWxzbworICAgICAgICBob29rcyBpdCB1cCB0byB0aGUgaW5mcmFzdHJ1Y3R1cmUgd2hl
cmUgdGhlIHN0YXRlIG9mIHRoZSB2YXJpYWJsZXMgaXMgZGV0ZXJtaW5lZCBpbiB0aGUKKyAgICAg
ICAgVUkgcHJvY2VzcyBhbmQgc2VudCBhbG9uZyB3aXRoIHRoZSBpbml0aWFsaXphdGlvbiBtZXNz
YWdlIHRvIHRoZSB3ZWIgcHJvY2VzcywgYmVjYXVzZSB0aGUKKyAgICAgICAgd2ViIHByb2Nlc3Mn
cyBzYW5kYm94IG1pZ2h0IG5vdCBhbGxvdyB0aGUgd2ViIHByb2Nlc3MgdG8gc2VlIGl0cyBvd24g
ZGVmYXVsdHMgdmFyaWFibGVzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lc24ndCBjaGFuZ2Ug
YW55dGhpbmcgYWJvdXQgdGhlIGRlZmF1bHQgc3RhdGUgb3IgbG9nZ2luZyBsZXZlbCBvZiB0aGVz
ZSA0CisgICAgICAgIGNoYW5uZWxzLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogd3RmL0Fzc2VydGlvbnMuaDoKKyAgICAgICAgKiB3dGYvQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0xvZ2dpbmcuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcC4KKyAgICAgICAgKFdURjo6aXNMb2dDaGFu
bmVsRW5hYmxlZCk6CisgICAgICAgIChXVEY6OnNldExvZ0NoYW5uZWxUb0FjY3VtdWxhdGUpOgor
ICAgICAgICAoV1RGOjpjbGVhckFsbExvZ0NoYW5uZWxzVG9BY2N1bXVsYXRlKToKKyAgICAgICAg
KFdURjo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkpOgorICAgICAgICAoV1RGOjpn
ZXRMb2dDaGFubmVsKToKKyAgICAgICAgKiB3dGYvTG9nZ2luZy5oOiBBZGRlZC4KKyAgICAgICAg
KiB3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdURjo6TWVtb3J5UHJl
c3N1cmVIYW5kbGVyOjpzaW5nbGV0b24pOgorICAgICAgICAqIHd0Zi9NZW1vcnlQcmVzc3VyZUhh
bmRsZXIuaDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1GVFcuY21ha2U6CisgICAgICAgICogd3Rm
L1BsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2U6
CisgICAgICAgICogd3RmL1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9y
bVBsYXlTdGF0aW9uLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybVdQRS5jbWFrZToKKyAg
ICAgICAgKiB3dGYvUGxhdGZvcm1XaW4uY21ha2U6CisgICAgICAgICogd3RmL1JlZkNvdW50ZWRM
ZWFrQ291bnRlci5jcHA6CisgICAgICAgICogd3RmL2NvY29hL0xvZ2dpbmdDb2NvYS5tbTogQ29w
aWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvR1BVUHJvY2Vzc1Byb3h5Q29j
b2EubW0uCisgICAgICAgIChXVEY6OmxvZ0xldmVsU3RyaW5nKToKKyAgICAgICAgKiB3dGYvY29j
b2EvTWFjaFNlbmRSaWdodC5jcHA6CisgICAgICAgICogd3RmL2NvY29hL01haW5UaHJlYWRDb2Nv
YS5tbToKKyAgICAgICAgKiB3dGYvY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW06
CisgICAgICAgICogd3RmL3VuaXgvTG9nZ2luZ1VuaXguY3BwOiBBZGRlZC4KKyAgICAgICAgKFdU
Rjo6bG9nTGV2ZWxTdHJpbmcpOgorICAgICAgICAqIHd0Zi93aW4vTG9nZ2luZ1dpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAoV1RGOjpsb2dMZXZlbFN0cmluZyk6CisKIDIwMjEtMDgtMDIgIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIENoZWNrZWRSZWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAwZmRjNzEzMzE1Mjk2NDYxYmNiMThlZGM5NDI1MGZlNTRlNGQ5NjUwLi4zMTY5
NjQ3YjhhYmE4ZThjNDkyOWYxYzk0NjlhZDA2YzlkZDQ2ZDZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMjEtMDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxl
LmNvbT4KKworICAgICAgICBTdXBwb3J0IFdURiBsb2dnaW5nIGNoYW5uZWxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg3NjgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVz
ZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dn
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNz
YXJ5KToKKwogMjAyMS0wOC0wMiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAog
ICAgICAgICBBc3NlcnRpb24gaXMgbm90IGFjcXVpcmVkIGluIG5ldHdvcmsgcHJvY2VzcyB3aGVu
IG9wZW5pbmcgYSBTUUxpdGUgZGF0YWJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjI1MmU0NTlkY2YyYWE5NmYw
NzVkMzAyMmUyMjE0ZjMyNjc2MzJmNi4uMTUxMTAzNGQ2NjM0NzI1YjZlMmJiMmIzNzNkMzYxNWU4
ODI0OWQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAyMS0wOC0wNCAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgV1RGIGxv
Z2dpbmcgY2hhbm5lbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyODc2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BV
UHJvY2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nlc3MpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BV
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkdQ
VVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogU2hhcmVkL0F1eGls
aWFyeVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzOjppbml0
aWFsaXplKToKKyAgICAgICAgKiBTaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbml0aWFsaXplV2ViS2l0Mik6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0dQVVBy
b2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OnBs
YXRmb3JtSW5pdGlhbGl6ZUdQVVByb2Nlc3NQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
c1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFyYW1ldGVycyk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjEtMDgtMDIgIFBlbmcgTGl1ICA8cGVu
Zy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBbR1BVUF0gUmVtb3RlQXVkaW9TZXNzaW9uOjpz
ZXRQcmVmZXJyZWRCdWZmZXJTaXplKCkgZG9lcyBub3QgY2hhbmdlIGl0cyBwcmVmZXJyZWRCdWZm
ZXJTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggMGRmZjQzOGMxMjA3NTdmMzYz
ZTAwZGI4MzI0NzM1ZjU1ZTBhMWI5Yy4uZjQxODZhZWQxNzRmMjY3NDdiZTJlN2ZlYTVkNTk0YjMw
YjZjYjQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDIxLTA4LTA0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAg
ICAgICAgU3VwcG9ydCBXVEYgbG9nZ2luZyBjaGFubmVscworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4NzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6
XSk6CisKIDIwMjEtMDctMjkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KIAogICAgICAgICBTdG9wIGJ1aWxkaW5nIFdlYkdQVSBhbmQgdGhlIFdITFNMIGNvbXBpbGVy
IHRvIGRlY3JlYXNlIGJpbmFyeSBzaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA4YjgxZDhiYTcwN2MxMWZmYTNmN2NlMjdkN2MwZDFmYzhmMjg0ODhjLi41
ZTRiNGM1YjgwNGE1YjRjZWE0YWMyM2MwNmVmNTdiMThjNDViYThlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RG
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU5LDYgKzU5LDggQEAKIAkJMUMxODFDOTEx
RDMwN0FCODAwRjVGQTE2IC8qIFVUZXh0UHJvdmlkZXJMYXRpbjEuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMxODFDOEIxRDMwN0FCODAwRjVGQTE2
IC8qIFVUZXh0UHJvdmlkZXJMYXRpbjEuY3BwICovOyB9OwogCQkxQzE4MUM5MzFEMzA3QUI4MDBG
NUZBMTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzhEMUQzMDdBQjgwMEY1RkExNiAvKiBVVGV4dFBy
b3ZpZGVyVVRGMTYuY3BwICovOyB9OwogCQkxQzE4MUM5NjFEMzA4MDBBMDBGNUZBMTYgLyogVGV4
dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzk1MUQzMDgwMEEwMEY1RkExNiAvKiBUZXh0
QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3BwICovOyB9OworCQkxQzQ2MTZBMzI2QkE3
RjExMDBGOEM5RjYgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQzQ2MTZBMTI2QkE3RjAyMDBGOEM5RjYgLyogTG9nZ2luZy5jcHAg
Ki87IH07CisJCTFDNDYxNkE1MjZCQTg1Q0UwMEY4QzlGNiAvKiBMb2dnaW5nQ29jb2EubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzQ2MTZBNDI2QkE4
NUNFMDBGOEM5RjYgLyogTG9nZ2luZ0NvY29hLm1tICovOyB9OwogCQkxQzUwM0JFNjIzQUFFMEFF
MDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFDNTAzQkU1MjNBQUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNv
Y29hLm1tICovOyB9OwogCQkxQ0E4NUNBOTI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNBODVDQTgyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0NvY29hLmNwcCAqLzsgfTsKIAkJMUZBNDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdl
YkNvcmVUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUZBNDdDODgxNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9
OwpAQCAtMzQ0LDYgKzM0Niw5IEBACiAJCTFDMTgxQzhEMUQzMDdBQjgwMEY1RkExNiAvKiBVVGV4
dFByb3ZpZGVyVVRGMTYuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VVRleHRQcm92aWRlclVURjE2LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMx
ODFDOEUxRDMwN0FCODAwRjVGQTE2IC8qIFVUZXh0UHJvdmlkZXJVVEYxNi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBVVGV4dFByb3ZpZGVyVVRGMTYuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUMxODFDOTUxRDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0
ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxQzQ2MTZBMTI2QkE3RjAyMDBGOEM5RjYgLyogTG9nZ2luZy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2dnaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUM0NjE2QTIyNkJBN0YwMjAwRjhDOUY2IC8qIExvZ2dpbmcuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTG9nZ2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzQ2MTZBNDI2
QkE4NUNFMDBGOEM5RjYgLyogTG9nZ2luZ0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
TG9nZ2luZ0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzUwM0JFNDIz
QUFERUVBMDA3MkU2NkIgLyogTlNMb2NhbGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNMb2NhbGVT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM1MDNCRTUyM0FBRTBBRTAwNzJF
NjZCIC8qIExhbmd1YWdlQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMYW5ndWFnZUNv
Y29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E4NUNBNzI0MUIwQjExMDA3
MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTUxMiw4ICs1MTcsOCBAQAogCQk5QkI5MUY1MTI2NDhFQTREMDBBNTYyMTcgLyogQ2hl
Y2tlZFB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDaGVja2VkUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTlCQzcwRjA0MTc2QzM3OUQwMDEwMURFQyAvKiBBdG9tU3RyaW5nVGFibGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXRvbVN0cmluZ1RhYmxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUJEOEY0MEExNzZDMkFEODAwMDJE
ODY1IC8qIEF0b21TdHJpbmdUYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdG9tU3RyaW5nVGFibGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOUJGMDAxMzQyNjdDNENDRjAwRENGQjNG
IC8qIENoZWNrZWRSZWYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2hlY2tlZFJlZi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5QkUxNTMzNTI2NzFGMDBGMDBDN0QwOTYgLyogV2Vha0hhc2hN
YXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha0hhc2hNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOUJGMDAxMzQyNjdDNENDRjAwRENGQjNGIC8qIENoZWNrZWRSZWYuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2hlY2tlZFJlZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QzY3
QzU0MjU4OTM0OEUyODVCNDk2OTkgLyogSW5kZXhlZENvbnRhaW5lckl0ZXJhdG9yLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4ZWRDb250YWluZXJJdGVyYXRvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUI4OUI4NzIyMUUwMDBGMDBFQjRDRUEgLyog
U0RLVmFyaWFudC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBTREtW
YXJpYW50LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMzBENDEyQzFG
MERFMEJBMDBCNzE5NTQgLyogU29mdExpbmtpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU29mdExpbmtpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEx
MjUsNiArMTEzMCw4IEBACiAJCQkJOTNCNUI0NTAyMjE3MUVFOTAwNEI3QUE3IC8qIExvZ2dlci5j
cHAgKi8sCiAJCQkJMDc3Q0Q4NkExRkQ5Q0ZEMjAwODI4NTg3IC8qIExvZ2dlci5oICovLAogCQkJ
CTA3N0NEODZCMUZEOUNGRDMwMDgyODU4NyAvKiBMb2dnZXJIZWxwZXIuaCAqLywKKwkJCQkxQzQ2
MTZBMTI2QkE3RjAyMDBGOEM5RjYgLyogTG9nZ2luZy5jcHAgKi8sCisJCQkJMUM0NjE2QTIyNkJB
N0YwMjAwRjhDOUY2IC8qIExvZ2dpbmcuaCAqLywKIAkJCQk1MTNFMTcwQTFDRDdENUJGMDBFMzY1
MEIgLyogTG9nZ2luZ0FjY3VtdWxhdG9yLmggKi8sCiAJCQkJMEYzMEJBOEMxRTc4NzA4RTAwMkNB
ODQ3IC8qIExvZ2dpbmdIYXNoSUQuaCAqLywKIAkJCQkwRjMwQkE4RDFFNzg3MDhFMDAyQ0E4NDcg
LyogTG9nZ2luZ0hhc2hNYXAuaCAqLywKQEAgLTE1ODAsNiArMTU4Nyw3IEBACiAJCQkJMTQzRERF
OTUyMEM4QkMzNzAwN0Y3NkZBIC8qIEVudGl0bGVtZW50cy5tbSAqLywKIAkJCQlBMzMxRDk1RTIx
RjI0OUY2MDA5RjAyQUEgLyogRmlsZVN5c3RlbUNvY29hLm1tICovLAogCQkJCTFDNTAzQkU1MjNB
QUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tICovLAorCQkJCTFDNDYxNkE0MjZCQTg1
Q0UwMEY4QzlGNiAvKiBMb2dnaW5nQ29jb2EubW0gKi8sCiAJCQkJN0E2RUJBMzMyMDc0NkMzNDAw
NEY5QzQ0IC8qIE1hY2hTZW5kUmlnaHQuY3BwICovLAogCQkJCUE4QTQ3MkM1MTUxQTgyNUEwMDQx
MjNGRiAvKiBNYWluVGhyZWFkQ29jb2EubW0gKi8sCiAJCQkJQURGMkNFNjUxRTM5RjEwNjAwNjg4
OURCIC8qIE1lbW9yeUZvb3RwcmludENvY29hLmNwcCAqLywKQEAgLTE3MzksNiArMTc0Nyw4IEBA
CiAJCQkJMEZFMTY0NkExQjZGRkM5NjAwNDAwRTdDIC8qIExvY2suY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEY2MEYzMkYxREZDQkQxQjAwNDE2RDZDIC8qIExvY2tlZFByaW50U3RyZWFtLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzQjVCNDUxMjIxNzFFRUEwMDRCN0FBNyAvKiBMb2dnZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMUM0NjE2QTMyNkJBN0YxMTAwRjhDOUY2IC8qIExvZ2dpbmcu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUM0NjE2QTUyNkJBODVDRTAwRjhDOUY2IC8qIExvZ2dp
bmdDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzNTM0RjJBMUVDMEUxMEUwMDE0MUIyRiAv
KiBNYWNoRXhjZXB0aW9ucy5kZWZzIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E2RUJBMzQyMDc0NkMz
NDAwNEY5QzQ0IC8qIE1hY2hTZW5kUmlnaHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
RTUxNTFBODI1QjAwNDEyM0ZGIC8qIE1haW5UaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvV1RGL3d0Zi9Bc3Nl
cnRpb25zLmgKaW5kZXggMjc3YzIyYmNmZTYyYWUwYjZmZWNhODlhOGIxNzUxODJhNjA0ZWFjNC4u
NTBjODEwMTExMjkwNGY1ZGM0ZDY5NTBlYWQ5NGI5ODhlYTc5MTZiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMu
aApAQCAtMTg3LDE5ICsxODcsMjIgQEAgdHlwZWRlZiBzdHJ1Y3QgewogCiAjaWYgIWRlZmluZWQo
REVGSU5FX0xPR19DSEFOTkVMKQogI2lmIFJFTEVBU0VfTE9HX0RJU0FCTEVECi0jZGVmaW5lIERF
RklORV9MT0dfQ0hBTk5FTChuYW1lLCBzdWJzeXN0ZW0pIFwKLSAgICBXVEZMb2dDaGFubmVsIExP
R19DSEFOTkVMKG5hbWUpID0geyAoV1RGTG9nQ2hhbm5lbFN0YXRlKTAsICNuYW1lLCAoV1RGTG9n
TGV2ZWwpMSB9OworI2RlZmluZSBERUZJTkVfTE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxTKG5hbWUs
IGluaXRpYWxTdGF0ZSwgbGV2ZWwsIHN1YnN5c3RlbSkgXAorICAgIFdURkxvZ0NoYW5uZWwgTE9H
X0NIQU5ORUwobmFtZSkgPSB7IGluaXRpYWxTdGF0ZSwgI25hbWUsIGxldmVsIH07CiAjZW5kaWYK
ICNpZiBVU0UoT1NfTE9HKSAmJiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSNkZWZpbmUgREVGSU5F
X0xPR19DSEFOTkVMKG5hbWUsIHN1YnN5c3RlbSkgXAotICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NI
QU5ORUwobmFtZSkgPSB7IChXVEZMb2dDaGFubmVsU3RhdGUpMCwgI25hbWUsIChXVEZMb2dMZXZl
bCkxLCBzdWJzeXN0ZW0sIE9TX0xPR19ERUZBVUxUIH07CisjZGVmaW5lIERFRklORV9MT0dfQ0hB
Tk5FTF9XSVRIX0RFVEFJTFMobmFtZSwgaW5pdGlhbFN0YXRlLCBsZXZlbCwgc3Vic3lzdGVtKSBc
CisgICAgV1RGTG9nQ2hhbm5lbCBMT0dfQ0hBTk5FTChuYW1lKSA9IHsgaW5pdGlhbFN0YXRlLCAj
bmFtZSwgbGV2ZWwsIHN1YnN5c3RlbSwgT1NfTE9HX0RFRkFVTFQgfTsKICNlbmRpZgogI2lmIFVT
RShKT1VSTkFMRCkgJiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0jZGVmaW5lIERFRklORV9MT0df
Q0hBTk5FTChuYW1lLCBzdWJzeXN0ZW0pICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgV1RGTG9nQ2hhbm5lbCBMT0dfQ0hBTk5FTChuYW1lKSA9IHsgKFdURkxvZ0NoYW5uZWxTdGF0
ZSkwLCAjbmFtZSwgKFdURkxvZ0xldmVsKTEsIHN1YnN5c3RlbSB9OworI2RlZmluZSBERUZJTkVf
TE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxTKG5hbWUsIGluaXRpYWxTdGF0ZSwgbGV2ZWwsIHN1YnN5
c3RlbSkgXAorICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NIQU5ORUwobmFtZSkgPSB7IGluaXRpYWxT
dGF0ZSwgI25hbWUsIGxldmVsLCBzdWJzeXN0ZW0gfTsKICNlbmRpZgogI2VuZGlmCiAKKy8vIE9m
ZiBieSBkZWZhdWx0LCBsb2cgbGV2ZWwgZXJyb3IKKyNkZWZpbmUgREVGSU5FX0xPR19DSEFOTkVM
KG5hbWUsIHN1YnN5c3RlbSkgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhuYW1lLCAo
V1RGTG9nQ2hhbm5lbFN0YXRlKTAsIChXVEZMb2dMZXZlbCkxLCBzdWJzeXN0ZW0pOworCiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnROb3RJbXBsZW1lbnRlZFlldChjb25zdCBjaGFy
KiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24pOwogV1RGX0VYUE9SVF9QUklW
QVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQg
bGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFzc2VydGlvbik7CiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlV2l0aE1lc3NhZ2Uo
Y29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBj
aGFyKiBhc3NlcnRpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BS
SU5URig1LCA2KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggMDUxN2RkYmUzYmU3ZWIxNDIxNTlj
ZDExODUxOGZmNTllMTg1N2Y1OS4uZTc0MjZjNDZiNjczMzc3MDZiNTU4ZDI3ZjNjMDYwNGE2ZmM5
ZWQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTEyNSw2ICsxMjUsNyBAQCBzZXQoV1RGX1BV
QkxJQ19IRUFERVJTCiAgICAgTG9ja2xlc3NCYWcuaAogICAgIExvZ2dlci5oCiAgICAgTG9nZ2Vy
SGVscGVyLmgKKyAgICBMb2dnaW5nLmgKICAgICBMb2dnaW5nQWNjdW11bGF0b3IuaAogICAgIExv
Z2dpbmdIYXNoSUQuaAogICAgIExvZ2dpbmdIYXNoTWFwLmgKQEAgLTQyMyw2ICs0MjQsNyBAQCBz
ZXQoV1RGX1NPVVJDRVMKICAgICBMb2NrLmNwcAogICAgIExvY2tlZFByaW50U3RyZWFtLmNwcAog
ICAgIExvZ2dlci5jcHAKKyAgICBMb2dnaW5nLmNwcAogICAgIE1haW5UaHJlYWQuY3BwCiAgICAg
TWVkaWFUaW1lLmNwcAogICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmcuY3BwIGIvU291cmNlL1dURi93dGYvTG9nZ2luZy5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWFkZTc3NmEwYjc5OGQ0NTVjZGExZTVjNTcxZDY3MGU1MGJhODUyMwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmcuY3BwCkBAIC0wLDAgKzEsMTEx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisKKyNpbmNsdWRlIDx3dGYvTG9n
Z2luZ0FjY3VtdWxhdG9yLmg+CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlIDxub3Rp
ZnkuaD4KKyNpbmNsdWRlIDx3dGYvQmxvY2tQdHIuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgV1RG
IHsKKworI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKKy8vIENs
YW5nIGdldHMgY29uZnVzZWQgaWYgY29sb25zIGFwcGVhciBpbnNpZGUgYnJhY2UgaW5pdGlhbGl6
YXRpb24uCitjb25zdGV4cHIgV1RGTG9nQ2hhbm5lbFN0YXRlIHN0YXRlT24gPSBXVEZMb2dDaGFu
bmVsU3RhdGU6Ok9uOworY29uc3RleHByIFdURkxvZ0xldmVsIGxldmVsRXJyb3IgPSBXVEZMb2dM
ZXZlbDo6RXJyb3I7CisKK0RFRklORV9MT0dfQ0hBTk5FTF9XSVRIX0RFVEFJTFMoUmVmQ291bnRl
ZExlYWtzLCBzdGF0ZU9uLCAgbGV2ZWxFcnJvciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RF
TSk7CitERUZJTkVfTE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxTKFByb2Nlc3MsICAgICAgICAgc3Rh
dGVPbiwgIGxldmVsRXJyb3IsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOworREVGSU5F
X0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhUaHJlYWRpbmcsICAgICAgIHN0YXRlT24sICBsZXZl
bEVycm9yLCBMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNKTsKK0RFRklORV9MT0dfQ0hBTk5F
TChNZW1vcnlQcmVzc3VyZSwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSk7CisKK3N0YXRp
YyBXVEZMb2dDaGFubmVsKiBsb2dDaGFubmVsc1tdID0geworICAgIFdURl9MT0dfQ0hBTk5FTFMo
TE9HX0NIQU5ORUxfQUREUkVTUykKK307CisKK3N0YXRpYyBjb25zdCBzaXplX3QgbG9nQ2hhbm5l
bENvdW50ID0gV1RGX0FSUkFZX0xFTkdUSChsb2dDaGFubmVscyk7CisKK2Jvb2wgaXNMb2dDaGFu
bmVsRW5hYmxlZChjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgV1RGTG9nQ2hhbm5lbCogY2hh
bm5lbCA9IFdURkxvZ0NoYW5uZWxCeU5hbWUobG9nQ2hhbm5lbHMsIGxvZ0NoYW5uZWxDb3VudCwg
bmFtZS51dGY4KCkuZGF0YSgpKTsKKyAgICBpZiAoIWNoYW5uZWwpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gY2hhbm5lbC0+c3RhdGUgIT0gV1RGTG9nQ2hhbm5lbFN0YXRlOjpP
ZmY7Cit9CisKK3N0YXRpYyBib29sIGxvZ0NoYW5uZWxzTmVlZEluaXRpYWxpemF0aW9uID0gdHJ1
ZTsKKwordm9pZCBzZXRMb2dDaGFubmVsVG9BY2N1bXVsYXRlKGNvbnN0IFN0cmluZyYgbmFtZSkK
K3sKKyAgICBXVEZMb2dDaGFubmVsKiBjaGFubmVsID0gV1RGTG9nQ2hhbm5lbEJ5TmFtZShsb2dD
aGFubmVscywgbG9nQ2hhbm5lbENvdW50LCBuYW1lLnV0ZjgoKS5kYXRhKCkpOworICAgIGlmICgh
Y2hhbm5lbCkKKyAgICAgICAgcmV0dXJuOworCisgICAgY2hhbm5lbC0+c3RhdGUgPSBXVEZMb2dD
aGFubmVsU3RhdGU6Ok9uV2l0aEFjY3VtdWxhdGlvbjsKKyAgICBsb2dDaGFubmVsc05lZWRJbml0
aWFsaXphdGlvbiA9IHRydWU7Cit9CisKK3ZvaWQgY2xlYXJBbGxMb2dDaGFubmVsc1RvQWNjdW11
bGF0ZSgpCit7CisgICAgcmVzZXRBY2N1bXVsYXRlZExvZ3MoKTsKKyAgICBmb3IgKGF1dG8qIGNo
YW5uZWwgOiBsb2dDaGFubmVscykgeworICAgICAgICBpZiAoY2hhbm5lbC0+c3RhdGUgPT0gV1RG
TG9nQ2hhbm5lbFN0YXRlOjpPbldpdGhBY2N1bXVsYXRpb24pCisgICAgICAgICAgICBjaGFubmVs
LT5zdGF0ZSA9IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T2ZmOworICAgIH0KKworICAgIGxvZ0NoYW5u
ZWxzTmVlZEluaXRpYWxpemF0aW9uID0gdHJ1ZTsKK30KKwordm9pZCBpbml0aWFsaXplTG9nQ2hh
bm5lbHNJZk5lY2Vzc2FyeShzdGQ6Om9wdGlvbmFsPFN0cmluZz4gbG9nQ2hhbm5lbFN0cmluZykK
K3sKKyAgICBpZiAoIWxvZ0NoYW5uZWxzTmVlZEluaXRpYWxpemF0aW9uICYmICFsb2dDaGFubmVs
U3RyaW5nKQorICAgICAgICByZXR1cm47CisKKyAgICBsb2dDaGFubmVsc05lZWRJbml0aWFsaXph
dGlvbiA9IGZhbHNlOworCisgICAgU3RyaW5nIGVuYWJsZWRDaGFubmVsc1N0cmluZyA9IGxvZ0No
YW5uZWxTdHJpbmcgPyBsb2dDaGFubmVsU3RyaW5nLnZhbHVlKCkgOiBsb2dMZXZlbFN0cmluZygp
OworICAgIFdURkluaXRpYWxpemVMb2dDaGFubmVsU3RhdGVzRnJvbVN0cmluZyhsb2dDaGFubmVs
cywgbG9nQ2hhbm5lbENvdW50LCBlbmFibGVkQ2hhbm5lbHNTdHJpbmcudXRmOCgpLmRhdGEoKSk7
Cit9CisKK1dURkxvZ0NoYW5uZWwqIGdldExvZ0NoYW5uZWwoY29uc3QgU3RyaW5nJiBuYW1lKQor
eworICAgIHJldHVybiBXVEZMb2dDaGFubmVsQnlOYW1lKGxvZ0NoYW5uZWxzLCBsb2dDaGFubmVs
Q291bnQsIG5hbWUudXRmOCgpLmRhdGEoKSk7Cit9CisKKyNlbHNlCisKK1dURkxvZ0NoYW5uZWwq
IGdldExvZ0NoYW5uZWwoY29uc3QgU3RyaW5nJikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
KworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmcu
aCBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzk1ZDA4ODA5OTBlNjM0
NDc2MWY0Njc1OGFiNzkzMjM1ODI4MjkxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93
dGYvTG9nZ2luZy5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxvcHRpb25hbD4K
KyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXVEYgeworCisjaWYg
IUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKworI2lmbmRlZiBMT0dfQ0hB
Tk5FTF9QUkVGSVgKKyNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIFdURkxvZworI2VuZGlmCisK
KyNkZWZpbmUgV1RGX0xPR19DSEFOTkVMUyhNKSBcCisgICAgTShSZWZDb3VudGVkTGVha3MpIFwK
KyAgICBNKFByb2Nlc3MpIFwKKyAgICBNKFRocmVhZGluZykgXAorICAgIE0oTWVtb3J5UHJlc3N1
cmUpIFwKKworI3VuZGVmIERFQ0xBUkVfTE9HX0NIQU5ORUwKKyNkZWZpbmUgREVDTEFSRV9MT0df
Q0hBTk5FTChuYW1lKSBcCisgICAgV1RGX0VYUE9SVF9QUklWQVRFIGV4dGVybiBXVEZMb2dDaGFu
bmVsIEpPSU5fTE9HX0NIQU5ORUxfV0lUSF9QUkVGSVgoTE9HX0NIQU5ORUxfUFJFRklYLCBuYW1l
KTsKKworV1RGX0xPR19DSEFOTkVMUyhERUNMQVJFX0xPR19DSEFOTkVMKQorCitXVEZfRVhQT1JU
X1BSSVZBVEUgU3RyaW5nIGxvZ0xldmVsU3RyaW5nKCk7Citib29sIGlzTG9nQ2hhbm5lbEVuYWJs
ZWQoY29uc3QgU3RyaW5nJiBuYW1lKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNldExvZ0No
YW5uZWxUb0FjY3VtdWxhdGUoY29uc3QgU3RyaW5nJiBuYW1lKTsKK1dURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIGNsZWFyQWxsTG9nQ2hhbm5lbHNUb0FjY3VtdWxhdGUoKTsKK1dURl9FWFBPUlRfUFJJ
VkFURSB2b2lkIGluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHN0ZDo6b3B0aW9uYWw8
U3RyaW5nPiA9IHN0ZDo6bnVsbG9wdCk7CisKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorCitXVEZfRVhQT1JUX1BSSVZBVEUgV1RGTG9nQ2hhbm5lbCog
Z2V0TG9nQ2hhbm5lbChjb25zdCBTdHJpbmcmIG5hbWUpOworCit9IC8vIG5hbWVzcGFjZSBXVEYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCmluZGV4IDc1YTA4NTQ2MDhl
ZjVhOTIxZTI1MjkyZGExZmI2OGY0ZWQxNTc1ZjguLmU1NThhZDBhZmEyYjU5ZDNjZTYwYmUzNzkw
NzFlNGNhZTFlNDc0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJl
SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNw
cApAQCAtMjYsMTYgKzI2LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8d3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgogCisjaW5jbHVkZSA8d3RmL0xvZ2dpbmcuaD4KICNp
bmNsdWRlIDx3dGYvTWVtb3J5Rm9vdHByaW50Lmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJv
eWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JBTVNpemUuaD4KIAotI2RlZmluZSBMT0dfQ0hBTk5FTF9Q
UkVGSVggTG9nCi0KIG5hbWVzcGFjZSBXVEYgewogCi1ERUZJTkVfTE9HX0NIQU5ORUwoTWVtb3J5
UHJlc3N1cmUsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOwotCiBXVEZfRVhQT1JUX1BS
SVZBVEUgYm9vbCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OlJlbGllZkxvZ2dlcjo6c19sb2dnaW5n
RW5hYmxlZCA9IGZhbHNlOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTUzLDcgKzUw
LDcgQEAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyJiBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmds
ZXRvbigpCiAgICAgc3RhdGljIExhenlOZXZlckRlc3Ryb3llZDxNZW1vcnlQcmVzc3VyZUhhbmRs
ZXI+IG1lbW9yeVByZXNzdXJlSGFuZGxlcjsKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25j
ZUtleTsKICAgICBzdGQ6OmNhbGxfb25jZShvbmNlS2V5LCBbJl0gewotICAgICAgICBXVEZMb2dD
aGFubmVsKiBjaGFubmVsc1tdID0geyAmTG9nTWVtb3J5UHJlc3N1cmUgfTsKKyAgICAgICAgV1RG
TG9nQ2hhbm5lbCogY2hhbm5lbHNbXSA9IHsgJldURkxvZ01lbW9yeVByZXNzdXJlIH07CiAgICAg
ICAgIFdURkluaXRpYWxpemVMb2dDaGFubmVsU3RhdGVzRnJvbVN0cmluZyhjaGFubmVscywgMSwg
IiIpOwogCiAgICAgICAgIG1lbW9yeVByZXNzdXJlSGFuZGxlci5jb25zdHJ1Y3QoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oIGIvU291cmNlL1dU
Ri93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgKaW5kZXggMDkzMDZlMzM0YTNiYzM5ZTllNzNi
YjQwOGU0MDAxMjYyZjFiZWQ5Mi4uZWFlZDc5MjVjMTNiY2E4NWZjNzdjM2U3NGI3YjgxNWNjODM0
NWQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgK
KysrIGIvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgKQEAgLTI3Miw4ICsy
NzIsNiBAQCBwcml2YXRlOgogI2VuZGlmCiB9OwogCi1leHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dN
ZW1vcnlQcmVzc3VyZTsKLQogfSAvLyBuYW1lc3BhY2UgV1RGCiAKIHVzaW5nIFdURjo6Q3JpdGlj
YWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUZUVy5jbWFrZSBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtRlRXLmNtYWtlCmluZGV4IDE1MzMxMjczYzkxMWFlN2JlMDRhYTBl
YTI4ZTZkZjYyNTQxNjNmNGYuLjY4MmY0MjBkYzg3NTQ3MDQxYWRiYzc5NWUzOGRlMzhiOTMwN2Ey
NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRlRXLmNtYWtlCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRlRXLmNtYWtlCkBAIC0yNCw2ICsyNCw3IEBAIGxpc3QoQVBQ
RU5EIFdURl9TT1VSQ0VTCiAgICAgd2luL0RiZ0hlbHBlcldpbi5jcHAKICAgICB3aW4vRmlsZVN5
c3RlbVdpbi5jcHAKICAgICB3aW4vTGFuZ3VhZ2VXaW4uY3BwCisgICAgd2luL0xvZ2dpbmdXaW4u
Y3BwCiAgICAgd2luL01haW5UaHJlYWRXaW4uY3BwCiAgICAgd2luL01lbW9yeUZvb3RwcmludFdp
bi5jcHAKICAgICB3aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUdUSy5jbWFrZQppbmRleCA5YmQ1ZmRlNWJjMzgzNTVlMjViYzA5ZDA1YTA0NWRmMzFlZmFhMjU5
Li40YTEyYjVhNDM5M2ZlMmJiZTM5NjczZTNmYTU0N2M5ZDY5NzZhYmQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybUdUSy5jbWFrZQpAQCAtNDQsNiArNDQsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwog
ICAgIHRleHQvdW5peC9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5jcHAKIAogICAg
IHVuaXgvTGFuZ3VhZ2VVbml4LmNwcAorICAgIHVuaXgvTG9nZ2luZ1VuaXguY3BwCiAgICAgdW5p
eC9VbmlTdGRFeHRyYXNVbml4LmNwcAogKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUpTQ09ubHkuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21h
a2UKaW5kZXggYzJiM2EwZmU0Yzg1ZDY2NGM1OThlMmFkNmRlYTYwOThiMjIyYTBkYi4uZTkzYTI4
NWEyZDg3MTc1NzgxNWVlZTI2YmY1YjY1ZDRhMzljY2FlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
SlNDT25seS5jbWFrZQpAQCAtMTEsNiArMTEsNyBAQCBpZiAoV0lOMzIpCiAgICAgICAgIHdpbi9E
YmdIZWxwZXJXaW4uY3BwCiAgICAgICAgIHdpbi9GaWxlU3lzdGVtV2luLmNwcAogICAgICAgICB3
aW4vTGFuZ3VhZ2VXaW4uY3BwCisgICAgICAgIHdpbi9Mb2dnaW5nV2luLmNwcAogICAgICAgICB3
aW4vTWFpblRocmVhZFdpbi5jcHAKICAgICAgICAgd2luL09TQWxsb2NhdG9yV2luLmNwcAogICAg
ICAgICB3aW4vUGF0aFdhbGtlci5jcHAKQEAgLTM3LDYgKzM4LDcgQEAgZWxzZSAoKQogICAgICAg
ICB0ZXh0L3VuaXgvVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVVVuaXguY3BwCiAKICAgICAg
ICAgdW5peC9MYW5ndWFnZVVuaXguY3BwCisgICAgICAgIHVuaXgvTG9nZ2luZ1VuaXguY3BwCiAg
ICAgKQogICAgIGlmIChXVEZfT1NfRlVDSFNJQSkKICAgICAgICAgbGlzdChBUFBFTkQgV1RGX1NP
VVJDRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291
cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggMjYyZWFmNTM5NmRlMDlmZTA5OTk4
MTFmYjMyZjAzYzRmYzY5YjA0OC4uMzZiYmI5ZGNiYTFjYmM1MDYzNTMxNGFkMjZjOTRiYzA0NmJm
YjRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTY0LDYgKzY0LDcgQEAgbGlzdChB
UFBFTkQgV1RGX1NPVVJDRVMKICAgICBjb2NvYS9FbnRpdGxlbWVudHMubW0KICAgICBjb2NvYS9G
aWxlU3lzdGVtQ29jb2EubW0KICAgICBjb2NvYS9MYW5ndWFnZUNvY29hLm1tCisgICAgY29jb2Ev
TG9nZ2luZ0NvY29hLm1tCiAgICAgY29jb2EvTWFjaFNlbmRSaWdodC5jcHAKICAgICBjb2NvYS9N
YWluVGhyZWFkQ29jb2EubW0KICAgICBjb2NvYS9NZW1vcnlGb290cHJpbnRDb2NvYS5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCmluZGV4IDY1NWYwYzkxNWIyZjVl
MjM1NmFmNGM4MWE4MGZlZTU2ZDhjNGE0ZjcuLmEwMzU5MDU3MDEyYjRiMDFkY2I1Mzk4NmFjNDZi
YjA2YmJkZDUyMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUGxheVN0YXRp
b24uY21ha2UKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZQpA
QCAtMTUsNiArMTUsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogCiAgICAgdGV4dC91bml4
L1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VVbml4LmNwcAogCisgICAgdW5peC9Mb2dnaW5n
VW5peC5jcHAKICAgICB1bml4L01lbW9yeVByZXNzdXJlSGFuZGxlclVuaXguY3BwCiApCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggYTg0MGE0ODdmZjAzYTNjODI3NDU1Y2FiNjdmYWE4
ZjgzZDIwYmZhOS4uNjQzZWYwZmNkZjRmM2NlNGExZjI3YmMwY2M2ZTE3OWI3MTQzYmJkNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1XUEUuY21ha2UKQEAgLTM3LDYgKzM3LDcgQEAgbGlzdChBUFBFTkQgV1RG
X1NPVVJDRVMKICAgICB0ZXh0L3VuaXgvVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVVVuaXgu
Y3BwCiAKICAgICB1bml4L0xhbmd1YWdlVW5peC5jcHAKKyAgICB1bml4L0xvZ2dpbmdVbml4LmNw
cAogICAgIHVuaXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKICAgICB1bml4L1VuaVN0
ZEV4dHJhc1VuaXguY3BwCiApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdp
bi5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IDY4ZjczODhl
N2YzNWRjZThhMzdlYzhiOGRjYTJlNmI4NGU0OWNhNTguLmNjNDNhMjFjOGVmZjM2ZTQxZjFmOTdh
ZjZlOTNhNWUxODZmNTYwNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2lu
LmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2luLmNtYWtlCkBAIC0xNyw2ICsx
Nyw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgd2luL0RiZ0hlbHBlcldpbi5jcHAK
ICAgICB3aW4vRmlsZVN5c3RlbVdpbi5jcHAKICAgICB3aW4vTGFuZ3VhZ2VXaW4uY3BwCisgICAg
d2luL0xvZ2dpbmdXaW4uY3BwCiAgICAgd2luL01haW5UaHJlYWRXaW4uY3BwCiAgICAgd2luL01l
bW9yeUZvb3RwcmludFdpbi5jcHAKICAgICB3aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCBi
L1NvdXJjZS9XVEYvd3RmL1JlZkNvdW50ZWRMZWFrQ291bnRlci5jcHAKaW5kZXggZGZhMjA0M2Rk
ZDQ1YWY1ODU0OGE0NzQ3N2EyY2YxYTJiODMwMThlYS4uYWUxNDI5OTkzMThkNjNkMTQ2OTAyMmQ2
YjU0YThiZmM3NGUzNDc1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUmVmQ291bnRlZExl
YWtDb3VudGVyLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIu
Y3BwCkBAIC0yMSw2ICsyMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWRMZWFrQ291bnRlci5oPgogCisjaW5jbHVkZSA8d3RmL0xvZ2dpbmcuaD4KKwog
I2lmZGVmIE5ERUJVRwogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTM5LDE3ICs0MSw2IEBAIHZvaWQg
UmVmQ291bnRlZExlYWtDb3VudGVyOjpkZWNyZW1lbnQoKSB7IH0KIAogbmFtZXNwYWNlIFdURiB7
CiAKLSNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZwotI2lmIFJFTEVBU0VfTE9HX0RJU0FC
TEVECi1zdGF0aWMgV1RGTG9nQ2hhbm5lbCBMb2dSZWZDb3VudGVkTGVha3MgPSB7IFdURkxvZ0No
YW5uZWxTdGF0ZTo6T24sICJSZWZDb3VudGVkTGVha3MiLCBXVEZMb2dMZXZlbDo6RXJyb3IgfTsK
LSNlbmRpZgotI2lmIFVTRShPU19MT0cpICYmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotc3RhdGlj
IFdURkxvZ0NoYW5uZWwgTG9nUmVmQ291bnRlZExlYWtzID0geyBXVEZMb2dDaGFubmVsU3RhdGU6
Ok9uLCAiUmVmQ291bnRlZExlYWtzIiwgV1RGTG9nTGV2ZWw6OkVycm9yLCBMT0dfQ0hBTk5FTF9X
RUJLSVRfU1VCU1lTVEVNLCBPU19MT0dfREVGQVVMVCB9OwotI2VuZGlmCi0jaWYgVVNFKEpPVVJO
QUxEKSAmJiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLXN0YXRpYyBXVEZMb2dDaGFubmVsIExvZ1Jl
ZkNvdW50ZWRMZWFrcyA9IHsgV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlJlZkNvdW50ZWRMZWFr
cyIsIFdURkxvZ0xldmVsOjpFcnJvciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSB9Owot
I2VuZGlmCi0KIHR5cGVkZWYgSGFzaENvdW50ZWRTZXQ8Y29uc3QgY2hhciosIFB0ckhhc2g8Y29u
c3QgY2hhcio+PiBSZWFzb25TZXQ7CiBzdGF0aWMgUmVhc29uU2V0KiBsZWFrTWVzc2FnZVN1cHBy
ZXNzaW9uUmVhc29uczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvTG9nZ2lu
Z0NvY29hLm1tIGIvU291cmNlL1dURi93dGYvY29jb2EvTG9nZ2luZ0NvY29hLm1tCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjNlZDVjNTA2MzYxMGVkYTE3ZWI5YWJjOWUxY2VlMDRkMjEzNTE2MjAKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Mb2dnaW5nQ29jb2EubW0KQEAgLTAsMCArMSw0
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCA8d3RmL0xvZ2dp
bmcuaD4KKworI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKK25h
bWVzcGFjZSBXVEYgeworCitTdHJpbmcgbG9nTGV2ZWxTdHJpbmcoKQoreworI2lmICFMT0dfRElT
QUJMRUQKKyAgICByZXR1cm4gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10g
c3RyaW5nRm9yS2V5OkAiV1RGTG9nZ2luZyJdOworI2Vsc2UKKyAgICByZXR1cm4gU3RyaW5nKCk7
CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvY29jb2EvTWFjaFNlbmRSaWdodC5jcHAgYi9Tb3VyY2UvV1RGL3d0
Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcAppbmRleCAyZWIzMDJkMWRkNWE5MjZiMjU1ODMxNWFk
MzcyODhmZTQ5N2VmMmVmLi5jOTUzYjM4OTQ3YWI3ZWRjY2E0MjFkYzBhMjkwODAyZDg1ZmRkYmE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcApAQCAtMjksMTcgKzI5LDEw
IEBACiAjaW5jbHVkZSA8bWFjaC9tYWNoX2Vycm9yLmg+CiAjaW5jbHVkZSA8bWFjaC9tYWNoX2lu
aXQuaD4KICNpbmNsdWRlIDx1dGlsaXR5PgotCi0jZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBM
b2cKKyNpbmNsdWRlIDx3dGYvTG9nZ2luZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotI2lmIFJF
TEVBU0VfTE9HX0RJU0FCTEVECi1XVEZMb2dDaGFubmVsIExvZ1Byb2Nlc3MgPSB7IFdURkxvZ0No
YW5uZWxTdGF0ZTo6T24sICJQcm9jZXNzIiwgV1RGTG9nTGV2ZWw6OkVycm9yIH07Ci0jZWxzZQot
V1RGTG9nQ2hhbm5lbCBMb2dQcm9jZXNzID0geyBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uLCAiUHJv
Y2VzcyIsIFdURkxvZ0xldmVsOjpFcnJvciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSwg
T1NfTE9HX0RFRkFVTFQgfTsKLSNlbmRpZgotCiBzdGF0aWMgdm9pZCByZXRhaW5TZW5kUmlnaHQo
bWFjaF9wb3J0X3QgcG9ydCkKIHsKICAgICBpZiAocG9ydCA9PSBNQUNIX1BPUlRfTlVMTCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbSBiL1NvdXJj
ZS9XVEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbQppbmRleCBmZDYzN2Y3ZjQ3MjAxNjBm
ODMwOWQ1OGY2YjA5NWNmMzIzMWZlZTJkLi41ODhlZDAwYThiNzMwMDIxNTQ3MzBhNmQzMmUwZmVl
ODJkNjJkZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWluVGhyZWFkQ29j
b2EubW0KKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCkBAIC0z
NSw2ICszNSw3IEBACiAjaW1wb3J0IDxzdGRpby5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMu
aD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgorI2ltcG9ydCA8d3RmL0xvZ2dpbmcuaD4KICNp
bXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0
IDx3dGYvU2NoZWR1bGVQYWlyLmg+CkBAIC00NCwxNiArNDUsOCBAQAogI2ltcG9ydCA8d3RmL2lv
cy9XZWJDb3JlVGhyZWFkLmg+CiAjZW5kaWYKIAotI2RlZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVgg
TG9nCi0KIG5hbWVzcGFjZSBXVEYgewogCi0jaWYgUkVMRUFTRV9MT0dfRElTQUJMRUQKLVdURkxv
Z0NoYW5uZWwgTG9nVGhyZWFkaW5nID0geyBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uLCAiVGhyZWFk
aW5nIiwgV1RGTG9nTGV2ZWw6OkVycm9yIH07Ci0jZWxzZQotV1RGTG9nQ2hhbm5lbCBMb2dUaHJl
YWRpbmcgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJUaHJlYWRpbmciLCBXVEZMb2dMZXZl
bDo6RXJyb3IsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0sIE9TX0xPR19ERUZBVUxUIH07
Ci0jZW5kaWYKLQogI2lmIFVTRShXRUJfVEhSRUFEKQogLy8gV2hlbiB0aGUgV2ViIHRocmVhZCBp
cyBlbmFibGVkLCB3ZSBjb25zaWRlciBpdCB0byBiZSB0aGUgbWFpbiB0aHJlYWQsIG5vdCBwdGhy
ZWFkIG1haW4uCiBzdGF0aWMgcHRocmVhZF90IHNfd2ViVGhyZWFkUHRocmVhZDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tIGIv
U291cmNlL1dURi93dGYvY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KaW5kZXgg
YTdiYmRkMzkwYjgwOWNhYjY4ZjExZTc3NmUzMThmZjk1ZjhiMDhmYy4uOTYyMDVkMGYyODYwZDQy
ODFjMjcyOWIzNTg3MDYwNmU0M2E1NGE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29j
b2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dURi93dGYvY29j
b2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBv
cnQgPG1hY2gvdGFza19pbmZvLmg+CiAjaW1wb3J0IDxtYWxsb2MvbWFsbG9jLmg+CiAjaW1wb3J0
IDxub3RpZnkuaD4KKyNpbXBvcnQgPHd0Zi9Mb2dnaW5nLmg+CiAjaW1wb3J0IDx3dGYvUmVzb3Vy
Y2VVc2FnZS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vRGlzcGF0Y2hTUEkuaD4KIApAQCAt
MzcsOCArMzgsNiBAQAogCiBleHRlcm4gIkMiIHZvaWQgY2FjaGVfc2ltdWxhdGVfbWVtb3J5X3dh
cm5pbmdfZXZlbnQodWludDY0X3QpOwogCi0jZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cK
LQogbmFtZXNwYWNlIFdURiB7CiAKIHZvaWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpwbGF0Zm9y
bVJlbGVhc2VNZW1vcnkoQ3JpdGljYWwgY3JpdGljYWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi91bml4L0xvZ2dpbmdVbml4LmNwcCBiL1NvdXJjZS9XVEYvd3RmL3VuaXgvTG9nZ2luZ1Vu
aXguY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmVmMDllNDQyZWE1NTI3NWMwMzk0MTQzMWFhNmU0MTIyN2QyOWMw
ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi91bml4L0xvZ2dpbmdVbml4LmNw
cApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IEFscCBUb2tlciA8
YWxwQGF0b2tlci5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR3VzdGF2byBOb3JvbmhhIFNp
bHZhIDxnbnNAZ25vbWUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKKworI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKKyNpbmNs
dWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdURiB7CisKK1N0cmluZyBsb2dMZXZlbFN0cmluZygpCit7CisgICAgY2hhciogbG9nRW52
ID0gZ2V0ZW52KCJXRUJLSVRfREVCVUciKTsKKworICAgIC8vIERpc2FibGUgYWxsIGxvZyBjaGFu
bmVscyBpZiBXRUJLSVRfREVCVUcgaXMgdW5zZXQuCisgICAgaWYgKCFsb2dFbnYpCisgICAgICAg
IHJldHVybiBtYWtlU3RyaW5nKCItYWxsIl9zKTsKKworICAgIC8vIFdlIHNldCB1cCB0aGUgbG9n
cyBhbnl3YXkgYmVjYXVzZSBzb21lIG9mIG91ciBsb2dnaW5nLCBzdWNoIGFzIFNvdXAncyBpcyBh
dmFpbGFibGUgaW4gcmVsZWFzZSBidWlsZHMuCisjaWYgZGVmaW5lZChOREVCVUcpICYmIFJFTEVB
U0VfTE9HX0RJU0FCTEVECisgICAgV1RGTG9nQWx3YXlzKCJXRUJLSVRfREVCVUcgaXMgbm90IGVt
cHR5LCBidXQgdGhpcyBpcyBhIHJlbGVhc2UgYnVpbGQuIE5vdGljZSB0aGF0IG1hbnkgbG9nIG1l
c3NhZ2VzIHdpbGwgb25seSBhcHBlYXIgaW4gYSBkZWJ1ZyBidWlsZC4iKTsKKyNlbmRpZgorCisg
ICAgLy8gVG8gZGlzYWJsZSBsb2dnaW5nIG5vdEltcGxlbWVudGVkIHNldCB0aGUgRElTQUJMRV9O
SV9XQVJOSU5HIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIDEuCisgICAgcmV0dXJuIG1ha2VTdHJp
bmcoIk5vdFlldEltcGxlbWVudGVkLCJfcywgbG9nRW52KTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V1RGCisKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvd2luL0xvZ2dpbmdXaW4uY3BwIGIvU291cmNlL1dU
Ri93dGYvd2luL0xvZ2dpbmdXaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjMmE3M2UxNDYyOThiNzYwZjc5
N2VhZTA3YmU0OWYyZjRiMTE4Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi93
aW4vTG9nZ2luZ1dpbi5jcHAKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJM
b2dnaW5nLmgiCisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAor
CisjaW5jbHVkZSA8d2luZG93cy5oPgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK1N0cmlu
ZyBsb2dMZXZlbFN0cmluZygpCit7CisjaWYgIUxPR19ESVNBQkxFRAorICAgIHN0YXRpYyBjb25z
dGV4cHIgY29uc3QgY2hhciogbG9nZ2luZ0Vudmlyb25tZW50VmFyaWFibGUgPSAiV1RGTG9nZ2lu
ZyI7CisgICAgRFdPUkQgbGVuZ3RoID0gR2V0RW52aXJvbm1lbnRWYXJpYWJsZUEobG9nZ2luZ0Vu
dmlyb25tZW50VmFyaWFibGUsIDAsIDApOworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1
cm4gZW1wdHlTdHJpbmcoKTsKKworICAgIFZlY3RvcjxjaGFyPiBidWZmZXIobGVuZ3RoKTsKKwor
ICAgIGlmICghR2V0RW52aXJvbm1lbnRWYXJpYWJsZUEobG9nZ2luZ0Vudmlyb25tZW50VmFyaWFi
bGUsIGJ1ZmZlci5kYXRhKCksIGxlbmd0aCkpCisgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygp
OworCisgICAgcmV0dXJuIFN0cmluZyhidWZmZXIuZGF0YSgpKTsKKyNlbHNlCisgICAgcmV0dXJu
IFN0cmluZygpOworI2VuZGlmCit9CisKK30gLy8gbmFtZXNwYWNlIFdURgorCisjZW5kaWYgLy8g
IUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TG9nZ2luZy5jcHAKaW5kZXggNjFmZThkMzc1MjE1ODNkMmQ0NjUxOTM4MDUwMjg1ZjNjNDM1Nzc3
MC4uOGFmZTJlYzg0Yzk5OThkY2YwMmE3NjA3NDk5MTA4MzY3M2MzNWRlYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG9nZ2luZy5jcHAKQEAgLTkwLDcgKzkwLDYgQEAgdm9pZCBpbml0aWFsaXplTG9n
Q2hhbm5lbHNJZk5lY2Vzc2FyeShzdGQ6Om9wdGlvbmFsPFN0cmluZz4gbG9nQ2hhbm5lbFN0cmlu
ZykKIAogICAgIFN0cmluZyBlbmFibGVkQ2hhbm5lbHNTdHJpbmcgPSBsb2dDaGFubmVsU3RyaW5n
ID8gbG9nQ2hhbm5lbFN0cmluZy52YWx1ZSgpIDogbG9nTGV2ZWxTdHJpbmcoKTsKICAgICBXVEZJ
bml0aWFsaXplTG9nQ2hhbm5lbFN0YXRlc0Zyb21TdHJpbmcobG9nQ2hhbm5lbHMsIGxvZ0NoYW5u
ZWxDb3VudCwgZW5hYmxlZENoYW5uZWxzU3RyaW5nLnV0ZjgoKS5kYXRhKCkpOwotLy8gICAgTG9n
RXZlbnRMb29wLnN0YXRlID0gV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbjsKIH0KIAogV1RGTG9nQ2hh
bm5lbCogZ2V0TG9nQ2hhbm5lbChjb25zdCBTdHJpbmcmIG5hbWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggNWE0OWZlZjA4OTQ4MzIxZjcwY2NjZjk2Njg1YTY1
NzI0YTkwYTI1YS4uYTE3NDgxM2I0MjcwM2ExOGM1ODljY2Q3MTAyODYxZTU2MTRmYTkwNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcApAQCAtNDksNiArNDksNyBAQAog
I2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPHd0
Zi9BbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3RmL0NhbGxiYWNrQWdncmVnYXRvci5oPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2dnaW5nLmg+CiAjaW5jbHVkZSA8d3RmL01lbW9yeVByZXNzdXJlSGFuZGxl
ci5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KICNpbmNsdWRlIDx3dGYvUHJvY2Vzc1By
aXZpbGVnZS5oPgpAQCAtMjQzLDYgKzI0NCw3IEBAIHZvaWQgR1BVUHJvY2Vzczo6aW5pdGlhbGl6
ZUdQVVByb2Nlc3MoR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAj
ZW5kaWYKIAogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
V1RGOjppbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLnd0ZkxvZ2dp
bmdDaGFubmVscyk7CiAgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nh
cnkocGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzKTsKICAgICBXZWJLaXQ6OmluaXRp
YWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5u
ZWxzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IGRmNGJhMjBkYTI1ZDUwYmQ2ZjI3
NTU2MDAxMTIzOWQ0NmU2ZDRjZWUuLmU4Yzk5MTNkMzViOTE0YjEyMzlhNjczYTZiNDYzYTg2OTlh
M2E4YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTU5LDYgKzU5LDcgQEAgdm9pZCBHUFVQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25z
dAogICAgIGVuY29kZXIgPDwgZHluYW1pY01hY2hFeHRlbnNpb25IYW5kbGVzOwogI2VuZGlmCiAK
KyAgICBlbmNvZGVyIDw8IHd0ZkxvZ2dpbmdDaGFubmVsczsKICAgICBlbmNvZGVyIDw8IHdlYkNv
cmVMb2dnaW5nQ2hhbm5lbHM7CiAgICAgZW5jb2RlciA8PCB3ZWJLaXRMb2dnaW5nQ2hhbm5lbHM7
CiB9CkBAIC0xMDksNiArMTEwLDggQEAgYm9vbCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBHUFVQcm9jZXNzQ3JlYXQKICAgICByZXN1
bHQuZHluYW1pY01hY2hFeHRlbnNpb25IYW5kbGVzID0gV1RGTW92ZSgqZHluYW1pY01hY2hFeHRl
bnNpb25IYW5kbGVzKTsKICNlbmRpZgogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQu
d3RmTG9nZ2luZ0NoYW5uZWxzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQud2ViS2l0TG9nZ2luZ0No
YW5uZWxzKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDYzNDY3MzEyNzJiZDA3MjkwYTZlOGJjZGI0YjQw
ZmY0ZWRmNjEwMmUuLmQ0YTliMmI3NTU3ODM5ODNiYWQ1NzMxZmU2YTUyNjg2ZDIxYzM3YTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaApAQCAtNTcsNiArNTcsNyBAQCBzdHJ1Y3QgR1BVUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycyB7CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgZHluYW1pY01h
Y2hFeHRlbnNpb25IYW5kbGVzOwogI2VuZGlmCiAKKyAgICBTdHJpbmcgd3RmTG9nZ2luZ0NoYW5u
ZWxzOwogICAgIFN0cmluZyB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOwogICAgIFN0cmluZyB3ZWJL
aXRMb2dnaW5nQ2hhbm5lbHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1
eGlsaWFyeVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vz
cy5jcHAKaW5kZXggOTRmOTRlOTI2YzNlOTEzNjEwY2VkZWIyYjdlZDRjYTFhMzk1ZTRhMC4uMzY1
YWU3MzVlNjE0OWEzNmU3ZGY2Nzg4NTU2ODg5ZjFkMmY3NGRjNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJX
ZWJQYWdlUHJveHlJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Mb2dJbml0aWFsaXph
dGlvbi5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2lu
Zy5oPgogCiAjaWYgIU9TKFdJTkRPV1MpCiAjaW5jbHVkZSA8dW5pc3RkLmg+CkBAIC04Miw2ICs4
Myw3IEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZShjb25zdCBBdXhpbGlhcnlQ
cm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzCiAgICAgaW5pdGlhbGl6ZVNhbmRib3gocGFy
YW1ldGVycywgc2FuZGJveFBhcmFtZXRlcnMpOwogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKKyAgICBXVEY6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNz
YXJ5KCk7CiAgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsK
ICAgICBXZWJLaXQ6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYg
Ly8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYktpdDJJbml0aWFsaXplLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYktpdDJJbml0aWFsaXplLmNwcAppbmRleCA1MjY2OGY5NTNhNGIzODZjOWI3Y2Mz
NjgzOTliZjk0MzFkZDAyMzY3Li5mZWViYzAwYzFmMjE3ZGIzYWQ3ZTc4ZmRlYmIwOTNjZjBjODU1
NDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCkBAIC0z
MCw2ICszMCw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5pdGlhbGl6ZVRocmVhZGlu
Zy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1dlYkNvcmVKSVRPcGVyYXRpb25zLmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dpbmcuaD4K
ICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KQEAgLTQ3LDYgKzQ4LDcgQEAgdm9pZCBJbml0aWFs
aXplV2ViS2l0MigpCiAgICAgV1RGOjpSZWZDb3VudGVkQmFzZTo6ZW5hYmxlVGhyZWFkaW5nQ2hl
Y2tzR2xvYmFsbHkoKTsKIAogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECisgICAgV1RGOjppbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogICAgIFdl
YkNvcmU6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgV2ViS2l0Ojpp
bml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogI2VuZGlmIC8vICFMT0dfRElTQUJM
RUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDc3NmZiMGJlNjk5Y2Y3
NGNhZWE2YTY4MjRmMzk0ZTg0YmE4ZTg2MTYuLmJmZmJjNDkxZWM5NWM1ZTA4MGFiZTI1NjEwNjNk
NDEwYzI1ZDgwNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC01OSw2ICs1OSw3IEBAIHZvaWQgV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QK
ICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAgICAgZW5j
b2RlciA8PCBlbmFibGVSZW1vdGVXZWJJbnNwZWN0b3JFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYK
KyAgICBlbmNvZGVyIDw8IHd0ZkxvZ2dpbmdDaGFubmVsczsKICAgICBlbmNvZGVyIDw8IHdlYkNv
cmVMb2dnaW5nQ2hhbm5lbHM7CiAgICAgZW5jb2RlciA8PCB3ZWJLaXRMb2dnaW5nQ2hhbm5lbHM7
CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKQEAgLTI2Miw2ICsyNjMsOCBAQCBib29sIFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFdl
YlByb2Nlc3NDcmVhdAogICAgIHBhcmFtZXRlcnMuZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yRXh0
ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqZW5hYmxlUmVtb3RlV2ViSW5zcGVjdG9yRXh0ZW5zaW9u
SGFuZGxlKTsKICNlbmRpZgogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLnd0
ZkxvZ2dpbmdDaGFubmVscykpCisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscykpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMud2ViS2l0TG9n
Z2luZ0NoYW5uZWxzKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCAwNjBkNGYxOTMzMWE1NzljNGE2ZDZhMjZmNDc1Mjhi
ZWY2M2YwYjg4Li5mMTMxZjljODBjZWVlNmU4MWQ5MWU1MjI1ZDU0ZGNmYjIyMDIyNWM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oCkBAIC05NCw2ICs5NCw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
IHsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgYXVkaW9DYXB0dXJlRXh0ZW5zaW9uSGFu
ZGxlOwogI2VuZGlmCiAKKyAgICBTdHJpbmcgd3RmTG9nZ2luZ0NoYW5uZWxzOwogICAgIFN0cmlu
ZyB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOwogICAgIFN0cmluZyB3ZWJLaXRMb2dnaW5nQ2hhbm5l
bHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0dQVVByb2Nl
c3NQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvR1BVUHJvY2Vz
c1Byb3h5Q29jb2EubW0KaW5kZXggMjhjYzg5NDc4ZDhhZjA0NTY3YjViM2FmMTE0N2I1M2Q1ODRh
ZWUyYS4uNDMxMmQxYjAwYzliMjhlOWZmOTE2MzE0NmFlMTE2ZjMzMDJhNDhhNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvR1BVUHJvY2Vzc1Byb3h5Q29jb2EubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvR1BVUHJvY2Vzc1Byb3h5Q29jb2Eu
bW0KQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2b2lkIEdQVVByb2Nlc3NQ
cm94eTo6cGxhdGZvcm1Jbml0aWFsaXplR1BVUHJvY2Vzc1BhcmFtZXRlcnMoR1BVUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHBhcmFtZXRlcnMud3RmTG9nZ2luZ0NoYW5uZWxzID0g
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV1RG
TG9nZ2luZyJdOwogICAgIHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyA9IFtbTlNV
c2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0ZvcktleTpAIldlYkNvcmVM
b2dnaW5nIl07CiAgICAgcGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNl
ckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJXZWJLaXQyTG9n
Z2luZyJdOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCAyZTZiNGMxMzc2MTkyYWE2MTA5YzRhOTE4ZjM0
M2Y0NDMzYTJiMWMzLi4yODViMGZmZjMxOTk0ZDM3ZTcxYzg1ZGM5NTkzZWJmNDA4YmIxMTI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0KQEAgLTM4OCw2ICszODgsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpwbGF0Zm9y
bUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcwogI2Vu
ZGlmCiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHBh
cmFtZXRlcnMud3RmTG9nZ2luZ0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV1RGTG9nZ2luZyJdOwogICAgIHBhcmFtZXRlcnMu
d2ViQ29yZUxvZ2dpbmdDaGFubmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVm
YXVsdHNdIHN0cmluZ0ZvcktleTpAIldlYkNvcmVMb2dnaW5nIl07CiAgICAgcGFyYW1ldGVycy53
ZWJLaXRMb2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBzdHJpbmdGb3JLZXk6QCJXZWJLaXQyTG9nZ2luZyJdOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCmluZGV4IDMxMzU0OTJm
NWU1NGJlMGJkYjNhMmNlZjRlNDFlYWFkOTNlYzdmZjIuLjUxMDVhODAyNmI0MjkwMjM2MDg0OTdl
YWQxOTZhZTQ5NjE0ODY2YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9H
UFVQcm9jZXNzUHJveHkuY3BwCkBAIC02MDksNiArNjA5LDcgQEAgdm9pZCBHUFVQcm9jZXNzUHJv
eHk6OmRpZEJlY29tZVVucmVzcG9uc2l2ZSgpCiB2b2lkIEdQVVByb2Nlc3NQcm94eTo6cGxhdGZv
cm1Jbml0aWFsaXplR1BVUHJvY2Vzc1BhcmFtZXRlcnMoR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyYgcGFyYW1ldGVycykKIHsKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19E
SVNBQkxFRAorICAgIHBhcmFtZXRlcnMud3RmTG9nZ2luZ0NoYW5uZWxzID0gV1RGOjpsb2dMZXZl
bFN0cmluZygpOwogICAgIHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyA9IFdlYkNv
cmU6OmxvZ0xldmVsU3RyaW5nKCk7CiAgICAgcGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5l
bHMgPSBXZWJLaXQ6OmxvZ0xldmVsU3RyaW5nKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCAyZWFiNmJjYjg5YjhiNzlhN2RjZjNjZGNk
NDljMDZkNWFjZDIxMmIzLi5iYmFmN2FkNDhmMjdmYjZmZTNlNTVhNDBjYjhjNGU4ZGEyODdhMDc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC05Niw2
ICs5Niw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4K
ICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL0NhbGxiYWNrQWdncmVn
YXRvci5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dnaW5nLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUHJv
Y2Vzc1ByaXZpbGVnZS5oPgpAQCAtMjUxLDYgKzI1Miw3IEBAIFdlYlByb2Nlc3NQb29sOjpXZWJQ
cm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikK
ICAgICByZXNvbHZlUGF0aHNGb3JTYW5kYm94RXh0ZW5zaW9ucygpOwogCiAjaWYgIUxPR19ESVNB
QkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBXVEY6OmluaXRpYWxpemVMb2dDaGFu
bmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZO
ZWNlc3NhcnkoKTsKICAgICBXZWJLaXQ6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5
KCk7CiAjZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmlu
ZGV4IGRkMWVmZjViYWJiNmE1NGVmYTk3YzYwNTcyMGU4NWViMDFjODk2NzEuLjFkMWM0YzdjMTI4
MDcxMmY5ZDk5MzM4ZDJmZDhhZWQ4Yzg1YWExZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMTAxLDYgKzEwMSw3IEBACiAj
aW1wb3J0IDxzdGRpby5oPgogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPHd0
Zi9MYW5ndWFnZS5oPgorI2ltcG9ydCA8d3RmL0xvZ2dpbmcuaD4KICNpbXBvcnQgPHd0Zi9Qcm9j
ZXNzUHJpdmlsZWdlLmg+CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPHd0
Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KQEAgLTI4MSw2ICsyODIsNyBAQCB2b2lkIFdlYlByb2Nl
c3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyYgcGFyYQogICAgIH0KIAogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECisgICAgV1RGOjppbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0
ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscyk7CiAgICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5u
ZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzKTsKICAgICBX
ZWJLaXQ6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViS2l0
TG9nZ2luZ0NoYW5uZWxzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCmluZGV4IDA2MDhkYTUxOTdkZGY3ZWM2OTI1ZDcyYjA5MWFhYmQ4NmNlZTM4
ZGYuLjY5YTZjMDViNTI4MzgzNDgyNDhiYzQ4NDBjMDVmMDE0ZmQ0OTYwNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTI1MSw2ICsyNTEsNyBAQAog
I2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPHd0Zi9IYXNoVHJhaXRzLmg+CiAj
aW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KKyNpbXBvcnQgPHd0Zi9Mb2dnaW5nLmg+CiAjaW1wb3J0
IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMuaD4KICNpbXBvcnQg
PHd0Zi9Qcm9jZXNzUHJpdmlsZWdlLmg+CkBAIC0xNDgwLDggKzE0ODEsOSBAQCAtICh2b2lkKV9j
b21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdy
b3VwTmFtZTooTlNTdAogI2VuZGlmCiAgICAgaWYgKCFkaWRPbmVUaW1lSW5pdGlhbGl6YXRpb24p
IHsKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgICAgICBX
ZWJLaXRJbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOworICAgICAgICBXVEY6Omlu
aXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgICAgIFdlYkNvcmU6OmluaXRp
YWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisgICAgICAgIFdlYktpdEluaXRpYWxpemVM
b2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYKIAogICAgICAgICAvLyBJbml0aWFsaXpl
IG91ciBwbGF0Zm9ybSBzdHJhdGVnaWVzIGZpcnN0IGJlZm9yZSBpbnZva2luZyB0aGUgcmVzdAo=
</data>
<flag name="commit-queue"
          id="457541"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434896</attachid>
            <date>2021-08-04 02:31:01 -0700</date>
            <delta_ts>2021-08-07 02:14:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228768-20210804023100.patch</filename>
            <type>text/plain</type>
            <size>49195</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQ4YmI2NjE2MWVkN2Q0MWU0OTZmN2Iy
YTZhODI2YTIwODYwOGY3YmEuLjFhNzMzMDcwZjJjMmFmMzU3NzgzYTNiNTZlMGM1Y2M2YTMyODg1
Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMjEtMDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IFdURiBsb2dnaW5nIGNoYW5u
ZWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg3
NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGVy
ZSBhcmUgNCBsb2dnaW5nIGNoYW5uZWxzIHVzZWQgaW4gV1RGLCBidXQgZWFjaCBvbmUgaXMgZG9u
ZSBpbiBhIGN1c3RvbSBvbmUtb2ZmIHdheS4KKyAgICAgICAgSSdtIGFkZGluZyBhIDV0aCBvbmUg
aW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODc2NCwgYW5kIEkg
ZXhwZWN0CisgICAgICAgIEknbGwgcHJvYmFibHkgYmUgYWRkaW5nIGEgNnRoIHNvbWV0aW1lIHNv
b24uIEl0J3MgY2xlYXIgdGhhdCBXVEYgbmVlZHMgaXRzIG93biBsb2dnaW5nCisgICAgICAgIGNo
YW5uZWwgc3VwcG9ydCwgdGhlIHNhbWUgd2F5IFdlYkNvcmUsIFdlYktpdCwgYW5kIFdlYktpdExl
Z2FjeSBoYXZlLgorCisgICAgICAgIFRoZSBiaWdnZXN0IG1lY2hhbmljYWwgYmVuZWZpdCBvZiB0
aGlzIGlzIHRoYXQgaXQncyBub3cgcG9zc2libGUgdG8gZW5hYmxlIHRoZXNlIFdURgorICAgICAg
ICBsb2dnaW5nIGNoYW5uZWxzIGJ5IHNldHRpbmcgImRlZmF1bHRzIHdyaXRlIiB2YXJpYWJsZXMu
IFRoZSBjaGFubmVscyBhcmUgaG9va2VkIHVwCisgICAgICAgIHRvIHRoZSBXVEZMb2dnaW5nIHZh
cmlhYmxlLCBhcyBhIHNpYmxpbmcgdG8gV2ViQ29yZUxvZ2dpbmcgYW5kIFdlYktpdDIgbG9nZ2lu
Zy4gSXQgYWxzbworICAgICAgICBob29rcyBpdCB1cCB0byB0aGUgaW5mcmFzdHJ1Y3R1cmUgd2hl
cmUgdGhlIHN0YXRlIG9mIHRoZSB2YXJpYWJsZXMgaXMgZGV0ZXJtaW5lZCBpbiB0aGUKKyAgICAg
ICAgVUkgcHJvY2VzcyBhbmQgc2VudCBhbG9uZyB3aXRoIHRoZSBpbml0aWFsaXphdGlvbiBtZXNz
YWdlIHRvIHRoZSB3ZWIgcHJvY2VzcywgYmVjYXVzZSB0aGUKKyAgICAgICAgd2ViIHByb2Nlc3Mn
cyBzYW5kYm94IG1pZ2h0IG5vdCBhbGxvdyB0aGUgd2ViIHByb2Nlc3MgdG8gc2VlIGl0cyBvd24g
ZGVmYXVsdHMgdmFyaWFibGVzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZG9lc24ndCBjaGFuZ2Ug
YW55dGhpbmcgYWJvdXQgdGhlIGRlZmF1bHQgc3RhdGUgb3IgbG9nZ2luZyBsZXZlbCBvZiB0aGVz
ZSA0CisgICAgICAgIGNoYW5uZWxzLgorCisgICAgICAgICogV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogd3RmL0Fzc2VydGlvbnMuaDoKKyAgICAgICAgKiB3dGYvQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0xvZ2dpbmcuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcC4KKyAgICAgICAgKFdURjo6aXNMb2dDaGFu
bmVsRW5hYmxlZCk6CisgICAgICAgIChXVEY6OnNldExvZ0NoYW5uZWxUb0FjY3VtdWxhdGUpOgor
ICAgICAgICAoV1RGOjpjbGVhckFsbExvZ0NoYW5uZWxzVG9BY2N1bXVsYXRlKToKKyAgICAgICAg
KFdURjo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkpOgorICAgICAgICAoV1RGOjpn
ZXRMb2dDaGFubmVsKToKKyAgICAgICAgKiB3dGYvTG9nZ2luZy5oOiBBZGRlZC4KKyAgICAgICAg
KiB3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdURjo6TWVtb3J5UHJl
c3N1cmVIYW5kbGVyOjpzaW5nbGV0b24pOgorICAgICAgICAqIHd0Zi9NZW1vcnlQcmVzc3VyZUhh
bmRsZXIuaDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1GVFcuY21ha2U6CisgICAgICAgICogd3Rm
L1BsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2U6
CisgICAgICAgICogd3RmL1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9y
bVBsYXlTdGF0aW9uLmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybVdQRS5jbWFrZToKKyAg
ICAgICAgKiB3dGYvUGxhdGZvcm1XaW4uY21ha2U6CisgICAgICAgICogd3RmL1JlZkNvdW50ZWRM
ZWFrQ291bnRlci5jcHA6CisgICAgICAgICogd3RmL2NvY29hL0xvZ2dpbmdDb2NvYS5tbTogQ29w
aWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvR1BVUHJvY2Vzc1Byb3h5Q29j
b2EubW0uCisgICAgICAgIChXVEY6OmxvZ0xldmVsU3RyaW5nKToKKyAgICAgICAgKiB3dGYvY29j
b2EvTWFjaFNlbmRSaWdodC5jcHA6CisgICAgICAgICogd3RmL2NvY29hL01haW5UaHJlYWRDb2Nv
YS5tbToKKyAgICAgICAgKiB3dGYvY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW06
CisgICAgICAgICogd3RmL3VuaXgvTG9nZ2luZ1VuaXguY3BwOiBBZGRlZC4KKyAgICAgICAgKFdU
Rjo6bG9nTGV2ZWxTdHJpbmcpOgorICAgICAgICAqIHd0Zi93aW4vTG9nZ2luZ1dpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAoV1RGOjpsb2dMZXZlbFN0cmluZyk6CisKIDIwMjEtMDgtMDIgIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIENoZWNrZWRSZWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAwZmRjNzEzMzE1Mjk2NDYxYmNiMThlZGM5NDI1MGZlNTRlNGQ5NjUwLi4zMTY5
NjQ3YjhhYmE4ZThjNDkyOWYxYzk0NjlhZDA2YzlkZDQ2ZDZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMjEtMDgtMDQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxl
LmNvbT4KKworICAgICAgICBTdXBwb3J0IFdURiBsb2dnaW5nIGNoYW5uZWxzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg3NjgKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVz
ZSB0aGVyZSBpcyBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dn
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNz
YXJ5KToKKwogMjAyMS0wOC0wMiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAog
ICAgICAgICBBc3NlcnRpb24gaXMgbm90IGFjcXVpcmVkIGluIG5ldHdvcmsgcHJvY2VzcyB3aGVu
IG9wZW5pbmcgYSBTUUxpdGUgZGF0YWJhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjI1MmU0NTlkY2YyYWE5NmYw
NzVkMzAyMmUyMjE0ZjMyNjc2MzJmNi4uMTUxMTAzNGQ2NjM0NzI1YjZlMmJiMmIzNzNkMzYxNWU4
ODI0OWQ3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAyMS0wOC0wNCAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgV1RGIGxv
Z2dpbmcgY2hhbm5lbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyODc2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BV
UHJvY2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nlc3MpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BV
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OkdQ
VVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogR1BVUHJvY2Vz
cy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogU2hhcmVkL0F1eGls
aWFyeVByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzOjppbml0
aWFsaXplKToKKyAgICAgICAgKiBTaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpJbml0aWFsaXplV2ViS2l0Mik6CisgICAgICAgICogU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0dQVVBy
b2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzUHJveHk6OnBs
YXRmb3JtSW5pdGlhbGl6ZUdQVVByb2Nlc3NQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vz
c1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFyYW1ldGVycyk6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2Nv
Y29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxh
dGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisKIDIwMjEtMDgtMDIgIFBlbmcgTGl1ICA8cGVu
Zy5saXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBbR1BVUF0gUmVtb3RlQXVkaW9TZXNzaW9uOjpz
ZXRQcmVmZXJyZWRCdWZmZXJTaXplKCkgZG9lcyBub3QgY2hhbmdlIGl0cyBwcmVmZXJyZWRCdWZm
ZXJTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggMGRmZjQzOGMxMjA3NTdmMzYz
ZTAwZGI4MzI0NzM1ZjU1ZTBhMWI5Yy4uZjQxODZhZWQxNzRmMjY3NDdiZTJlN2ZlYTVkNTk0YjMw
YjZjYjQ5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDIxLTA4LTA0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAg
ICAgICAgU3VwcG9ydCBXVEYgbG9nZ2luZyBjaGFubmVscworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4NzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6
XSk6CisKIDIwMjEtMDctMjkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KIAogICAgICAgICBTdG9wIGJ1aWxkaW5nIFdlYkdQVSBhbmQgdGhlIFdITFNMIGNvbXBpbGVy
IHRvIGRlY3JlYXNlIGJpbmFyeSBzaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA4YjgxZDhiYTcwN2MxMWZmYTNmN2NlMjdkN2MwZDFmYzhmMjg0ODhjLi41
ZTRiNGM1YjgwNGE1YjRjZWE0YWMyM2MwNmVmNTdiMThjNDViYThlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RG
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU5LDYgKzU5LDggQEAKIAkJMUMxODFDOTEx
RDMwN0FCODAwRjVGQTE2IC8qIFVUZXh0UHJvdmlkZXJMYXRpbjEuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMxODFDOEIxRDMwN0FCODAwRjVGQTE2
IC8qIFVUZXh0UHJvdmlkZXJMYXRpbjEuY3BwICovOyB9OwogCQkxQzE4MUM5MzFEMzA3QUI4MDBG
NUZBMTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzhEMUQzMDdBQjgwMEY1RkExNiAvKiBVVGV4dFBy
b3ZpZGVyVVRGMTYuY3BwICovOyB9OwogCQkxQzE4MUM5NjFEMzA4MDBBMDBGNUZBMTYgLyogVGV4
dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMTgxQzk1MUQzMDgwMEEwMEY1RkExNiAvKiBUZXh0
QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3BwICovOyB9OworCQkxQzQ2MTZBMzI2QkE3
RjExMDBGOEM5RjYgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQzQ2MTZBMTI2QkE3RjAyMDBGOEM5RjYgLyogTG9nZ2luZy5jcHAg
Ki87IH07CisJCTFDNDYxNkE1MjZCQTg1Q0UwMEY4QzlGNiAvKiBMb2dnaW5nQ29jb2EubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzQ2MTZBNDI2QkE4
NUNFMDBGOEM5RjYgLyogTG9nZ2luZ0NvY29hLm1tICovOyB9OwogCQkxQzUwM0JFNjIzQUFFMEFF
MDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFDNTAzQkU1MjNBQUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNv
Y29hLm1tICovOyB9OwogCQkxQ0E4NUNBOTI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNBODVDQTgyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0NvY29hLmNwcCAqLzsgfTsKIAkJMUZBNDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdl
YkNvcmVUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUZBNDdDODgxNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9
OwpAQCAtMzQ0LDYgKzM0Niw5IEBACiAJCTFDMTgxQzhEMUQzMDdBQjgwMEY1RkExNiAvKiBVVGV4
dFByb3ZpZGVyVVRGMTYuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
VVRleHRQcm92aWRlclVURjE2LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMx
ODFDOEUxRDMwN0FCODAwRjVGQTE2IC8qIFVUZXh0UHJvdmlkZXJVVEYxNi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBVVGV4dFByb3ZpZGVyVVRGMTYuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUMxODFDOTUxRDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0
ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxQzQ2MTZBMTI2QkE3RjAyMDBGOEM5RjYgLyogTG9nZ2luZy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2dnaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMUM0NjE2QTIyNkJBN0YwMjAwRjhDOUY2IC8qIExvZ2dpbmcuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTG9nZ2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzQ2MTZBNDI2
QkE4NUNFMDBGOEM5RjYgLyogTG9nZ2luZ0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
TG9nZ2luZ0NvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzUwM0JFNDIz
QUFERUVBMDA3MkU2NkIgLyogTlNMb2NhbGVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNMb2NhbGVT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM1MDNCRTUyM0FBRTBBRTAwNzJF
NjZCIC8qIExhbmd1YWdlQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMYW5ndWFnZUNv
Y29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E4NUNBNzI0MUIwQjExMDA3
MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTUxMiw4ICs1MTcsOCBAQAogCQk5QkI5MUY1MTI2NDhFQTREMDBBNTYyMTcgLyogQ2hl
Y2tlZFB0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDaGVja2VkUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTlCQzcwRjA0MTc2QzM3OUQwMDEwMURFQyAvKiBBdG9tU3RyaW5nVGFibGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXRvbVN0cmluZ1RhYmxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUJEOEY0MEExNzZDMkFEODAwMDJE
ODY1IC8qIEF0b21TdHJpbmdUYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdG9tU3RyaW5nVGFibGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOUJGMDAxMzQyNjdDNENDRjAwRENGQjNG
IC8qIENoZWNrZWRSZWYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2hlY2tlZFJlZi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5QkUxNTMzNTI2NzFGMDBGMDBDN0QwOTYgLyogV2Vha0hhc2hN
YXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha0hhc2hNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOUJGMDAxMzQyNjdDNENDRjAwRENGQjNGIC8qIENoZWNrZWRSZWYuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2hlY2tlZFJlZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QzY3
QzU0MjU4OTM0OEUyODVCNDk2OTkgLyogSW5kZXhlZENvbnRhaW5lckl0ZXJhdG9yLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4ZWRDb250YWluZXJJdGVyYXRvci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUI4OUI4NzIyMUUwMDBGMDBFQjRDRUEgLyog
U0RLVmFyaWFudC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBTREtW
YXJpYW50LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMzBENDEyQzFG
MERFMEJBMDBCNzE5NTQgLyogU29mdExpbmtpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU29mdExpbmtpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEx
MjUsNiArMTEzMCw4IEBACiAJCQkJOTNCNUI0NTAyMjE3MUVFOTAwNEI3QUE3IC8qIExvZ2dlci5j
cHAgKi8sCiAJCQkJMDc3Q0Q4NkExRkQ5Q0ZEMjAwODI4NTg3IC8qIExvZ2dlci5oICovLAogCQkJ
CTA3N0NEODZCMUZEOUNGRDMwMDgyODU4NyAvKiBMb2dnZXJIZWxwZXIuaCAqLywKKwkJCQkxQzQ2
MTZBMTI2QkE3RjAyMDBGOEM5RjYgLyogTG9nZ2luZy5jcHAgKi8sCisJCQkJMUM0NjE2QTIyNkJB
N0YwMjAwRjhDOUY2IC8qIExvZ2dpbmcuaCAqLywKIAkJCQk1MTNFMTcwQTFDRDdENUJGMDBFMzY1
MEIgLyogTG9nZ2luZ0FjY3VtdWxhdG9yLmggKi8sCiAJCQkJMEYzMEJBOEMxRTc4NzA4RTAwMkNB
ODQ3IC8qIExvZ2dpbmdIYXNoSUQuaCAqLywKIAkJCQkwRjMwQkE4RDFFNzg3MDhFMDAyQ0E4NDcg
LyogTG9nZ2luZ0hhc2hNYXAuaCAqLywKQEAgLTE1ODAsNiArMTU4Nyw3IEBACiAJCQkJMTQzRERF
OTUyMEM4QkMzNzAwN0Y3NkZBIC8qIEVudGl0bGVtZW50cy5tbSAqLywKIAkJCQlBMzMxRDk1RTIx
RjI0OUY2MDA5RjAyQUEgLyogRmlsZVN5c3RlbUNvY29hLm1tICovLAogCQkJCTFDNTAzQkU1MjNB
QUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tICovLAorCQkJCTFDNDYxNkE0MjZCQTg1
Q0UwMEY4QzlGNiAvKiBMb2dnaW5nQ29jb2EubW0gKi8sCiAJCQkJN0E2RUJBMzMyMDc0NkMzNDAw
NEY5QzQ0IC8qIE1hY2hTZW5kUmlnaHQuY3BwICovLAogCQkJCUE4QTQ3MkM1MTUxQTgyNUEwMDQx
MjNGRiAvKiBNYWluVGhyZWFkQ29jb2EubW0gKi8sCiAJCQkJQURGMkNFNjUxRTM5RjEwNjAwNjg4
OURCIC8qIE1lbW9yeUZvb3RwcmludENvY29hLmNwcCAqLywKQEAgLTE3MzksNiArMTc0Nyw4IEBA
CiAJCQkJMEZFMTY0NkExQjZGRkM5NjAwNDAwRTdDIC8qIExvY2suY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEY2MEYzMkYxREZDQkQxQjAwNDE2RDZDIC8qIExvY2tlZFByaW50U3RyZWFtLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzQjVCNDUxMjIxNzFFRUEwMDRCN0FBNyAvKiBMb2dnZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMUM0NjE2QTMyNkJBN0YxMTAwRjhDOUY2IC8qIExvZ2dpbmcu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUM0NjE2QTUyNkJBODVDRTAwRjhDOUY2IC8qIExvZ2dp
bmdDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUzNTM0RjJBMUVDMEUxMEUwMDE0MUIyRiAv
KiBNYWNoRXhjZXB0aW9ucy5kZWZzIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E2RUJBMzQyMDc0NkMz
NDAwNEY5QzQ0IC8qIE1hY2hTZW5kUmlnaHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
RTUxNTFBODI1QjAwNDEyM0ZGIC8qIE1haW5UaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmggYi9Tb3VyY2UvV1RGL3d0Zi9Bc3Nl
cnRpb25zLmgKaW5kZXggMjc3YzIyYmNmZTYyYWUwYjZmZWNhODlhOGIxNzUxODJhNjA0ZWFjNC4u
NTBjODEwMTExMjkwNGY1ZGM0ZDY5NTBlYWQ5NGI5ODhlYTc5MTZiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMu
aApAQCAtMTg3LDE5ICsxODcsMjIgQEAgdHlwZWRlZiBzdHJ1Y3QgewogCiAjaWYgIWRlZmluZWQo
REVGSU5FX0xPR19DSEFOTkVMKQogI2lmIFJFTEVBU0VfTE9HX0RJU0FCTEVECi0jZGVmaW5lIERF
RklORV9MT0dfQ0hBTk5FTChuYW1lLCBzdWJzeXN0ZW0pIFwKLSAgICBXVEZMb2dDaGFubmVsIExP
R19DSEFOTkVMKG5hbWUpID0geyAoV1RGTG9nQ2hhbm5lbFN0YXRlKTAsICNuYW1lLCAoV1RGTG9n
TGV2ZWwpMSB9OworI2RlZmluZSBERUZJTkVfTE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxTKG5hbWUs
IGluaXRpYWxTdGF0ZSwgbGV2ZWwsIHN1YnN5c3RlbSkgXAorICAgIFdURkxvZ0NoYW5uZWwgTE9H
X0NIQU5ORUwobmFtZSkgPSB7IGluaXRpYWxTdGF0ZSwgI25hbWUsIGxldmVsIH07CiAjZW5kaWYK
ICNpZiBVU0UoT1NfTE9HKSAmJiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSNkZWZpbmUgREVGSU5F
X0xPR19DSEFOTkVMKG5hbWUsIHN1YnN5c3RlbSkgXAotICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NI
QU5ORUwobmFtZSkgPSB7IChXVEZMb2dDaGFubmVsU3RhdGUpMCwgI25hbWUsIChXVEZMb2dMZXZl
bCkxLCBzdWJzeXN0ZW0sIE9TX0xPR19ERUZBVUxUIH07CisjZGVmaW5lIERFRklORV9MT0dfQ0hB
Tk5FTF9XSVRIX0RFVEFJTFMobmFtZSwgaW5pdGlhbFN0YXRlLCBsZXZlbCwgc3Vic3lzdGVtKSBc
CisgICAgV1RGTG9nQ2hhbm5lbCBMT0dfQ0hBTk5FTChuYW1lKSA9IHsgaW5pdGlhbFN0YXRlLCAj
bmFtZSwgbGV2ZWwsIHN1YnN5c3RlbSwgT1NfTE9HX0RFRkFVTFQgfTsKICNlbmRpZgogI2lmIFVT
RShKT1VSTkFMRCkgJiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0jZGVmaW5lIERFRklORV9MT0df
Q0hBTk5FTChuYW1lLCBzdWJzeXN0ZW0pICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g
ICAgV1RGTG9nQ2hhbm5lbCBMT0dfQ0hBTk5FTChuYW1lKSA9IHsgKFdURkxvZ0NoYW5uZWxTdGF0
ZSkwLCAjbmFtZSwgKFdURkxvZ0xldmVsKTEsIHN1YnN5c3RlbSB9OworI2RlZmluZSBERUZJTkVf
TE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxTKG5hbWUsIGluaXRpYWxTdGF0ZSwgbGV2ZWwsIHN1YnN5
c3RlbSkgXAorICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NIQU5ORUwobmFtZSkgPSB7IGluaXRpYWxT
dGF0ZSwgI25hbWUsIGxldmVsLCBzdWJzeXN0ZW0gfTsKICNlbmRpZgogI2VuZGlmCiAKKy8vIE9m
ZiBieSBkZWZhdWx0LCBsb2cgbGV2ZWwgZXJyb3IKKyNkZWZpbmUgREVGSU5FX0xPR19DSEFOTkVM
KG5hbWUsIHN1YnN5c3RlbSkgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhuYW1lLCAo
V1RGTG9nQ2hhbm5lbFN0YXRlKTAsIChXVEZMb2dMZXZlbCkxLCBzdWJzeXN0ZW0pOworCiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnROb3RJbXBsZW1lbnRlZFlldChjb25zdCBjaGFy
KiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24pOwogV1RGX0VYUE9SVF9QUklW
QVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBmaWxlLCBpbnQg
bGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFzc2VydGlvbik7CiBXVEZf
RVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlV2l0aE1lc3NhZ2Uo
Y29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9uLCBjb25zdCBj
aGFyKiBhc3NlcnRpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRUUklCVVRFX1BS
SU5URig1LCA2KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggMDUxN2RkYmUzYmU3ZWIxNDIxNTlj
ZDExODUxOGZmNTllMTg1N2Y1OS4uZTc0MjZjNDZiNjczMzc3MDZiNTU4ZDI3ZjNjMDYwNGE2ZmM5
ZWQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTEyNSw2ICsxMjUsNyBAQCBzZXQoV1RGX1BV
QkxJQ19IRUFERVJTCiAgICAgTG9ja2xlc3NCYWcuaAogICAgIExvZ2dlci5oCiAgICAgTG9nZ2Vy
SGVscGVyLmgKKyAgICBMb2dnaW5nLmgKICAgICBMb2dnaW5nQWNjdW11bGF0b3IuaAogICAgIExv
Z2dpbmdIYXNoSUQuaAogICAgIExvZ2dpbmdIYXNoTWFwLmgKQEAgLTQyMyw2ICs0MjQsNyBAQCBz
ZXQoV1RGX1NPVVJDRVMKICAgICBMb2NrLmNwcAogICAgIExvY2tlZFByaW50U3RyZWFtLmNwcAog
ICAgIExvZ2dlci5jcHAKKyAgICBMb2dnaW5nLmNwcAogICAgIE1haW5UaHJlYWQuY3BwCiAgICAg
TWVkaWFUaW1lLmNwcAogICAgIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmcuY3BwIGIvU291cmNlL1dURi93dGYvTG9nZ2luZy5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYWFkZTc3NmEwYjc5OGQ0NTVjZGExZTVjNTcxZDY3MGU1MGJhODUyMwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmcuY3BwCkBAIC0wLDAgKzEsMTEx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisKKyNpbmNsdWRlIDx3dGYvTG9n
Z2luZ0FjY3VtdWxhdG9yLmg+CisKKyNpZiBQTEFURk9STShDT0NPQSkKKyNpbmNsdWRlIDxub3Rp
ZnkuaD4KKyNpbmNsdWRlIDx3dGYvQmxvY2tQdHIuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgV1RG
IHsKKworI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKKy8vIENs
YW5nIGdldHMgY29uZnVzZWQgaWYgY29sb25zIGFwcGVhciBpbnNpZGUgYnJhY2UgaW5pdGlhbGl6
YXRpb24uCitjb25zdGV4cHIgV1RGTG9nQ2hhbm5lbFN0YXRlIHN0YXRlT24gPSBXVEZMb2dDaGFu
bmVsU3RhdGU6Ok9uOworY29uc3RleHByIFdURkxvZ0xldmVsIGxldmVsRXJyb3IgPSBXVEZMb2dM
ZXZlbDo6RXJyb3I7CisKK0RFRklORV9MT0dfQ0hBTk5FTF9XSVRIX0RFVEFJTFMoUmVmQ291bnRl
ZExlYWtzLCBzdGF0ZU9uLCAgbGV2ZWxFcnJvciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RF
TSk7CitERUZJTkVfTE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxTKFByb2Nlc3MsICAgICAgICAgc3Rh
dGVPbiwgIGxldmVsRXJyb3IsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOworREVGSU5F
X0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhUaHJlYWRpbmcsICAgICAgIHN0YXRlT24sICBsZXZl
bEVycm9yLCBMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNKTsKK0RFRklORV9MT0dfQ0hBTk5F
TChNZW1vcnlQcmVzc3VyZSwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSk7CisKK3N0YXRp
YyBXVEZMb2dDaGFubmVsKiBsb2dDaGFubmVsc1tdID0geworICAgIFdURl9MT0dfQ0hBTk5FTFMo
TE9HX0NIQU5ORUxfQUREUkVTUykKK307CisKK3N0YXRpYyBjb25zdCBzaXplX3QgbG9nQ2hhbm5l
bENvdW50ID0gV1RGX0FSUkFZX0xFTkdUSChsb2dDaGFubmVscyk7CisKK2Jvb2wgaXNMb2dDaGFu
bmVsRW5hYmxlZChjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgV1RGTG9nQ2hhbm5lbCogY2hh
bm5lbCA9IFdURkxvZ0NoYW5uZWxCeU5hbWUobG9nQ2hhbm5lbHMsIGxvZ0NoYW5uZWxDb3VudCwg
bmFtZS51dGY4KCkuZGF0YSgpKTsKKyAgICBpZiAoIWNoYW5uZWwpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gY2hhbm5lbC0+c3RhdGUgIT0gV1RGTG9nQ2hhbm5lbFN0YXRlOjpP
ZmY7Cit9CisKK3N0YXRpYyBib29sIGxvZ0NoYW5uZWxzTmVlZEluaXRpYWxpemF0aW9uID0gdHJ1
ZTsKKwordm9pZCBzZXRMb2dDaGFubmVsVG9BY2N1bXVsYXRlKGNvbnN0IFN0cmluZyYgbmFtZSkK
K3sKKyAgICBXVEZMb2dDaGFubmVsKiBjaGFubmVsID0gV1RGTG9nQ2hhbm5lbEJ5TmFtZShsb2dD
aGFubmVscywgbG9nQ2hhbm5lbENvdW50LCBuYW1lLnV0ZjgoKS5kYXRhKCkpOworICAgIGlmICgh
Y2hhbm5lbCkKKyAgICAgICAgcmV0dXJuOworCisgICAgY2hhbm5lbC0+c3RhdGUgPSBXVEZMb2dD
aGFubmVsU3RhdGU6Ok9uV2l0aEFjY3VtdWxhdGlvbjsKKyAgICBsb2dDaGFubmVsc05lZWRJbml0
aWFsaXphdGlvbiA9IHRydWU7Cit9CisKK3ZvaWQgY2xlYXJBbGxMb2dDaGFubmVsc1RvQWNjdW11
bGF0ZSgpCit7CisgICAgcmVzZXRBY2N1bXVsYXRlZExvZ3MoKTsKKyAgICBmb3IgKGF1dG8qIGNo
YW5uZWwgOiBsb2dDaGFubmVscykgeworICAgICAgICBpZiAoY2hhbm5lbC0+c3RhdGUgPT0gV1RG
TG9nQ2hhbm5lbFN0YXRlOjpPbldpdGhBY2N1bXVsYXRpb24pCisgICAgICAgICAgICBjaGFubmVs
LT5zdGF0ZSA9IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T2ZmOworICAgIH0KKworICAgIGxvZ0NoYW5u
ZWxzTmVlZEluaXRpYWxpemF0aW9uID0gdHJ1ZTsKK30KKwordm9pZCBpbml0aWFsaXplTG9nQ2hh
bm5lbHNJZk5lY2Vzc2FyeShzdGQ6Om9wdGlvbmFsPFN0cmluZz4gbG9nQ2hhbm5lbFN0cmluZykK
K3sKKyAgICBpZiAoIWxvZ0NoYW5uZWxzTmVlZEluaXRpYWxpemF0aW9uICYmICFsb2dDaGFubmVs
U3RyaW5nKQorICAgICAgICByZXR1cm47CisKKyAgICBsb2dDaGFubmVsc05lZWRJbml0aWFsaXph
dGlvbiA9IGZhbHNlOworCisgICAgU3RyaW5nIGVuYWJsZWRDaGFubmVsc1N0cmluZyA9IGxvZ0No
YW5uZWxTdHJpbmcgPyBsb2dDaGFubmVsU3RyaW5nLnZhbHVlKCkgOiBsb2dMZXZlbFN0cmluZygp
OworICAgIFdURkluaXRpYWxpemVMb2dDaGFubmVsU3RhdGVzRnJvbVN0cmluZyhsb2dDaGFubmVs
cywgbG9nQ2hhbm5lbENvdW50LCBlbmFibGVkQ2hhbm5lbHNTdHJpbmcudXRmOCgpLmRhdGEoKSk7
Cit9CisKK1dURkxvZ0NoYW5uZWwqIGdldExvZ0NoYW5uZWwoY29uc3QgU3RyaW5nJiBuYW1lKQor
eworICAgIHJldHVybiBXVEZMb2dDaGFubmVsQnlOYW1lKGxvZ0NoYW5uZWxzLCBsb2dDaGFubmVs
Q291bnQsIG5hbWUudXRmOCgpLmRhdGEoKSk7Cit9CisKKyNlbHNlCisKK1dURkxvZ0NoYW5uZWwq
IGdldExvZ0NoYW5uZWwoY29uc3QgU3RyaW5nJikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
KworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmcu
aCBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzk1ZDA4ODA5OTBlNjM0
NDc2MWY0Njc1OGFiNzkzMjM1ODI4MjkxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93
dGYvTG9nZ2luZy5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxvcHRpb25hbD4K
KyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXVEYgeworCisjaWYg
IUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKworI2lmbmRlZiBMT0dfQ0hB
Tk5FTF9QUkVGSVgKKyNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIFdURkxvZworI2VuZGlmCisK
KyNkZWZpbmUgV1RGX0xPR19DSEFOTkVMUyhNKSBcCisgICAgTShSZWZDb3VudGVkTGVha3MpIFwK
KyAgICBNKFByb2Nlc3MpIFwKKyAgICBNKFRocmVhZGluZykgXAorICAgIE0oTWVtb3J5UHJlc3N1
cmUpIFwKKworI3VuZGVmIERFQ0xBUkVfTE9HX0NIQU5ORUwKKyNkZWZpbmUgREVDTEFSRV9MT0df
Q0hBTk5FTChuYW1lKSBcCisgICAgV1RGX0VYUE9SVF9QUklWQVRFIGV4dGVybiBXVEZMb2dDaGFu
bmVsIEpPSU5fTE9HX0NIQU5ORUxfV0lUSF9QUkVGSVgoTE9HX0NIQU5ORUxfUFJFRklYLCBuYW1l
KTsKKworV1RGX0xPR19DSEFOTkVMUyhERUNMQVJFX0xPR19DSEFOTkVMKQorCitXVEZfRVhQT1JU
X1BSSVZBVEUgU3RyaW5nIGxvZ0xldmVsU3RyaW5nKCk7Citib29sIGlzTG9nQ2hhbm5lbEVuYWJs
ZWQoY29uc3QgU3RyaW5nJiBuYW1lKTsKK1dURl9FWFBPUlRfUFJJVkFURSB2b2lkIHNldExvZ0No
YW5uZWxUb0FjY3VtdWxhdGUoY29uc3QgU3RyaW5nJiBuYW1lKTsKK1dURl9FWFBPUlRfUFJJVkFU
RSB2b2lkIGNsZWFyQWxsTG9nQ2hhbm5lbHNUb0FjY3VtdWxhdGUoKTsKK1dURl9FWFBPUlRfUFJJ
VkFURSB2b2lkIGluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHN0ZDo6b3B0aW9uYWw8
U3RyaW5nPiA9IHN0ZDo6bnVsbG9wdCk7CisKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorCitXVEZfRVhQT1JUX1BSSVZBVEUgV1RGTG9nQ2hhbm5lbCog
Z2V0TG9nQ2hhbm5lbChjb25zdCBTdHJpbmcmIG5hbWUpOworCit9IC8vIG5hbWVzcGFjZSBXVEYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCmluZGV4IDc1YTA4NTQ2MDhl
ZjVhOTIxZTI1MjkyZGExZmI2OGY0ZWQxNTc1ZjguLmViZTliMmU5MzYwMGMyOTg2Y2E5ZjFlYzIw
OTc0ZTg4ZDIxMzE4MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJl
SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNw
cApAQCAtMjYsMTYgKzI2LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8d3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgogCisjaW5jbHVkZSA8d3RmL0xvZ2dpbmcuaD4KICNp
bmNsdWRlIDx3dGYvTWVtb3J5Rm9vdHByaW50Lmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJv
eWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JBTVNpemUuaD4KIAotI2RlZmluZSBMT0dfQ0hBTk5FTF9Q
UkVGSVggTG9nCi0KIG5hbWVzcGFjZSBXVEYgewogCi1ERUZJTkVfTE9HX0NIQU5ORUwoTWVtb3J5
UHJlc3N1cmUsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOwotCiBXVEZfRVhQT1JUX1BS
SVZBVEUgYm9vbCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OlJlbGllZkxvZ2dlcjo6c19sb2dnaW5n
RW5hYmxlZCA9IGZhbHNlOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTUzLDggKzUw
LDEwIEBAIE1lbW9yeVByZXNzdXJlSGFuZGxlciYgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzaW5n
bGV0b24oKQogICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8TWVtb3J5UHJlc3N1cmVIYW5k
bGVyPiBtZW1vcnlQcmVzc3VyZUhhbmRsZXI7CiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9u
Y2VLZXk7CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUtleSwgWyZdIHsKLSAgICAgICAgV1RGTG9n
Q2hhbm5lbCogY2hhbm5lbHNbXSA9IHsgJkxvZ01lbW9yeVByZXNzdXJlIH07CisjaWYgIUxPR19E
SVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgV1RGTG9nQ2hhbm5lbCog
Y2hhbm5lbHNbXSA9IHsgJldURkxvZ01lbW9yeVByZXNzdXJlIH07CiAgICAgICAgIFdURkluaXRp
YWxpemVMb2dDaGFubmVsU3RhdGVzRnJvbVN0cmluZyhjaGFubmVscywgMSwgIiIpOworI2VuZGlm
CiAKICAgICAgICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNvbnN0cnVjdCgpOwogICAgIH0pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAppbmRleCAwOTMwNmUzMzRhM2JjMzll
OWU3M2JiNDA4ZTQwMDEyNjJmMWJlZDkyLi5lYWVkNzkyNWMxM2JjYTg1ZmM3N2MzZTc0YjdiODE1
Y2M4MzQ1ZDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaApAQCAtMjcy
LDggKzI3Miw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWV4dGVybiBXVEZMb2dDaGFubmVs
IExvZ01lbW9yeVByZXNzdXJlOwotCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpD
cml0aWNhbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRlRXLmNtYWtlIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1GVFcuY21ha2UKaW5kZXggMTUzMzEyNzNjOTExYWU3YmUw
NGFhMGVhMjhlNmRmNjI1NDE2M2Y0Zi4uNjgyZjQyMGRjODc1NDcwNDFhZGJjNzk1ZTM4ZGUzOGI5
MzA3YTI1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1GVFcuY21ha2UKKysr
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1GVFcuY21ha2UKQEAgLTI0LDYgKzI0LDcgQEAgbGlz
dChBUFBFTkQgV1RGX1NPVVJDRVMKICAgICB3aW4vRGJnSGVscGVyV2luLmNwcAogICAgIHdpbi9G
aWxlU3lzdGVtV2luLmNwcAogICAgIHdpbi9MYW5ndWFnZVdpbi5jcHAKKyAgICB3aW4vTG9nZ2lu
Z1dpbi5jcHAKICAgICB3aW4vTWFpblRocmVhZFdpbi5jcHAKICAgICB3aW4vTWVtb3J5Rm9vdHBy
aW50V2luLmNwcAogICAgIHdpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtR1RLLmNtYWtlCmluZGV4IDliZDVmZGU1YmMzODM1NWUyNWJjMDlkMDVhMDQ1ZGYzMWVm
YWEyNTkuLjRhMTJiNWE0MzkzZmUyYmJlMzk2NzNlM2ZhNTQ3YzlkNjk3NmFiZDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtR1RLLmNtYWtlCkBAIC00NCw2ICs0NCw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VS
Q0VTCiAgICAgdGV4dC91bml4L1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VVbml4LmNwcAog
CiAgICAgdW5peC9MYW5ndWFnZVVuaXguY3BwCisgICAgdW5peC9Mb2dnaW5nVW5peC5jcHAKICAg
ICB1bml4L1VuaVN0ZEV4dHJhc1VuaXguY3BwCiApCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25s
eS5jbWFrZQppbmRleCBjMmIzYTBmZTRjODVkNjY0YzU5OGUyYWQ2ZGVhNjA5OGIyMjJhMGRiLi5l
OTNhMjg1YTJkODcxNzU3ODE1ZWVlMjZiZjViNjVkNGEzOWNjYWU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm1KU0NPbmx5LmNtYWtlCkBAIC0xMSw2ICsxMSw3IEBAIGlmIChXSU4zMikKICAgICAgICAg
d2luL0RiZ0hlbHBlcldpbi5jcHAKICAgICAgICAgd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCiAgICAg
ICAgIHdpbi9MYW5ndWFnZVdpbi5jcHAKKyAgICAgICAgd2luL0xvZ2dpbmdXaW4uY3BwCiAgICAg
ICAgIHdpbi9NYWluVGhyZWFkV2luLmNwcAogICAgICAgICB3aW4vT1NBbGxvY2F0b3JXaW4uY3Bw
CiAgICAgICAgIHdpbi9QYXRoV2Fsa2VyLmNwcApAQCAtMzcsNiArMzgsNyBAQCBlbHNlICgpCiAg
ICAgICAgIHRleHQvdW5peC9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5jcHAKIAog
ICAgICAgICB1bml4L0xhbmd1YWdlVW5peC5jcHAKKyAgICAgICAgdW5peC9Mb2dnaW5nVW5peC5j
cHAKICAgICApCiAgICAgaWYgKFdURl9PU19GVUNIU0lBKQogICAgICAgICBsaXN0KEFQUEVORCBX
VEZfU09VUkNFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2Ug
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCAyNjJlYWY1Mzk2ZGUwOWZl
MDk5OTgxMWZiMzJmMDNjNGZjNjliMDQ4Li4zNmJiYjlkY2JhMWNiYzUwNjM1MzE0YWQyNmM5NGJj
MDQ2YmZiNGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtNjQsNiArNjQsNyBAQCBs
aXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIGNvY29hL0VudGl0bGVtZW50cy5tbQogICAgIGNv
Y29hL0ZpbGVTeXN0ZW1Db2NvYS5tbQogICAgIGNvY29hL0xhbmd1YWdlQ29jb2EubW0KKyAgICBj
b2NvYS9Mb2dnaW5nQ29jb2EubW0KICAgICBjb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcAogICAgIGNv
Y29hL01haW5UaHJlYWRDb2NvYS5tbQogICAgIGNvY29hL01lbW9yeUZvb3RwcmludENvY29hLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZSBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UKaW5kZXggNjU1ZjBjOTE1
YjJmNWUyMzU2YWY0YzgxYTgwZmVlNTZkOGM0YTRmNy4uYTAzNTkwNTcwMTJiNGIwMWRjYjUzOTg2
YWM0NmJiMDZiYmRkNTIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5
U3RhdGlvbi5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNt
YWtlCkBAIC0xNSw2ICsxNSw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAKICAgICB0ZXh0
L3VuaXgvVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVVVuaXguY3BwCiAKKyAgICB1bml4L0xv
Z2dpbmdVbml4LmNwcAogICAgIHVuaXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKICkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1XUEUuY21ha2UgYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZQppbmRleCBhODQwYTQ4N2ZmMDNhM2M4Mjc0NTVjYWI2
N2ZhYThmODNkMjBiZmE5Li42NDNlZjBmY2RmNGYzY2U0YTFmMjdiYzBjYzZlMTc5YjcxNDNiYmQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZQorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtMzcsNiArMzcsNyBAQCBsaXN0KEFQUEVO
RCBXVEZfU09VUkNFUwogICAgIHRleHQvdW5peC9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNV
VW5peC5jcHAKIAogICAgIHVuaXgvTGFuZ3VhZ2VVbml4LmNwcAorICAgIHVuaXgvTG9nZ2luZ1Vu
aXguY3BwCiAgICAgdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcAogICAgIHVuaXgv
VW5pU3RkRXh0cmFzVW5peC5jcHAKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtV2luLmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21ha2UKaW5kZXggNjhm
NzM4OGU3ZjM1ZGNlOGEzN2VjOGI4ZGNhMmU2Yjg0ZTQ5Y2E1OC4uY2M0M2EyMWM4ZWZmMzZlNDFm
MWY5N2FmNmU5M2E1ZTE4NmY1NjA3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZv
cm1XaW4uY21ha2UKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21ha2UKQEAgLTE3
LDYgKzE3LDcgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICAgICB3aW4vRGJnSGVscGVyV2lu
LmNwcAogICAgIHdpbi9GaWxlU3lzdGVtV2luLmNwcAogICAgIHdpbi9MYW5ndWFnZVdpbi5jcHAK
KyAgICB3aW4vTG9nZ2luZ1dpbi5jcHAKICAgICB3aW4vTWFpblRocmVhZFdpbi5jcHAKICAgICB3
aW4vTWVtb3J5Rm9vdHByaW50V2luLmNwcAogICAgIHdpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJX
aW4uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIu
Y3BwIGIvU291cmNlL1dURi93dGYvUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcAppbmRleCBkZmEy
MDQzZGRkNDVhZjU4NTQ4YTQ3NDc3YTJjZjFhMmI4MzAxOGVhLi5hZTE0Mjk5OTMxOGQ2M2QxNDY5
MDIyZDZiNTRhOGJmYzc0ZTM0NzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3Vu
dGVkTGVha0NvdW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JlZkNvdW50ZWRMZWFrQ291
bnRlci5jcHAKQEAgLTIxLDYgKzIxLDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZExlYWtDb3VudGVyLmg+CiAKKyNpbmNsdWRlIDx3dGYvTG9nZ2luZy5o
PgorCiAjaWZkZWYgTkRFQlVHCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtMzksMTcgKzQxLDYgQEAg
dm9pZCBSZWZDb3VudGVkTGVha0NvdW50ZXI6OmRlY3JlbWVudCgpIHsgfQogCiBuYW1lc3BhY2Ug
V1RGIHsKIAotI2RlZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVggTG9nCi0jaWYgUkVMRUFTRV9MT0df
RElTQUJMRUQKLXN0YXRpYyBXVEZMb2dDaGFubmVsIExvZ1JlZkNvdW50ZWRMZWFrcyA9IHsgV1RG
TG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlJlZkNvdW50ZWRMZWFrcyIsIFdURkxvZ0xldmVsOjpFcnJv
ciB9OwotI2VuZGlmCi0jaWYgVVNFKE9TX0xPRykgJiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi1z
dGF0aWMgV1RGTG9nQ2hhbm5lbCBMb2dSZWZDb3VudGVkTGVha3MgPSB7IFdURkxvZ0NoYW5uZWxT
dGF0ZTo6T24sICJSZWZDb3VudGVkTGVha3MiLCBXVEZMb2dMZXZlbDo6RXJyb3IsIExPR19DSEFO
TkVMX1dFQktJVF9TVUJTWVNURU0sIE9TX0xPR19ERUZBVUxUIH07Ci0jZW5kaWYKLSNpZiBVU0Uo
Sk9VUk5BTEQpICYmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotc3RhdGljIFdURkxvZ0NoYW5uZWwg
TG9nUmVmQ291bnRlZExlYWtzID0geyBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uLCAiUmVmQ291bnRl
ZExlYWtzIiwgV1RGTG9nTGV2ZWw6OkVycm9yLCBMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVN
IH07Ci0jZW5kaWYKLQogdHlwZWRlZiBIYXNoQ291bnRlZFNldDxjb25zdCBjaGFyKiwgUHRySGFz
aDxjb25zdCBjaGFyKj4+IFJlYXNvblNldDsKIHN0YXRpYyBSZWFzb25TZXQqIGxlYWtNZXNzYWdl
U3VwcHJlc3Npb25SZWFzb25zOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9M
b2dnaW5nQ29jb2EubW0gYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Mb2dnaW5nQ29jb2EubW0KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2VkNWM1MDYzNjEwZWRhMTdlYjlhYmM5ZTFjZWUwNGQyMTM1MTYyMAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL0xvZ2dpbmdDb2NvYS5tbQpAQCAtMCww
ICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0IDx3dGYv
TG9nZ2luZy5oPgorCisjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KworbmFtZXNwYWNlIFdURiB7CisKK1N0cmluZyBsb2dMZXZlbFN0cmluZygpCit7CisjaWYgIUxP
R19ESVNBQkxFRAorICAgIHJldHVybiBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBzdHJpbmdGb3JLZXk6QCJXVEZMb2dnaW5nIl07CisjZWxzZQorICAgIHJldHVybiBTdHJp
bmcoKTsKKyNlbmRpZgorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcCBiL1NvdXJjZS9X
VEYvd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3BwCmluZGV4IDJlYjMwMmQxZGQ1YTkyNmIyNTU4
MzE1YWQzNzI4OGZlNDk3ZWYyZWYuLmM5NTNiMzg5NDdhYjdlZGNjYTQyMWRjMGEyOTA4MDJkODVm
ZGRiYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3BwCkBAIC0yOSwxNyAr
MjksMTAgQEAKICNpbmNsdWRlIDxtYWNoL21hY2hfZXJyb3IuaD4KICNpbmNsdWRlIDxtYWNoL21h
Y2hfaW5pdC5oPgogI2luY2x1ZGUgPHV0aWxpdHk+Ci0KLSNkZWZpbmUgTE9HX0NIQU5ORUxfUFJF
RklYIExvZworI2luY2x1ZGUgPHd0Zi9Mb2dnaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi0j
aWYgUkVMRUFTRV9MT0dfRElTQUJMRUQKLVdURkxvZ0NoYW5uZWwgTG9nUHJvY2VzcyA9IHsgV1RG
TG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlByb2Nlc3MiLCBXVEZMb2dMZXZlbDo6RXJyb3IgfTsKLSNl
bHNlCi1XVEZMb2dDaGFubmVsIExvZ1Byb2Nlc3MgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24s
ICJQcm9jZXNzIiwgV1RGTG9nTGV2ZWw6OkVycm9yLCBMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lT
VEVNLCBPU19MT0dfREVGQVVMVCB9OwotI2VuZGlmCi0KIHN0YXRpYyB2b2lkIHJldGFpblNlbmRS
aWdodChtYWNoX3BvcnRfdCBwb3J0KQogewogICAgIGlmIChwb3J0ID09IE1BQ0hfUE9SVF9OVUxM
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tIGIv
U291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCmluZGV4IGZkNjM3ZjdmNDcy
MDE2MGY4MzA5ZDU4ZjZiMDk1Y2YzMjMxZmVlMmQuLjU4OGVkMDBhOGI3MzAwMjE1NDczMGE2ZDMy
ZTBmZWU4MmQ2MmRkNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJl
YWRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW0K
QEAgLTM1LDYgKzM1LDcgQEAKICNpbXBvcnQgPHN0ZGlvLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0
aW9ucy5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CisjaW1wb3J0IDx3dGYvTG9nZ2luZy5o
PgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KICNp
bXBvcnQgPHd0Zi9TY2hlZHVsZVBhaXIuaD4KQEAgLTQ0LDE2ICs0NSw4IEBACiAjaW1wb3J0IDx3
dGYvaW9zL1dlYkNvcmVUaHJlYWQuaD4KICNlbmRpZgogCi0jZGVmaW5lIExPR19DSEFOTkVMX1BS
RUZJWCBMb2cKLQogbmFtZXNwYWNlIFdURiB7CiAKLSNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAot
V1RGTG9nQ2hhbm5lbCBMb2dUaHJlYWRpbmcgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJU
aHJlYWRpbmciLCBXVEZMb2dMZXZlbDo6RXJyb3IgfTsKLSNlbHNlCi1XVEZMb2dDaGFubmVsIExv
Z1RocmVhZGluZyA9IHsgV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlRocmVhZGluZyIsIFdURkxv
Z0xldmVsOjpFcnJvciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSwgT1NfTE9HX0RFRkFV
TFQgfTsKLSNlbmRpZgotCiAjaWYgVVNFKFdFQl9USFJFQUQpCiAvLyBXaGVuIHRoZSBXZWIgdGhy
ZWFkIGlzIGVuYWJsZWQsIHdlIGNvbnNpZGVyIGl0IHRvIGJlIHRoZSBtYWluIHRocmVhZCwgbm90
IHB0aHJlYWQgbWFpbi4KIHN0YXRpYyBwdGhyZWFkX3Qgc193ZWJUaHJlYWRQdGhyZWFkOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2Eu
bW0gYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbQpp
bmRleCBhN2JiZGQzOTBiODA5Y2FiNjhmMTFlNzc2ZTMxOGZmOTVmOGIwOGZjLi45NjIwNWQwZjI4
NjBkNDI4MWMyNzI5YjM1ODcwNjA2ZTQzYTU0YTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbQpAQCAtMzAsNiArMzAsNyBAQAog
I2ltcG9ydCA8bWFjaC90YXNrX2luZm8uaD4KICNpbXBvcnQgPG1hbGxvYy9tYWxsb2MuaD4KICNp
bXBvcnQgPG5vdGlmeS5oPgorI2ltcG9ydCA8d3RmL0xvZ2dpbmcuaD4KICNpbXBvcnQgPHd0Zi9S
ZXNvdXJjZVVzYWdlLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9EaXNwYXRjaFNQSS5oPgog
CkBAIC0zNyw4ICszOCw2IEBACiAKIGV4dGVybiAiQyIgdm9pZCBjYWNoZV9zaW11bGF0ZV9tZW1v
cnlfd2FybmluZ19ldmVudCh1aW50NjRfdCk7CiAKLSNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklY
IExvZwotCiBuYW1lc3BhY2UgV1RGIHsKIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnBs
YXRmb3JtUmVsZWFzZU1lbW9yeShDcml0aWNhbCBjcml0aWNhbCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL3VuaXgvTG9nZ2luZ1VuaXguY3BwIGIvU291cmNlL1dURi93dGYvdW5peC9Mb2dn
aW5nVW5peC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYwOWU0NDJlYTU1Mjc1YzAzOTQxNDMxYWE2ZTQxMjI3
ZDI5YzBmMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL3VuaXgvTG9nZ2luZ1Vu
aXguY3BwCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRv
a2VyIDxhbHBAYXRva2VyLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBHdXN0YXZvIE5vcm9u
aGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTG9n
Z2luZy5oIgorCisjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKwor
I2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCitu
YW1lc3BhY2UgV1RGIHsKKworU3RyaW5nIGxvZ0xldmVsU3RyaW5nKCkKK3sKKyAgICBjaGFyKiBs
b2dFbnYgPSBnZXRlbnYoIldFQktJVF9ERUJVRyIpOworCisgICAgLy8gRGlzYWJsZSBhbGwgbG9n
IGNoYW5uZWxzIGlmIFdFQktJVF9ERUJVRyBpcyB1bnNldC4KKyAgICBpZiAoIWxvZ0VudikKKyAg
ICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIi1hbGwiX3MpOworCisgICAgLy8gV2Ugc2V0IHVwIHRo
ZSBsb2dzIGFueXdheSBiZWNhdXNlIHNvbWUgb2Ygb3VyIGxvZ2dpbmcsIHN1Y2ggYXMgU291cCdz
IGlzIGF2YWlsYWJsZSBpbiByZWxlYXNlIGJ1aWxkcy4KKyNpZiBkZWZpbmVkKE5ERUJVRykgJiYg
UkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBXVEZMb2dBbHdheXMoIldFQktJVF9ERUJVRyBpcyBu
b3QgZW1wdHksIGJ1dCB0aGlzIGlzIGEgcmVsZWFzZSBidWlsZC4gTm90aWNlIHRoYXQgbWFueSBs
b2cgbWVzc2FnZXMgd2lsbCBvbmx5IGFwcGVhciBpbiBhIGRlYnVnIGJ1aWxkLiIpOworI2VuZGlm
CisKKyAgICAvLyBUbyBkaXNhYmxlIGxvZ2dpbmcgbm90SW1wbGVtZW50ZWQgc2V0IHRoZSBESVNB
QkxFX05JX1dBUk5JTkcgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gMS4KKyAgICByZXR1cm4gbWFr
ZVN0cmluZygiTm90WWV0SW1wbGVtZW50ZWQsIl9zLCBsb2dFbnYpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXVEYKKworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vTG9nZ2luZ1dpbi5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi93aW4vTG9nZ2luZ1dpbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmMyYTczZTE0NjI5OGI3
NjBmNzk3ZWFlMDdiZTQ5ZjJmNGIxMThjYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYv
d3RmL3dpbi9Mb2dnaW5nV2luLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKKworI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECisKKyNpbmNsdWRlIDx3aW5kb3dzLmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5o
PgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV1RGIHsKKwor
U3RyaW5nIGxvZ0xldmVsU3RyaW5nKCkKK3sKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgc3RhdGlj
IGNvbnN0ZXhwciBjb25zdCBjaGFyKiBsb2dnaW5nRW52aXJvbm1lbnRWYXJpYWJsZSA9ICJXVEZM
b2dnaW5nIjsKKyAgICBEV09SRCBsZW5ndGggPSBHZXRFbnZpcm9ubWVudFZhcmlhYmxlQShsb2dn
aW5nRW52aXJvbm1lbnRWYXJpYWJsZSwgMCwgMCk7CisgICAgaWYgKCFsZW5ndGgpCisgICAgICAg
IHJldHVybiBlbXB0eVN0cmluZygpOworCisgICAgVmVjdG9yPGNoYXI+IGJ1ZmZlcihsZW5ndGgp
OworCisgICAgaWYgKCFHZXRFbnZpcm9ubWVudFZhcmlhYmxlQShsb2dnaW5nRW52aXJvbm1lbnRW
YXJpYWJsZSwgYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7CisKKyAgICByZXR1cm4gU3RyaW5nKGJ1ZmZlci5kYXRhKCkpOworI2Vsc2UKKyAgICBy
ZXR1cm4gU3RyaW5nKCk7CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3BhY2UgV1RGCisKKyNlbmRp
ZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Mb2dnaW5nLmNwcAppbmRleCA2MWZlOGQzNzUyMTU4M2QyZDQ2NTE5MzgwNTAyODVmM2M0
MzU3NzcwLi44YWZlMmVjODRjOTk5OGRjZjAyYTc2MDc0OTkxMDgzNjczYzM1ZGViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmNwcApAQCAtOTAsNyArOTAsNiBAQCB2b2lkIGluaXRpYWxp
emVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiBsb2dDaGFubmVs
U3RyaW5nKQogCiAgICAgU3RyaW5nIGVuYWJsZWRDaGFubmVsc1N0cmluZyA9IGxvZ0NoYW5uZWxT
dHJpbmcgPyBsb2dDaGFubmVsU3RyaW5nLnZhbHVlKCkgOiBsb2dMZXZlbFN0cmluZygpOwogICAg
IFdURkluaXRpYWxpemVMb2dDaGFubmVsU3RhdGVzRnJvbVN0cmluZyhsb2dDaGFubmVscywgbG9n
Q2hhbm5lbENvdW50LCBlbmFibGVkQ2hhbm5lbHNTdHJpbmcudXRmOCgpLmRhdGEoKSk7Ci0vLyAg
ICBMb2dFdmVudExvb3Auc3RhdGUgPSBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uOwogfQogCiBXVEZM
b2dDaGFubmVsKiBnZXRMb2dDaGFubmVsKGNvbnN0IFN0cmluZyYgbmFtZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCA1YTQ5ZmVmMDg5NDgzMjFmNzBjY2NmOTY2
ODVhNjU3MjRhOTBhMjVhLi5hMTc0ODEzYjQyNzAzYTE4YzU4OWNjZDcxMDI4NjFlNTYxNGZhOTA3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBAIC00OSw2ICs0OSw3
IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CiAjaW5jbHVk
ZSA8d3RmL0FsZ29yaXRobXMuaD4KICNpbmNsdWRlIDx3dGYvQ2FsbGJhY2tBZ2dyZWdhdG9yLmg+
CisjaW5jbHVkZSA8d3RmL0xvZ2dpbmcuaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5UHJlc3N1cmVI
YW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgogI2luY2x1ZGUgPHd0Zi9Qcm9j
ZXNzUHJpdmlsZWdlLmg+CkBAIC0yNDMsNiArMjQ0LDcgQEAgdm9pZCBHUFVQcm9jZXNzOjppbml0
aWFsaXplR1BVUHJvY2VzcyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVy
cykKICNlbmRpZgogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KyAgICBXVEY6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud3Rm
TG9nZ2luZ0NoYW5uZWxzKTsKICAgICBXZWJDb3JlOjppbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5l
Y2Vzc2FyeShwYXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMpOwogICAgIFdlYktpdDo6
aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53ZWJLaXRMb2dnaW5n
Q2hhbm5lbHMpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggZGY0YmEyMGRhMjVkNTBi
ZDZmMjc1NTYwMDExMjM5ZDQ2ZTZkNGNlZS4uZThjOTkxM2QzNWI5MTRiMTIzOWE2NzNhNmI0NjNh
ODY5OWEzYThiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtNTksNiArNTksNyBAQCB2b2lkIEdQ
VVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiAgICAgZW5jb2RlciA8PCBkeW5hbWljTWFjaEV4dGVuc2lvbkhhbmRsZXM7CiAjZW5k
aWYKIAorICAgIGVuY29kZXIgPDwgd3RmTG9nZ2luZ0NoYW5uZWxzOwogICAgIGVuY29kZXIgPDwg
d2ViQ29yZUxvZ2dpbmdDaGFubmVsczsKICAgICBlbmNvZGVyIDw8IHdlYktpdExvZ2dpbmdDaGFu
bmVsczsKIH0KQEAgLTEwOSw2ICsxMTAsOCBAQCBib29sIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIEdQVVByb2Nlc3NDcmVhdAogICAg
IHJlc3VsdC5keW5hbWljTWFjaEV4dGVuc2lvbkhhbmRsZXMgPSBXVEZNb3ZlKCpkeW5hbWljTWFj
aEV4dGVuc2lvbkhhbmRsZXMpOwogI2VuZGlmCiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJl
c3VsdC53dGZMb2dnaW5nQ2hhbm5lbHMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQud2ViQ29yZUxvZ2dpbmdDaGFubmVscykpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC53ZWJLaXRMb2dn
aW5nQ2hhbm5lbHMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5kZXggNjM0NjczMTI3MmJkMDcyOTBhNmU4YmNk
YjRiNDBmZjRlZGY2MTAyZS4uZDRhOWIyYjc1NTc4Mzk4M2JhZDU3MzFmZTZhNTI2ODZkMjFjMzdh
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5oCkBAIC01Nyw2ICs1Nyw3IEBAIHN0cnVjdCBHUFVQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzIHsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBkeW5h
bWljTWFjaEV4dGVuc2lvbkhhbmRsZXM7CiAjZW5kaWYKIAorICAgIFN0cmluZyB3dGZMb2dnaW5n
Q2hhbm5lbHM7CiAgICAgU3RyaW5nIHdlYkNvcmVMb2dnaW5nQ2hhbm5lbHM7CiAgICAgU3RyaW5n
IHdlYktpdExvZ2dpbmdDaGFubmVsczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQ
cm9jZXNzLmNwcAppbmRleCA5NGY5NGU5MjZjM2U5MTM2MTBjZWRlYjJiN2VkNGNhMWEzOTVlNGEw
Li4zNjVhZTczNWU2MTQ5YTM2ZTdkZjY3ODg1NTY4ODlmMWQyZjc0ZGM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1
ZGUgIldlYlBhZ2VQcm94eUlkZW50aWZpZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xvZ0luaXRp
YWxpemF0aW9uLmg+CiAjaW5jbHVkZSA8cGFsL1Nlc3Npb25JRC5oPgorI2luY2x1ZGUgPHd0Zi9M
b2dnaW5nLmg+CiAKICNpZiAhT1MoV0lORE9XUykKICNpbmNsdWRlIDx1bmlzdGQuaD4KQEAgLTgy
LDYgKzgzLDcgQEAgdm9pZCBBdXhpbGlhcnlQcm9jZXNzOjppbml0aWFsaXplKGNvbnN0IEF1eGls
aWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMKICAgICBpbml0aWFsaXplU2FuZGJv
eChwYXJhbWV0ZXJzLCBzYW5kYm94UGFyYW1ldGVycyk7CiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIFdURjo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZO
ZWNlc3NhcnkoKTsKICAgICBXZWJDb3JlOjppbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2Fy
eSgpOwogICAgIFdlYktpdDo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICNl
bmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCmluZGV4IDUyNjY4Zjk1M2E0YjM4NmM5
YjdjYzM2ODM5OWJmOTQzMWRkMDIzNjcuLmZlZWJjMDBjMWYyMTdkYjNhZDdlNzhmZGViYjA5M2Nm
MGM4NTU0MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYktpdDJJbml0aWFs
aXplLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAK
QEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Jbml0aWFsaXplVGhy
ZWFkaW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Mb2dJbml0aWFsaXphdGlvbi5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvV2ViQ29yZUpJVE9wZXJhdGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvTG9nZ2lu
Zy5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgpAQCAtNDcsNiArNDgsNyBAQCB2b2lkIElu
aXRpYWxpemVXZWJLaXQyKCkKICAgICBXVEY6OlJlZkNvdW50ZWRCYXNlOjplbmFibGVUaHJlYWRp
bmdDaGVja3NHbG9iYWxseSgpOwogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0df
RElTQUJMRUQKKyAgICBXVEY6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAg
ICAgV2ViQ29yZTo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICBXZWJL
aXQ6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYgLy8gIUxPR19E
SVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggNzc2ZmIwYmU2
OTljZjc0Y2FlYTZhNjgyNGYzOTRlODRiYThlODYxNi4uYmZmYmM0OTFlYzk1YzVlMDgwYWJlMjU2
MTA2M2Q0MTBjMjVkODA2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTU5LDYgKzU5LDcgQEAgdm9pZCBXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICAg
ICBlbmNvZGVyIDw8IGVuYWJsZVJlbW90ZVdlYkluc3BlY3RvckV4dGVuc2lvbkhhbmRsZTsKICNl
bmRpZgorICAgIGVuY29kZXIgPDwgd3RmTG9nZ2luZ0NoYW5uZWxzOwogICAgIGVuY29kZXIgPDwg
d2ViQ29yZUxvZ2dpbmdDaGFubmVsczsKICAgICBlbmNvZGVyIDw8IHdlYktpdExvZ2dpbmdDaGFu
bmVsczsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpAQCAtMjYyLDYgKzI2Myw4IEBAIGJvb2wg
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2Rl
ciwgV2ViUHJvY2Vzc0NyZWF0CiAgICAgcGFyYW1ldGVycy5lbmFibGVSZW1vdGVXZWJJbnNwZWN0
b3JFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKCplbmFibGVSZW1vdGVXZWJJbnNwZWN0b3JFeHRl
bnNpb25IYW5kbGUpOwogI2VuZGlmCiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRl
cnMud3RmTG9nZ2luZ0NoYW5uZWxzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy53ZWJL
aXRMb2dnaW5nQ2hhbm5lbHMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDA2MGQ0ZjE5MzMxYTU3OWM0YTZkNmEyNmY0
NzUyOGJlZjYzZjBiODguLmYxMzFmOWM4MGNlZWU2ZTgxZDkxZTUyMjVkNTRkY2ZiMjIwMjI1YzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKQEAgLTk0LDYgKzk0LDcgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMgewogICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBhdWRpb0NhcHR1cmVFeHRlbnNp
b25IYW5kbGU7CiAjZW5kaWYKIAorICAgIFN0cmluZyB3dGZMb2dnaW5nQ2hhbm5lbHM7CiAgICAg
U3RyaW5nIHdlYkNvcmVMb2dnaW5nQ2hhbm5lbHM7CiAgICAgU3RyaW5nIHdlYktpdExvZ2dpbmdD
aGFubmVsczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvR1BV
UHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQ
cm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCAyOGNjODk0NzhkOGFmMDQ1NjdiNWIzYWYxMTQ3YjUz
ZDU4NGFlZTJhLi40MzEyZDFiMDBjOWIyOGU5ZmY5MTYzMTQ2YWUxMTZmMzMwMmE0OGE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlDb2Nv
YS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlD
b2NvYS5tbQpAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIHZvaWQgR1BVUHJv
Y2Vzc1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFyYW1ldGVycyhHUFVQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogI2lmICFMT0dfRElTQUJMRUQg
fHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgcGFyYW1ldGVycy53dGZMb2dnaW5nQ2hhbm5l
bHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6
QCJXVEZMb2dnaW5nIl07CiAgICAgcGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzID0g
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV2Vi
Q29yZUxvZ2dpbmciXTsKICAgICBwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscyA9IFtb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0ZvcktleTpAIldlYktp
dDJMb2dnaW5nIl07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDJlNmI0YzEzNzYxOTJhYTYxMDljNGE5
MThmMzQzZjQ0MzNhMmIxYzMuLjI4NWIwZmZmMzE5OTRkMzdlNzFjODVkYzk1OTNlYmY0MDhiYjEx
MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
b29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vz
c1Bvb2xDb2NvYS5tbQpAQCAtMzg4LDYgKzM4OCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBs
YXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXNz
CiAjZW5kaWYKIAogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgcGFyYW1ldGVycy53dGZMb2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJXVEZMb2dnaW5nIl07CiAgICAgcGFyYW1l
dGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVz
ZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV2ViQ29yZUxvZ2dpbmciXTsKICAgICBwYXJhbWV0
ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdIHN0cmluZ0ZvcktleTpAIldlYktpdDJMb2dnaW5nIl07CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKaW5kZXggMzEz
NTQ5MmY1ZTU0YmUwYmRiM2EyY2VmNGU0MWVhYWQ5M2VjN2ZmMi4uNTEwNWE4MDI2YjQyOTAyMzYw
ODQ5N2VhZDE5NmFlNDk2MTQ4NjZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
R1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKQEAgLTYwOSw2ICs2MDksNyBAQCB2b2lkIEdQVVByb2Nl
c3NQcm94eTo6ZGlkQmVjb21lVW5yZXNwb25zaXZlKCkKIHZvaWQgR1BVUHJvY2Vzc1Byb3h5Ojpw
bGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFyYW1ldGVycyhHUFVQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECisgICAgcGFyYW1ldGVycy53dGZMb2dnaW5nQ2hhbm5lbHMgPSBXVEY6Omxv
Z0xldmVsU3RyaW5nKCk7CiAgICAgcGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzID0g
V2ViQ29yZTo6bG9nTGV2ZWxTdHJpbmcoKTsKICAgICBwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdD
aGFubmVscyA9IFdlYktpdDo6bG9nTGV2ZWxTdHJpbmcoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDJlYWI2YmNiODliOGI3OWE3ZGNm
M2NkY2Q0OWMwNmQ1YWNkMjEyYjMuLmJiYWY3YWQ0OGYyN2ZiNmZlM2U1NWE0MGNiOGM0ZThkYTI4
N2EwNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAg
LTk2LDYgKzk2LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
cy5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvQ2FsbGJhY2tB
Z2dyZWdhdG9yLmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dpbmcuaD4KICNpbmNsdWRlIDx3dGYvTWFp
blRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0
Zi9Qcm9jZXNzUHJpdmlsZWdlLmg+CkBAIC0yNTEsNiArMjUyLDcgQEAgV2ViUHJvY2Vzc1Bvb2w6
OldlYlByb2Nlc3NQb29sKEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25maWd1cmF0
aW9uKQogICAgIHJlc29sdmVQYXRoc0ZvclNhbmRib3hFeHRlbnNpb25zKCk7CiAKICNpZiAhTE9H
X0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIFdURjo6aW5pdGlhbGl6ZUxv
Z0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICBXZWJDb3JlOjppbml0aWFsaXplTG9nQ2hhbm5l
bHNJZk5lY2Vzc2FyeSgpOwogICAgIFdlYktpdDo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNl
c3NhcnkoKTsKICNlbmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxF
RApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3ND
b2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0KaW5kZXggZGQxZWZmNWJhYmI2YTU0ZWZhOTdjNjA1NzIwZTg1ZWIwMWM4OTY3MS4uMWQxYzRj
N2MxMjgwNzEyZjlkOTkzMzhkMmZkOGFlZDhjODVhYTFkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCkBAIC0xMDEsNiArMTAxLDcg
QEAKICNpbXBvcnQgPHN0ZGlvLmg+CiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9y
dCA8d3RmL0xhbmd1YWdlLmg+CisjaW1wb3J0IDx3dGYvTG9nZ2luZy5oPgogI2ltcG9ydCA8d3Rm
L1Byb2Nlc3NQcml2aWxlZ2UuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogI2ltcG9y
dCA8d3RmL2NvY29hL0VudGl0bGVtZW50cy5oPgpAQCAtMjgxLDYgKzI4Miw3IEBAIHZvaWQgV2Vi
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzJiBwYXJhCiAgICAgfQogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKKyAgICBXVEY6OmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBh
cmFtZXRlcnMud3RmTG9nZ2luZ0NoYW5uZWxzKTsKICAgICBXZWJDb3JlOjppbml0aWFsaXplTG9n
Q2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMpOwog
ICAgIFdlYktpdDo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53
ZWJLaXRMb2dnaW5nQ2hhbm5lbHMpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggMDYwOGRhNTE5N2RkZjdlYzY5MjVkNzJiMDkxYWFiZDg2
Y2VlMzhkZi4uNjlhNmMwNWI1MjgzODM0ODI0OGJjNDg0MGMwNWYwMTRmZDQ5NjA0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjUxLDYgKzI1MSw3
IEBACiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3RmL0hhc2hUcmFpdHMu
aD4KICNpbXBvcnQgPHd0Zi9MYW5ndWFnZS5oPgorI2ltcG9ydCA8d3RmL0xvZ2dpbmcuaD4KICNp
bXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJhcy5oPgogI2lt
cG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KQEAgLTE0ODAsOCArMTQ4MSw5IEBAIC0gKHZv
aWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5h
bWUgZ3JvdXBOYW1lOihOU1N0CiAjZW5kaWYKICAgICBpZiAoIWRpZE9uZVRpbWVJbml0aWFsaXph
dGlvbikgewogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAg
ICAgIFdlYktpdEluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CisgICAgICAgIFdU
Rjo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICAgICAgV2ViQ29yZTo6
aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKKyAgICAgICAgV2ViS2l0SW5pdGlh
bGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICNlbmRpZgogCiAgICAgICAgIC8vIEluaXRp
YWxpemUgb3VyIHBsYXRmb3JtIHN0cmF0ZWdpZXMgZmlyc3QgYmVmb3JlIGludm9raW5nIHRoZSBy
ZXN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435121</attachid>
            <date>2021-08-07 02:14:10 -0700</date>
            <delta_ts>2021-08-07 02:24:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228768-20210807021409.patch</filename>
            <type>text/plain</type>
            <size>49083</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQwOTllY2QzYmNlZjkzYjE3N2RmYTM4
ZGFmMTYzODA5NzUyMmUzYjMuLmQ5MjQ0Mjg5MTRiYWMzMWZjMWM1OGU0MWFkYTVjMjE0ZWNkNDQ4
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMjEtMDgtMDcgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IFdURiBsb2dnaW5nIGNoYW5u
ZWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg3
NjgKKworICAgICAgICBUaGlzIHBhdGNoIGJ1aWxkcyBvbiB0b3Agb2YgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODgwOSwgd2hpY2ggYWRkZWQgc2hhcmVkIGluZnJh
c3RydWN0dXJlCisgICAgICAgIGZvciBsb2dnaW5nLiBUaGlzIHBhdGNoIHNpbXBseSB0cmlnZ2Vy
cyB0aGF0IHNoYXJlZCBpbmZyYXN0cnVjdHVyZSBmb3IgV1RGLiBUaGVyZSBpcyBubyBjaGFuZ2Ug
aW4gYmVoYXZpb3IgLQorICAgICAgICB0aGUgZXhpc3RpbmcgV1RGIGxvZ2dpbmcgY2hhbm5lbHMg
Y3VycmVudGx5IGFyZSBhbGwgaW1wbGVtZW50ZWQgaW5kZXBlbmRlbnRseSBpbiBjdXN0b20gd2F5
cywgc28gdGhpcyBwYXRjaAorICAgICAgICBqdXN0IG1pZ3JhdGVzIHRoZW0gb3ZlciB0byB1c2Ug
dGhlIHNoYXJlZCBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV1RG
Ojpsb2dDaGFubmVscyk6CisgICAgICAgICogd3RmL0xvZ0luaXRpYWxpemF0aW9uLmg6IEFkZGVk
LgorICAgICAgICAqIHd0Zi9Mb2dnaW5nLmNwcDogQWRkZWQuCisgICAgICAgICogd3RmL0xvZ2dp
bmcuaDogQWRkZWQuCisgICAgICAgICogd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHA6Cisg
ICAgICAgIChXVEY6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKToKKyAgICAgICAg
KiB3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtRlRX
LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1KU0NPbmx5LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybU1hYy5jbWFrZToK
KyAgICAgICAgKiB3dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZToKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1XUEUuY21ha2U6CisgICAgICAgICogd3RmL1BsYXRmb3JtV2luLmNtYWtlOgorICAg
ICAgICAqIHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwOgorICAgICAgICAqIHd0Zi9jb2Nv
YS9Mb2dnaW5nQ29jb2EubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tLgorICAgICAgICAoV1RGOjpsb2dMZXZlbFN0cmlu
Zyk6CisgICAgICAgICogd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3BwOgorICAgICAgICAqIHd0
Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW06CisgICAgICAgICogd3RmL2NvY29hL01lbW9yeVBy
ZXNzdXJlSGFuZGxlckNvY29hLm1tOgorICAgICAgICAqIHd0Zi91bml4L0xvZ2dpbmdVbml4LmNw
cDogQWRkZWQuCisgICAgICAgIChXVEY6OmxvZ0xldmVsU3RyaW5nKToKKyAgICAgICAgKiB3dGYv
d2luL0xvZ2dpbmdXaW4uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdURjo6bG9nTGV2ZWxTdHJpbmcp
OgorCiAyMDIxLTA4LTA3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKICAgICAgICAgRGVkdXBsaWNhdGUgbG9nZ2luZyBjaGFubmVsIGFsZ29yaXRobXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggOGZhNTcxMDEzZmZjNmMxMzE1ZWY1MjM5OWFkMjQ1MmRhMDU4NDhlNi4uMTA4OGY3YWE5
YjVkMWY1M2JlZGNmMWIwZGFhOTk0ZDE1ZjQ4Y2U5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBA
QAorMjAyMS0wOC0wNyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgor
CisgICAgICAgIFN1cHBvcnQgV1RGIGxvZ2dpbmcgY2hhbm5lbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODc2OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJl
IGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9jZXNz
KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUg
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpk
ZWNvZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6QXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogU2hhcmVkL1dl
YktpdDJJbml0aWFsaXplLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5pdGlhbGl6ZVdlYktpdDIp
OgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2Rl
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFy
YW1ldGVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVX
ZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXplR1BV
UHJvY2Vzc1BhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
CiAyMDIxLTA4LTA3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAK
ICAgICAgICAgRGVkdXBsaWNhdGUgbG9nZ2luZyBjaGFubmVsIGFsZ29yaXRobXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwppbmRleCAzMzYwYWZiYjM5M2IxZWMxOGI3ZmMxNjJkYjVjNDQ1OGQ3
ZGQ4NjhiLi5mYTQzZDExNGVkNTFhMjg2NWQ0MWUzYWQ5YzEyMGVhMWY1NmUxNTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMDcgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IFdU
RiBsb2dnaW5nIGNoYW5uZWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjg3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29t
bW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAyMS0wOC0w
NyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIERl
ZHVwbGljYXRlIGxvZ2dpbmcgY2hhbm5lbCBhbGdvcml0aG1zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkZjMyY2ZkZmIyYjYyZWM5NzNmMDJmMDQ5YTBkNmQ4
NzZlYTFhMTE1Li42MDI1NTliZGY0MzI0ZDNhZWE4ZGQxMjEyNDdjOTc2MmMwN2FhYjk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYwLDYgKzYwLDkgQEAK
IAkJMUMxODFDOTMxRDMwN0FCODAwRjVGQTE2IC8qIFVUZXh0UHJvdmlkZXJVVEYxNi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM4RDFEMzA3
QUI4MDBGNUZBMTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCAqLzsgfTsKIAkJMUMxODFDOTYx
RDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM5NTFE
MzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNwcCAq
LzsgfTsKIAkJMUM1MDNCRTYyM0FBRTBBRTAwNzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzUwM0JFNTIzQUFF
MEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLzsgfTsKKwkJMUM5NjgzNjQyNkJFNzRE
RjAwQTJBMkY5IC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOTY4MzYyMjZCRTc0REYwMEEyQTJGOSAvKiBMb2dJ
bml0aWFsaXphdGlvbi5jcHAgKi87IH07CisJCTFDOTY4MzY3MjZCRTc1NDYwMEEyQTJGOSAvKiBM
b2dnaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFDOTY4MzY1MjZCRTc1NDYwMEEyQTJGOSAvKiBMb2dnaW5nLmNwcCAqLzsgfTsKKwkJMUM5Njgz
NjkyNkJFNzZCNjAwQTJBMkY5IC8qIExvZ2dpbmdDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOTY4MzY4MjZCRTc2QjYwMEEyQTJGOSAvKiBM
b2dnaW5nQ29jb2EubW0gKi87IH07CiAJCTFDQTg1Q0E5MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50
aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovOyB9OwogCQkxQ0YxOEYzQjI2QkI1NzlFMDA0QjE3
MjIgLyogTG9nQ2hhbm5lbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNGMThGMzkyNkJCNTc5RTAwNEIxNzIyIC8qIExvZ0NoYW5uZWxzLmNwcCAq
LzsgfTsKIAkJMUZBNDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZBNDdDODgxNTI1
MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9OwpAQCAtMzQ3LDYgKzM1MCwx
MSBAQAogCQkxQzE4MUM5NTFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRl
cm5hbElDVUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRl
eHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDNTAzQkU0MjNBQURFRUEwMDcyRTY2QiAvKiBOU0xvY2FsZVNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOU0xvY2FsZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzUwM0JFNTIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IExhbmd1YWdlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDOTY4MzYyMjZCRTc0REYwMEEyQTJGOSAvKiBMb2dJbml0aWFsaXphdGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDOTY4MzYzMjZCRTc0REYwMEEyQTJGOSAvKiBMb2dJbml0aWFsaXphdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxQzk2ODM2NTI2QkU3NTQ2MDBBMkEyRjkgLyogTG9nZ2luZy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMb2dnaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUM5NjgzNjYyNkJFNzU0NjAwQTJBMkY5IC8qIExvZ2dpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9n
Z2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzk2ODM2ODI2QkU3NkI2MDBB
MkEyRjkgLyogTG9nZ2luZ0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9nZ2luZ0Nv
Y29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E4NUNBNzI0MUIwQjExMDA3
MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUNBODVDQTgyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
c0NvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0Nv
Y29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDREIxNDkxRTU2NjYyNjAw
NkM3M0MwIC8qIFRleHRCcmVha0l0ZXJhdG9yQ0YuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gVGV4dEJyZWFrSXRlcmF0b3JDRi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTEzMCwxMSArMTEzOCwxNSBAQAogCQkJCTkzQjVCNDUwMjIxNzFFRTkwMDRCN0FBNyAv
KiBMb2dnZXIuY3BwICovLAogCQkJCTA3N0NEODZBMUZEOUNGRDIwMDgyODU4NyAvKiBMb2dnZXIu
aCAqLywKIAkJCQkwNzdDRDg2QjFGRDlDRkQzMDA4Mjg1ODcgLyogTG9nZ2VySGVscGVyLmggKi8s
CisJCQkJMUM5NjgzNjUyNkJFNzU0NjAwQTJBMkY5IC8qIExvZ2dpbmcuY3BwICovLAorCQkJCTFD
OTY4MzY2MjZCRTc1NDYwMEEyQTJGOSAvKiBMb2dnaW5nLmggKi8sCiAJCQkJNTEzRTE3MEExQ0Q3
RDVCRjAwRTM2NTBCIC8qIExvZ2dpbmdBY2N1bXVsYXRvci5oICovLAogCQkJCTBGMzBCQThDMUU3
ODcwOEUwMDJDQTg0NyAvKiBMb2dnaW5nSGFzaElELmggKi8sCiAJCQkJMEYzMEJBOEQxRTc4NzA4
RTAwMkNBODQ3IC8qIExvZ2dpbmdIYXNoTWFwLmggKi8sCiAJCQkJMEYzMEJBOEUxRTc4NzA4RTAw
MkNBODQ3IC8qIExvZ2dpbmdIYXNoU2V0LmggKi8sCiAJCQkJMEYzMEJBOEYxRTc4NzA4RTAwMkNB
ODQ3IC8qIExvZ2dpbmdIYXNoVHJhaXRzLmggKi8sCisJCQkJMUM5NjgzNjIyNkJFNzRERjAwQTJB
MkY5IC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLywKKwkJCQkxQzk2ODM2MzI2QkU3NERGMDBB
MkEyRjkgLyogTG9nSW5pdGlhbGl6YXRpb24uaCAqLywKIAkJCQk3QTZFQkEzMjIwNzQ2QzMzMDA0
RjlDNDQgLyogTWFjaFNlbmRSaWdodC5oICovLAogCQkJCUE4QTQ3MkM2MTUxQTgyNUEwMDQxMjNG
RiAvKiBNYWluVGhyZWFkLmNwcCAqLywKIAkJCQlBOEE0NzJDNzE1MUE4MjVCMDA0MTIzRkYgLyog
TWFpblRocmVhZC5oICovLApAQCAtMTU4NSw2ICsxNTk3LDcgQEAKIAkJCQkxNDNEREU5NTIwQzhC
QzM3MDA3Rjc2RkEgLyogRW50aXRsZW1lbnRzLm1tICovLAogCQkJCUEzMzFEOTVFMjFGMjQ5RjYw
MDlGMDJBQSAvKiBGaWxlU3lzdGVtQ29jb2EubW0gKi8sCiAJCQkJMUM1MDNCRTUyM0FBRTBBRTAw
NzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gKi8sCisJCQkJMUM5NjgzNjgyNkJFNzZCNjAwQTJB
MkY5IC8qIExvZ2dpbmdDb2NvYS5tbSAqLywKIAkJCQk3QTZFQkEzMzIwNzQ2QzM0MDA0RjlDNDQg
LyogTWFjaFNlbmRSaWdodC5jcHAgKi8sCiAJCQkJQThBNDcyQzUxNTFBODI1QTAwNDEyM0ZGIC8q
IE1haW5UaHJlYWRDb2NvYS5tbSAqLywKIAkJCQlBREYyQ0U2NTFFMzlGMTA2MDA2ODg5REIgLyog
TWVtb3J5Rm9vdHByaW50Q29jb2EuY3BwICovLApAQCAtMTc0NSw2ICsxNzU4LDkgQEAKIAkJCQkw
RjYwRjMyRjFERkNCRDFCMDA0MTZENkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUNGMThGM0IyNkJCNTc5RTAwNEIxNzIyIC8qIExvZ0NoYW5uZWxzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzQjVCNDUxMjIxNzFFRUEwMDRCN0FBNyAvKiBMb2dnZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMUM5NjgzNjcyNkJFNzU0NjAwQTJBMkY5IC8qIExvZ2dpbmcu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUM5NjgzNjkyNkJFNzZCNjAwQTJBMkY5IC8qIExvZ2dp
bmdDb2NvYS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTFDOTY4MzY0MjZCRTc0REYwMEEyQTJGOSAv
KiBMb2dJbml0aWFsaXphdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzUzNEYyQTFFQzBF
MTBFMDAxNDFCMkYgLyogTWFjaEV4Y2VwdGlvbnMuZGVmcyBpbiBTb3VyY2VzICovLAogCQkJCTdB
NkVCQTM0MjA3NDZDMzQwMDRGOUM0NCAvKiBNYWNoU2VuZFJpZ2h0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4QTQ3M0U1MTUxQTgyNUIwMDQxMjNGRiAvKiBNYWluVGhyZWFkLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oIGIvU291cmNl
L1dURi93dGYvQXNzZXJ0aW9ucy5oCmluZGV4IDI3N2MyMmJjZmU2MmFlMGI2ZmVjYTg5YThiMTc1
MTgyYTYwNGVhYzQuLjZiMmYwZmI4NDE0NzJiY2I5NzFlMTY1MjgyNjQyZmM3OGRlYjk0MzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9Bc3NlcnRpb25zLmgKQEAgLTE4NywxOSArMTg3LDI1IEBAIHR5cGVkZWYgc3RydWN0IHsKIAog
I2lmICFkZWZpbmVkKERFRklORV9MT0dfQ0hBTk5FTCkKICNpZiBSRUxFQVNFX0xPR19ESVNBQkxF
RAotI2RlZmluZSBERUZJTkVfTE9HX0NIQU5ORUwobmFtZSwgc3Vic3lzdGVtKSBcCi0gICAgV1RG
TG9nQ2hhbm5lbCBMT0dfQ0hBTk5FTChuYW1lKSA9IHsgKFdURkxvZ0NoYW5uZWxTdGF0ZSkwLCAj
bmFtZSwgKFdURkxvZ0xldmVsKTEgfTsKKyNkZWZpbmUgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhf
REVUQUlMUyhuYW1lLCBpbml0aWFsU3RhdGUsIGxldmVsLCBzdWJzeXN0ZW0pIFwKKyAgICBXVEZM
b2dDaGFubmVsIExPR19DSEFOTkVMKG5hbWUpID0geyBpbml0aWFsU3RhdGUsICNuYW1lLCBsZXZl
bCB9OwogI2VuZGlmCiAjaWYgVVNFKE9TX0xPRykgJiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0j
ZGVmaW5lIERFRklORV9MT0dfQ0hBTk5FTChuYW1lLCBzdWJzeXN0ZW0pIFwKLSAgICBXVEZMb2dD
aGFubmVsIExPR19DSEFOTkVMKG5hbWUpID0geyAoV1RGTG9nQ2hhbm5lbFN0YXRlKTAsICNuYW1l
LCAoV1RGTG9nTGV2ZWwpMSwgc3Vic3lzdGVtLCBPU19MT0dfREVGQVVMVCB9OworI2RlZmluZSBE
RUZJTkVfTE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxTKG5hbWUsIGluaXRpYWxTdGF0ZSwgbGV2ZWws
IHN1YnN5c3RlbSkgXAorICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NIQU5ORUwobmFtZSkgPSB7IGlu
aXRpYWxTdGF0ZSwgI25hbWUsIGxldmVsLCBzdWJzeXN0ZW0sIE9TX0xPR19ERUZBVUxUIH07CiAj
ZW5kaWYKICNpZiBVU0UoSk9VUk5BTEQpICYmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotI2RlZmlu
ZSBERUZJTkVfTE9HX0NIQU5ORUwobmFtZSwgc3Vic3lzdGVtKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NIQU5ORUwobmFtZSkgPSB7IChXVEZM
b2dDaGFubmVsU3RhdGUpMCwgI25hbWUsIChXVEZMb2dMZXZlbCkxLCBzdWJzeXN0ZW0gfTsKKyNk
ZWZpbmUgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhuYW1lLCBpbml0aWFsU3RhdGUs
IGxldmVsLCBzdWJzeXN0ZW0pIFwKKyAgICBXVEZMb2dDaGFubmVsIExPR19DSEFOTkVMKG5hbWUp
ID0geyBpbml0aWFsU3RhdGUsICNuYW1lLCBsZXZlbCwgc3Vic3lzdGVtIH07CiAjZW5kaWYKICNl
bmRpZgogCisvLyBUaGlzIGZpbGUgaXMgaW5jbHVkZWQgZnJvbSBDIChub3QgQysrKSBmaWxlcywg
c28gd2UgY2FuJ3Qgc2F5IHRoaW5ncyBsaWtlIFdURkxvZ0NoYW5uZWxTdGF0ZTo6T2ZmLgorc3Rh
dGljIGNvbnN0IFdURkxvZ0NoYW5uZWxTdGF0ZSBsb2dDaGFubmVsU3RhdGVPZmYgPSAoV1RGTG9n
Q2hhbm5lbFN0YXRlKTA7CitzdGF0aWMgY29uc3QgV1RGTG9nQ2hhbm5lbFN0YXRlIGxvZ0NoYW5u
ZWxTdGF0ZU9uID0gKFdURkxvZ0NoYW5uZWxTdGF0ZSkxOworc3RhdGljIGNvbnN0IFdURkxvZ0xl
dmVsIGxvZ0xldmVsRXJyb3IgPSAoV1RGTG9nTGV2ZWwpMTsKKyNkZWZpbmUgREVGSU5FX0xPR19D
SEFOTkVMKG5hbWUsIHN1YnN5c3RlbSkgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhu
YW1lLCBsb2dDaGFubmVsU3RhdGVPZmYsIGxvZ0xldmVsRXJyb3IsIHN1YnN5c3RlbSk7CisKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydE5vdEltcGxlbWVudGVkWWV0KGNvbnN0IGNo
YXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbik7CiBXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGlu
dCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXNzZXJ0aW9uKTsKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmVXaXRoTWVzc2Fn
ZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0
IGNoYXIqIGFzc2VydGlvbiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVf
UFJJTlRGKDUsIDYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA1MWFmMGFhMDE1YzYxMmViZmI2
OWIzOWNlYjY2NDIzMTQ2YTVlZTFlLi5hZjhkMjkwNDY0ZmNhZjU5NWMwYTQ2NmEwZmM4NWJlMjlk
NGI0YmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtMTI0LDggKzEyNCwxMCBAQCBzZXQoV1RG
X1BVQkxJQ19IRUFERVJTCiAgICAgTG9ja2VyLmgKICAgICBMb2NrbGVzc0JhZy5oCiAgICAgTG9n
Q2hhbm5lbHMuaAorICAgIExvZ0luaXRpYWxpemF0aW9uLmgKICAgICBMb2dnZXIuaAogICAgIExv
Z2dlckhlbHBlci5oCisgICAgTG9nZ2luZy5oCiAgICAgTG9nZ2luZ0FjY3VtdWxhdG9yLmgKICAg
ICBMb2dnaW5nSGFzaElELmgKICAgICBMb2dnaW5nSGFzaE1hcC5oCkBAIC00MjQsNyArNDI2LDkg
QEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgTG9jay5jcHAKICAgICBMb2NrZWRQcmludFN0cmVhbS5j
cHAKICAgICBMb2dDaGFubmVscy5jcHAKKyAgICBMb2dJbml0aWFsaXphdGlvbi5jcHAKICAgICBM
b2dnZXIuY3BwCisgICAgTG9nZ2luZy5jcHAKICAgICBNYWluVGhyZWFkLmNwcAogICAgIE1lZGlh
VGltZS5jcHAKICAgICBNZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dJbml0aWFsaXphdGlvbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dJbml0
aWFsaXphdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDUwODg3M2EyMGE2YTk1NmY0NGEwZDg3ODNiN2U2
NDRlNTg0YzkxNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ0luaXRpYWxp
emF0aW9uLmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMb2dJbml0
aWFsaXphdGlvbi5oIgorCisjaW5jbHVkZSA8d3RmL0xvZ0NoYW5uZWxzLmg+CisjaW5jbHVkZSA8
d3RmL0xvZ2dpbmcuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCitjbGFzcyBXVEZMb2dDaGFubmVscyBmaW5hbCA6IHB1
YmxpYyBMb2dDaGFubmVscyB7CitwdWJsaWM6CisgICAgV1RGTG9nQ2hhbm5lbHMoKQorICAgIHsK
KyAgICAgICAgbV9sb2dDaGFubmVscyA9IHsKKyAgICAgICAgICAgIFdURl9MT0dfQ0hBTk5FTFMo
TE9HX0NIQU5ORUxfQUREUkVTUykKKyAgICAgICAgfTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
U3RyaW5nIGxvZ0xldmVsU3RyaW5nKCkgZmluYWwKKyAgICB7CisgICAgICAgIHJldHVybiBXVEY6
OmxvZ0xldmVsU3RyaW5nKCk7CisgICAgfQorfTsKKworTG9nQ2hhbm5lbHMmIGxvZ0NoYW5uZWxz
KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8V1RGTG9nQ2hhbm5lbHM+IGxvZ0NoYW5u
ZWxzOworICAgIHJldHVybiBsb2dDaGFubmVscy5nZXQoKTsKK30KKworI2VuZGlmIC8vICFMT0df
RElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvZ0luaXRpYWxpemF0aW9uLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dJbml0aWFsaXphdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiM2M4NWE1ODBlNmUy
NjcyYmEzYmZmNDcxYWYxOTM5OGE3YjQzNWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9Mb2dJbml0aWFsaXphdGlvbi5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
IDx3dGYvTG9nQ2hhbm5lbHMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKwor
bmFtZXNwYWNlIFdURiB7CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorCitXVEZfRVhQT1JUX1BSSVZBVEUgTG9nQ2hhbm5lbHMmIGxvZ0NoYW5uZWxzKCk7CitT
dHJpbmcgbG9nTGV2ZWxTdHJpbmcoKTsKKworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvTG9nZ2luZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43MDYzYzJlYTcwMDY0MWJkZmVhZGQ0OTVmMWI5YmMxMDNiYzQ3NDkyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dURi93dGYvTG9nZ2luZy5jcHAKQEAgLTAsMCArMSw0OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCisjaW5jbHVkZSA8d3RmL0xvZ0luaXRp
YWxpemF0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dpbmdBY2N1bXVsYXRvci5oPgorCisjaWYg
UExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSA8bm90aWZ5Lmg+CisjaW5jbHVkZSA8d3RmL0Jsb2Nr
UHRyLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdURiB7CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCitERUZJTkVfTE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxT
KFJlZkNvdW50ZWRMZWFrcywgbG9nQ2hhbm5lbFN0YXRlT24sICBsb2dMZXZlbEVycm9yLCBMT0df
Q0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNKTsKK0RFRklORV9MT0dfQ0hBTk5FTF9XSVRIX0RFVEFJ
TFMoUHJvY2VzcywgICAgICAgICBsb2dDaGFubmVsU3RhdGVPbiwgIGxvZ0xldmVsRXJyb3IsIExP
R19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOworREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVU
QUlMUyhUaHJlYWRpbmcsICAgICAgIGxvZ0NoYW5uZWxTdGF0ZU9uLCAgbG9nTGV2ZWxFcnJvciwg
TE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSk7CitERUZJTkVfTE9HX0NIQU5ORUwoTWVtb3J5
UHJlc3N1cmUsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOworCisjZW5kaWYgLy8gIUxP
R19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTG9nZ2luZy5oIGIvU291cmNlL1dURi93
dGYvTG9nZ2luZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmOTE5NGZlOTM3MGJjOWFkZWI1MzI1NzFjNzBlOTM4
MWFkM2ExNjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nLmgKQEAg
LTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKyNpZiAhTE9HX0RJU0FCTEVE
IHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCisjaWZuZGVmIExPR19DSEFOTkVMX1BSRUZJWAor
I2RlZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVggV1RGTG9nCisjZW5kaWYKKworI2RlZmluZSBXVEZf
TE9HX0NIQU5ORUxTKE0pIFwKKyAgICBNKFJlZkNvdW50ZWRMZWFrcykgXAorICAgIE0oUHJvY2Vz
cykgXAorICAgIE0oVGhyZWFkaW5nKSBcCisgICAgTShNZW1vcnlQcmVzc3VyZSkgXAorCisjdW5k
ZWYgREVDTEFSRV9MT0dfQ0hBTk5FTAorI2RlZmluZSBERUNMQVJFX0xPR19DSEFOTkVMKG5hbWUp
IFwKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgZXh0ZXJuIFdURkxvZ0NoYW5uZWwgSk9JTl9MT0df
Q0hBTk5FTF9XSVRIX1BSRUZJWChMT0dfQ0hBTk5FTF9QUkVGSVgsIG5hbWUpOworCitXVEZfTE9H
X0NIQU5ORUxTKERFQ0xBUkVfTE9HX0NIQU5ORUwpCisKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVE
IHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgYi9Tb3VyY2UvV1RG
L3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCmluZGV4IDc1YTA4NTQ2MDhlZjVhOTIxZTI1
MjkyZGExZmI2OGY0ZWQxNTc1ZjguLmU1NThhZDBhZmEyYjU5ZDNjZTYwYmUzNzkwNzFlNGNhZTFl
NDc0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtMjYs
MTYgKzI2LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8d3RmL01lbW9yeVBy
ZXNzdXJlSGFuZGxlci5oPgogCisjaW5jbHVkZSA8d3RmL0xvZ2dpbmcuaD4KICNpbmNsdWRlIDx3
dGYvTWVtb3J5Rm9vdHByaW50Lmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAj
aW5jbHVkZSA8d3RmL1JBTVNpemUuaD4KIAotI2RlZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVggTG9n
Ci0KIG5hbWVzcGFjZSBXVEYgewogCi1ERUZJTkVfTE9HX0NIQU5ORUwoTWVtb3J5UHJlc3N1cmUs
IExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOwotCiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9v
bCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OlJlbGllZkxvZ2dlcjo6c19sb2dnaW5nRW5hYmxlZCA9
IGZhbHNlOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTUzLDcgKzUwLDcgQEAgTWVt
b3J5UHJlc3N1cmVIYW5kbGVyJiBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpCiAg
ICAgc3RhdGljIExhenlOZXZlckRlc3Ryb3llZDxNZW1vcnlQcmVzc3VyZUhhbmRsZXI+IG1lbW9y
eVByZXNzdXJlSGFuZGxlcjsKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUtleTsKICAg
ICBzdGQ6OmNhbGxfb25jZShvbmNlS2V5LCBbJl0gewotICAgICAgICBXVEZMb2dDaGFubmVsKiBj
aGFubmVsc1tdID0geyAmTG9nTWVtb3J5UHJlc3N1cmUgfTsKKyAgICAgICAgV1RGTG9nQ2hhbm5l
bCogY2hhbm5lbHNbXSA9IHsgJldURkxvZ01lbW9yeVByZXNzdXJlIH07CiAgICAgICAgIFdURklu
aXRpYWxpemVMb2dDaGFubmVsU3RhdGVzRnJvbVN0cmluZyhjaGFubmVscywgMSwgIiIpOwogCiAg
ICAgICAgIG1lbW9yeVByZXNzdXJlSGFuZGxlci5jb25zdHJ1Y3QoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oIGIvU291cmNlL1dURi93dGYvTWVt
b3J5UHJlc3N1cmVIYW5kbGVyLmgKaW5kZXggMDkzMDZlMzM0YTNiYzM5ZTllNzNiYjQwOGU0MDAx
MjYyZjFiZWQ5Mi4uZWFlZDc5MjVjMTNiY2E4NWZjNzdjM2U3NGI3YjgxNWNjODM0NWQwOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgKKysrIGIvU291
cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgKQEAgLTI3Miw4ICsyNzIsNiBAQCBw
cml2YXRlOgogI2VuZGlmCiB9OwogCi1leHRlcm4gV1RGTG9nQ2hhbm5lbCBMb2dNZW1vcnlQcmVz
c3VyZTsKLQogfSAvLyBuYW1lc3BhY2UgV1RGCiAKIHVzaW5nIFdURjo6Q3JpdGljYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUZUVy5jbWFrZSBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtRlRXLmNtYWtlCmluZGV4IDE1MzMxMjczYzkxMWFlN2JlMDRhYTBlYTI4ZTZkZjYy
NTQxNjNmNGYuLjY4MmY0MjBkYzg3NTQ3MDQxYWRiYzc5NWUzOGRlMzhiOTMwN2EyNWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRlRXLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtRlRXLmNtYWtlCkBAIC0yNCw2ICsyNCw3IEBAIGxpc3QoQVBQRU5EIFdURl9T
T1VSQ0VTCiAgICAgd2luL0RiZ0hlbHBlcldpbi5jcHAKICAgICB3aW4vRmlsZVN5c3RlbVdpbi5j
cHAKICAgICB3aW4vTGFuZ3VhZ2VXaW4uY3BwCisgICAgd2luL0xvZ2dpbmdXaW4uY3BwCiAgICAg
d2luL01haW5UaHJlYWRXaW4uY3BwCiAgICAgd2luL01lbW9yeUZvb3RwcmludFdpbi5jcHAKICAg
ICB3aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFr
ZQppbmRleCA5YmQ1ZmRlNWJjMzgzNTVlMjViYzA5ZDA1YTA0NWRmMzFlZmFhMjU5Li40YTEyYjVh
NDM5M2ZlMmJiZTM5NjczZTNmYTU0N2M5ZDY5NzZhYmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5j
bWFrZQpAQCAtNDQsNiArNDQsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIHRleHQv
dW5peC9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5jcHAKIAogICAgIHVuaXgvTGFu
Z3VhZ2VVbml4LmNwcAorICAgIHVuaXgvTG9nZ2luZ1VuaXguY3BwCiAgICAgdW5peC9VbmlTdGRF
eHRyYXNVbml4LmNwcAogKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpT
Q09ubHkuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UKaW5kZXgg
YzJiM2EwZmU0Yzg1ZDY2NGM1OThlMmFkNmRlYTYwOThiMjIyYTBkYi4uZTkzYTI4NWEyZDg3MTc1
NzgxNWVlZTI2YmY1YjY1ZDRhMzljY2FlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxh
dGZvcm1KU0NPbmx5LmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5j
bWFrZQpAQCAtMTEsNiArMTEsNyBAQCBpZiAoV0lOMzIpCiAgICAgICAgIHdpbi9EYmdIZWxwZXJX
aW4uY3BwCiAgICAgICAgIHdpbi9GaWxlU3lzdGVtV2luLmNwcAogICAgICAgICB3aW4vTGFuZ3Vh
Z2VXaW4uY3BwCisgICAgICAgIHdpbi9Mb2dnaW5nV2luLmNwcAogICAgICAgICB3aW4vTWFpblRo
cmVhZFdpbi5jcHAKICAgICAgICAgd2luL09TQWxsb2NhdG9yV2luLmNwcAogICAgICAgICB3aW4v
UGF0aFdhbGtlci5jcHAKQEAgLTM3LDYgKzM4LDcgQEAgZWxzZSAoKQogICAgICAgICB0ZXh0L3Vu
aXgvVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVVVuaXguY3BwCiAKICAgICAgICAgdW5peC9M
YW5ndWFnZVVuaXguY3BwCisgICAgICAgIHVuaXgvTG9nZ2luZ1VuaXguY3BwCiAgICAgKQogICAg
IGlmIChXVEZfT1NfRlVDSFNJQSkKICAgICAgICAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dURi93
dGYvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggMjYyZWFmNTM5NmRlMDlmZTA5OTk4MTFmYjMyZjAz
YzRmYzY5YjA0OC4uMzZiYmI5ZGNiYTFjYmM1MDYzNTMxNGFkMjZjOTRiYzA0NmJmYjRkMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTY0LDYgKzY0LDcgQEAgbGlzdChBUFBFTkQgV1RG
X1NPVVJDRVMKICAgICBjb2NvYS9FbnRpdGxlbWVudHMubW0KICAgICBjb2NvYS9GaWxlU3lzdGVt
Q29jb2EubW0KICAgICBjb2NvYS9MYW5ndWFnZUNvY29hLm1tCisgICAgY29jb2EvTG9nZ2luZ0Nv
Y29hLm1tCiAgICAgY29jb2EvTWFjaFNlbmRSaWdodC5jcHAKICAgICBjb2NvYS9NYWluVGhyZWFk
Q29jb2EubW0KICAgICBjb2NvYS9NZW1vcnlGb290cHJpbnRDb2NvYS5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UgYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCmluZGV4IDY1NWYwYzkxNWIyZjVlMjM1NmFmNGM4
MWE4MGZlZTU2ZDhjNGE0ZjcuLmEwMzU5MDU3MDEyYjRiMDFkY2I1Mzk4NmFjNDZiYjA2YmJkZDUy
MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UK
KysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZQpAQCAtMTUsNiAr
MTUsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogCiAgICAgdGV4dC91bml4L1RleHRCcmVh
a0l0ZXJhdG9ySW50ZXJuYWxJQ1VVbml4LmNwcAogCisgICAgdW5peC9Mb2dnaW5nVW5peC5jcHAK
ICAgICB1bml4L01lbW9yeVByZXNzdXJlSGFuZGxlclVuaXguY3BwCiApCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm1XUEUuY21ha2UKaW5kZXggYTg0MGE0ODdmZjAzYTNjODI3NDU1Y2FiNjdmYWE4ZjgzZDIwYmZh
OS4uNjQzZWYwZmNkZjRmM2NlNGExZjI3YmMwY2M2ZTE3OWI3MTQzYmJkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm1XUEUuY21ha2UKQEAgLTM3LDYgKzM3LDcgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMK
ICAgICB0ZXh0L3VuaXgvVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVVVuaXguY3BwCiAKICAg
ICB1bml4L0xhbmd1YWdlVW5peC5jcHAKKyAgICB1bml4L0xvZ2dpbmdVbml4LmNwcAogICAgIHVu
aXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKICAgICB1bml4L1VuaVN0ZEV4dHJhc1Vu
aXguY3BwCiApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZSBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IDY4ZjczODhlN2YzNWRjZThh
MzdlYzhiOGRjYTJlNmI4NGU0OWNhNTguLmNjNDNhMjFjOGVmZjM2ZTQxZjFmOTdhZjZlOTNhNWUx
ODZmNTYwNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2luLmNtYWtlCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2luLmNtYWtlCkBAIC0xNyw2ICsxNyw3IEBAIGxp
c3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgd2luL0RiZ0hlbHBlcldpbi5jcHAKICAgICB3aW4v
RmlsZVN5c3RlbVdpbi5jcHAKICAgICB3aW4vTGFuZ3VhZ2VXaW4uY3BwCisgICAgd2luL0xvZ2dp
bmdXaW4uY3BwCiAgICAgd2luL01haW5UaHJlYWRXaW4uY3BwCiAgICAgd2luL01lbW9yeUZvb3Rw
cmludFdpbi5jcHAKICAgICB3aW4vTWVtb3J5UHJlc3N1cmVIYW5kbGVyV2luLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL1JlZkNvdW50ZWRMZWFrQ291bnRlci5jcHAKaW5kZXggZGZhMjA0M2RkZDQ1YWY1ODU0
OGE0NzQ3N2EyY2YxYTJiODMwMThlYS4uYWUxNDI5OTkzMThkNjNkMTQ2OTAyMmQ2YjU0YThiZmM3
NGUzNDc1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUmVmQ291bnRlZExlYWtDb3VudGVy
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwCkBAIC0y
MSw2ICsyMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWRMZWFrQ291bnRlci5oPgogCisjaW5jbHVkZSA8d3RmL0xvZ2dpbmcuaD4KKwogI2lmZGVmIE5E
RUJVRwogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTM5LDE3ICs0MSw2IEBAIHZvaWQgUmVmQ291bnRl
ZExlYWtDb3VudGVyOjpkZWNyZW1lbnQoKSB7IH0KIAogbmFtZXNwYWNlIFdURiB7CiAKLSNkZWZp
bmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZwotI2lmIFJFTEVBU0VfTE9HX0RJU0FCTEVECi1zdGF0
aWMgV1RGTG9nQ2hhbm5lbCBMb2dSZWZDb3VudGVkTGVha3MgPSB7IFdURkxvZ0NoYW5uZWxTdGF0
ZTo6T24sICJSZWZDb3VudGVkTGVha3MiLCBXVEZMb2dMZXZlbDo6RXJyb3IgfTsKLSNlbmRpZgot
I2lmIFVTRShPU19MT0cpICYmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotc3RhdGljIFdURkxvZ0No
YW5uZWwgTG9nUmVmQ291bnRlZExlYWtzID0geyBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uLCAiUmVm
Q291bnRlZExlYWtzIiwgV1RGTG9nTGV2ZWw6OkVycm9yLCBMT0dfQ0hBTk5FTF9XRUJLSVRfU1VC
U1lTVEVNLCBPU19MT0dfREVGQVVMVCB9OwotI2VuZGlmCi0jaWYgVVNFKEpPVVJOQUxEKSAmJiAh
UkVMRUFTRV9MT0dfRElTQUJMRUQKLXN0YXRpYyBXVEZMb2dDaGFubmVsIExvZ1JlZkNvdW50ZWRM
ZWFrcyA9IHsgV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlJlZkNvdW50ZWRMZWFrcyIsIFdURkxv
Z0xldmVsOjpFcnJvciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSB9OwotI2VuZGlmCi0K
IHR5cGVkZWYgSGFzaENvdW50ZWRTZXQ8Y29uc3QgY2hhciosIFB0ckhhc2g8Y29uc3QgY2hhcio+
PiBSZWFzb25TZXQ7CiBzdGF0aWMgUmVhc29uU2V0KiBsZWFrTWVzc2FnZVN1cHByZXNzaW9uUmVh
c29uczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvTG9nZ2luZ0NvY29hLm1t
IGIvU291cmNlL1dURi93dGYvY29jb2EvTG9nZ2luZ0NvY29hLm1tCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwZmMz
ODA4NTUxYWM0NzljYmEzZmU2M2NjNmI3NTU1YjNlYTQ4N2QKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9jb2NvYS9Mb2dnaW5nQ29jb2EubW0KQEAgLTAsMCArMSw0NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCA8d3RmL0xvZ0luaXRpYWxpemF0
aW9uLmg+CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCitu
YW1lc3BhY2UgV1RGIHsKKworU3RyaW5nIGxvZ0xldmVsU3RyaW5nKCkKK3sKKyNpZiAhTE9HX0RJ
U0FCTEVECisgICAgcmV0dXJuIFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNd
IHN0cmluZ0ZvcktleTpAIldURkxvZ2dpbmciXTsKKyNlbHNlCisgICAgcmV0dXJuIFN0cmluZygp
OworI2VuZGlmCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3BwIGIvU291cmNlL1dURi93
dGYvY29jb2EvTWFjaFNlbmRSaWdodC5jcHAKaW5kZXggMmViMzAyZDFkZDVhOTI2YjI1NTgzMTVh
ZDM3Mjg4ZmU0OTdlZjJlZi4uNTVjMWU1MmE4ZDAwYjk5YmJkYjJlYWJhYTYyYmNlYTliYTU0MDY2
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvTWFjaFNlbmRSaWdodC5jcHAKKysr
IGIvU291cmNlL1dURi93dGYvY29jb2EvTWFjaFNlbmRSaWdodC5jcHAKQEAgLTMwLDE2ICszMCwx
MCBAQAogI2luY2x1ZGUgPG1hY2gvbWFjaF9pbml0Lmg+CiAjaW5jbHVkZSA8dXRpbGl0eT4KIAot
I2RlZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVggTG9nCisjaW5jbHVkZSA8d3RmL0xvZ2dpbmcuaD4K
IAogbmFtZXNwYWNlIFdURiB7CiAKLSNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAotV1RGTG9nQ2hh
bm5lbCBMb2dQcm9jZXNzID0geyBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uLCAiUHJvY2VzcyIsIFdU
RkxvZ0xldmVsOjpFcnJvciB9OwotI2Vsc2UKLVdURkxvZ0NoYW5uZWwgTG9nUHJvY2VzcyA9IHsg
V1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlByb2Nlc3MiLCBXVEZMb2dMZXZlbDo6RXJyb3IsIExP
R19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0sIE9TX0xPR19ERUZBVUxUIH07Ci0jZW5kaWYKLQog
c3RhdGljIHZvaWQgcmV0YWluU2VuZFJpZ2h0KG1hY2hfcG9ydF90IHBvcnQpCiB7CiAgICAgaWYg
KHBvcnQgPT0gTUFDSF9QT1JUX05VTEwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2Nv
YS9NYWluVGhyZWFkQ29jb2EubW0gYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWluVGhyZWFkQ29j
b2EubW0KaW5kZXggZmQ2MzdmN2Y0NzIwMTYwZjgzMDlkNThmNmIwOTVjZjMyMzFmZWUyZC4uNTg4
ZWQwMGE4YjczMDAyMTU0NzMwYTZkMzJlMGZlZTgyZDYyZGQ2NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCisrKyBiL1NvdXJjZS9XVEYvd3RmL2Nv
Y29hL01haW5UaHJlYWRDb2NvYS5tbQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCA8c3RkaW8u
aD4KICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4K
KyNpbXBvcnQgPHd0Zi9Mb2dnaW5nLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1w
b3J0IDx3dGYvUnVuTG9vcC5oPgogI2ltcG9ydCA8d3RmL1NjaGVkdWxlUGFpci5oPgpAQCAtNDQs
MTYgKzQ1LDggQEAKICNpbXBvcnQgPHd0Zi9pb3MvV2ViQ29yZVRocmVhZC5oPgogI2VuZGlmCiAK
LSNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZwotCiBuYW1lc3BhY2UgV1RGIHsKIAotI2lm
IFJFTEVBU0VfTE9HX0RJU0FCTEVECi1XVEZMb2dDaGFubmVsIExvZ1RocmVhZGluZyA9IHsgV1RG
TG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlRocmVhZGluZyIsIFdURkxvZ0xldmVsOjpFcnJvciB9Owot
I2Vsc2UKLVdURkxvZ0NoYW5uZWwgTG9nVGhyZWFkaW5nID0geyBXVEZMb2dDaGFubmVsU3RhdGU6
Ok9uLCAiVGhyZWFkaW5nIiwgV1RGTG9nTGV2ZWw6OkVycm9yLCBMT0dfQ0hBTk5FTF9XRUJLSVRf
U1VCU1lTVEVNLCBPU19MT0dfREVGQVVMVCB9OwotI2VuZGlmCi0KICNpZiBVU0UoV0VCX1RIUkVB
RCkKIC8vIFdoZW4gdGhlIFdlYiB0aHJlYWQgaXMgZW5hYmxlZCwgd2UgY29uc2lkZXIgaXQgdG8g
YmUgdGhlIG1haW4gdGhyZWFkLCBub3QgcHRocmVhZCBtYWluLgogc3RhdGljIHB0aHJlYWRfdCBz
X3dlYlRocmVhZFB0aHJlYWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NZW1v
cnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbSBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL01lbW9yeVBy
ZXNzdXJlSGFuZGxlckNvY29hLm1tCmluZGV4IGE3YmJkZDM5MGI4MDljYWI2OGYxMWU3NzZlMzE4
ZmY5NWY4YjA4ZmMuLjk2MjA1ZDBmMjg2MGQ0MjgxYzI3MjliMzU4NzA2MDZlNDNhNTRhNTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29h
Lm1tCkBAIC0zMCw2ICszMCw3IEBACiAjaW1wb3J0IDxtYWNoL3Rhc2tfaW5mby5oPgogI2ltcG9y
dCA8bWFsbG9jL21hbGxvYy5oPgogI2ltcG9ydCA8bm90aWZ5Lmg+CisjaW1wb3J0IDx3dGYvTG9n
Z2luZy5oPgogI2ltcG9ydCA8d3RmL1Jlc291cmNlVXNhZ2UuaD4KICNpbXBvcnQgPHd0Zi9zcGkv
ZGFyd2luL0Rpc3BhdGNoU1BJLmg+CiAKQEAgLTM3LDggKzM4LDYgQEAKIAogZXh0ZXJuICJDIiB2
b2lkIGNhY2hlX3NpbXVsYXRlX21lbW9yeV93YXJuaW5nX2V2ZW50KHVpbnQ2NF90KTsKIAotI2Rl
ZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVggTG9nCi0KIG5hbWVzcGFjZSBXVEYgewogCiB2b2lkIE1l
bW9yeVByZXNzdXJlSGFuZGxlcjo6cGxhdGZvcm1SZWxlYXNlTWVtb3J5KENyaXRpY2FsIGNyaXRp
Y2FsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdW5peC9Mb2dnaW5nVW5peC5jcHAgYi9T
b3VyY2UvV1RGL3d0Zi91bml4L0xvZ2dpbmdVbml4LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjA5ZTQ0MmVh
NTUyNzVjMDM5NDE0MzFhYTZlNDEyMjdkMjljMGYyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dURi93dGYvdW5peC9Mb2dnaW5nVW5peC5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscEBhdG9rZXIuY29tPgorICogQ29weXJpZ2h0
IChDKSAyMDA5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YSA8Z25zQGdub21lLm9yZz4KKyAqIENvcHly
aWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8ICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXVEYgeworCitTdHJpbmcgbG9nTGV2ZWxT
dHJpbmcoKQoreworICAgIGNoYXIqIGxvZ0VudiA9IGdldGVudigiV0VCS0lUX0RFQlVHIik7CisK
KyAgICAvLyBEaXNhYmxlIGFsbCBsb2cgY2hhbm5lbHMgaWYgV0VCS0lUX0RFQlVHIGlzIHVuc2V0
LgorICAgIGlmICghbG9nRW52KQorICAgICAgICByZXR1cm4gbWFrZVN0cmluZygiLWFsbCJfcyk7
CisKKyAgICAvLyBXZSBzZXQgdXAgdGhlIGxvZ3MgYW55d2F5IGJlY2F1c2Ugc29tZSBvZiBvdXIg
bG9nZ2luZywgc3VjaCBhcyBTb3VwJ3MgaXMgYXZhaWxhYmxlIGluIHJlbGVhc2UgYnVpbGRzLgor
I2lmIGRlZmluZWQoTkRFQlVHKSAmJiBSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIFdURkxvZ0Fs
d2F5cygiV0VCS0lUX0RFQlVHIGlzIG5vdCBlbXB0eSwgYnV0IHRoaXMgaXMgYSByZWxlYXNlIGJ1
aWxkLiBOb3RpY2UgdGhhdCBtYW55IGxvZyBtZXNzYWdlcyB3aWxsIG9ubHkgYXBwZWFyIGluIGEg
ZGVidWcgYnVpbGQuIik7CisjZW5kaWYKKworICAgIC8vIFRvIGRpc2FibGUgbG9nZ2luZyBub3RJ
bXBsZW1lbnRlZCBzZXQgdGhlIERJU0FCTEVfTklfV0FSTklORyBlbnZpcm9ubWVudCB2YXJpYWJs
ZSB0byAxLgorICAgIHJldHVybiBtYWtlU3RyaW5nKCJOb3RZZXRJbXBsZW1lbnRlZCwiX3MsIGxv
Z0Vudik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdURgorCisjZW5kaWYgLy8gIUxPR19ESVNBQkxF
RCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3dp
bi9Mb2dnaW5nV2luLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3dpbi9Mb2dnaW5nV2luLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yYzJhNzNlMTQ2Mjk4Yjc2MGY3OTdlYWUwN2JlNDlmMmY0YjExOGNhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dURi93dGYvd2luL0xvZ2dpbmdXaW4uY3BwCkBAIC0wLDAgKzEs
NTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCisjaWYgIUxPR19ESVNBQkxF
RCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKworI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyNpbmNs
dWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CisKK25hbWVzcGFjZSBXVEYgeworCitTdHJpbmcgbG9nTGV2ZWxTdHJpbmcoKQoreworI2lmICFM
T0dfRElTQUJMRUQKKyAgICBzdGF0aWMgY29uc3RleHByIGNvbnN0IGNoYXIqIGxvZ2dpbmdFbnZp
cm9ubWVudFZhcmlhYmxlID0gIldURkxvZ2dpbmciOworICAgIERXT1JEIGxlbmd0aCA9IEdldEVu
dmlyb25tZW50VmFyaWFibGVBKGxvZ2dpbmdFbnZpcm9ubWVudFZhcmlhYmxlLCAwLCAwKTsKKyAg
ICBpZiAoIWxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisKKyAgICBWZWN0
b3I8Y2hhcj4gYnVmZmVyKGxlbmd0aCk7CisKKyAgICBpZiAoIUdldEVudmlyb25tZW50VmFyaWFi
bGVBKGxvZ2dpbmdFbnZpcm9ubWVudFZhcmlhYmxlLCBidWZmZXIuZGF0YSgpLCBsZW5ndGgpKQor
ICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAgIHJldHVybiBTdHJpbmcoYnVmZmVy
LmRhdGEoKSk7CisjZWxzZQorICAgIHJldHVybiBTdHJpbmcoKTsKKyNlbmRpZgorfQorCit9IC8v
IG5hbWVzcGFjZSBXVEYKKworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKaW5kZXggZWQ3
ZjI5ZTZlMDgwNjI3ODUyODllNDEwMDNlNjgxM2ZmOThhNWE5Yy4uY2YyOGQxMWZlMTFhZjk2MDky
NGQ5NjVjZTE2MTgyYjVmZDUxOGFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL0dQVVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9j
ZXNzLmNwcApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oPgogI2luY2x1ZGUgPHd0Zi9BbGdvcml0aG1zLmg+CiAjaW5jbHVkZSA8d3Rm
L0NhbGxiYWNrQWdncmVnYXRvci5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5o
PgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYv
T3B0aW9uU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KQEAgLTI0Myw2
ICsyNDQsNyBAQCB2b2lkIEdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9jZXNzKEdQVVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQogI2VuZGlmCiAKICNpZiAhTE9HX0RJ
U0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIFdURjo6bG9nQ2hhbm5lbHMoKS5p
bml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFu
bmVscyk7CiAgICAgV2ViQ29yZTo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJ
Zk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMpOwogICAgIFdlYktp
dDo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0
ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAppbmRl
eCBkZjRiYTIwZGEyNWQ1MGJkNmYyNzU1NjAwMTEyMzlkNDZlNmQ0Y2VlLi5lOGM5OTEzZDM1Yjkx
NGIxMjM5YTY3M2E2YjQ2M2E4Njk5YTNhOGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC01OSw2
ICs1OSw3IEBAIHZvaWQgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IGR5bmFtaWNNYWNoRXh0ZW5z
aW9uSGFuZGxlczsKICNlbmRpZgogCisgICAgZW5jb2RlciA8PCB3dGZMb2dnaW5nQ2hhbm5lbHM7
CiAgICAgZW5jb2RlciA8PCB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOwogICAgIGVuY29kZXIgPDwg
d2ViS2l0TG9nZ2luZ0NoYW5uZWxzOwogfQpAQCAtMTA5LDYgKzExMCw4IEBAIGJvb2wgR1BVUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgR1BV
UHJvY2Vzc0NyZWF0CiAgICAgcmVzdWx0LmR5bmFtaWNNYWNoRXh0ZW5zaW9uSGFuZGxlcyA9IFdU
Rk1vdmUoKmR5bmFtaWNNYWNoRXh0ZW5zaW9uSGFuZGxlcyk7CiAjZW5kaWYKIAorICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocmVzdWx0Lnd0ZkxvZ2dpbmdDaGFubmVscykpCisgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC53ZWJDb3JlTG9nZ2luZ0No
YW5uZWxzKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LndlYktpdExvZ2dpbmdDaGFubmVscykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCA2MzQ2NzMx
MjcyYmQwNzI5MGE2ZThiY2RiNGI0MGZmNGVkZjYxMDJlLi5kNGE5YjJiNzU1NzgzOTgzYmFkNTcz
MWZlNmE1MjY4NmQyMWMzN2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
R1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTU3LDYgKzU3LDcgQEAgc3Ry
dWN0IEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogICAgIFNhbmRib3hFeHRlbnNpb246
OkhhbmRsZUFycmF5IGR5bmFtaWNNYWNoRXh0ZW5zaW9uSGFuZGxlczsKICNlbmRpZgogCisgICAg
U3RyaW5nIHd0ZkxvZ2dpbmdDaGFubmVsczsKICAgICBTdHJpbmcgd2ViQ29yZUxvZ2dpbmdDaGFu
bmVsczsKICAgICBTdHJpbmcgd2ViS2l0TG9nZ2luZ0NoYW5uZWxzOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwCmluZGV4IDA5NWNmNDU5MTQ2MjFjMTg4MzJiYWE5
NTY2NzVmM2IwZDgxZDcyY2QuLjdhNTk3NjYxZTJmOTlmZWNmYzE2ZGYyOTc0MjQ0MTJkZDcxYzY2
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwCkBAIC0zMyw2
ICszMyw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZVByb3h5SWRlbnRpZmllci5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+
CisjaW5jbHVkZSA8d3RmL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAKICNpZiAhT1MoV0lORE9XUykK
ICNpbmNsdWRlIDx1bmlzdGQuaD4KQEAgLTgyLDYgKzgzLDcgQEAgdm9pZCBBdXhpbGlhcnlQcm9j
ZXNzOjppbml0aWFsaXplKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMKICAgICBpbml0aWFsaXplU2FuZGJveChwYXJhbWV0ZXJzLCBzYW5kYm94UGFyYW1ldGVy
cyk7CiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIFdU
Rjo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogICAg
IFdlYkNvcmU6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nhcnko
KTsKICAgICBXZWJLaXQ6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNl
c3NhcnkoKTsKICNlbmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxF
RApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3Bw
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCmluZGV4IDIzM2Iz
MGYyMmFkNjQxNmEwYTNlMDQ3YmRkOWVlMzlmMzUxYjczZjAuLmNiMmJkNGEyZDFkMjU1ZWRkZDJk
NjJmMjQyZTQ3YzBhNzk4ZmE1YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YktpdDJJbml0aWFsaXplLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5p
dGlhbGl6ZS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9J
bml0aWFsaXplVGhyZWFkaW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Mb2dJbml0aWFsaXphdGlv
bi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2ViQ29yZUpJVE9wZXJhdGlvbnMuaD4KKyNpbmNsdWRl
IDx3dGYvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KQEAg
LTQ3LDYgKzQ4LDcgQEAgdm9pZCBJbml0aWFsaXplV2ViS2l0MigpCiAgICAgV1RGOjpSZWZDb3Vu
dGVkQmFzZTo6ZW5hYmxlVGhyZWFkaW5nQ2hlY2tzR2xvYmFsbHkoKTsKIAogI2lmICFMT0dfRElT
QUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgV1RGOjpsb2dDaGFubmVscygpLmlu
aXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgV2ViQ29yZTo6bG9nQ2hhbm5l
bHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogICAgIFdlYktpdDo6bG9n
Q2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogI2VuZGlmIC8v
ICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCmluZGV4IDc3
NmZiMGJlNjk5Y2Y3NGNhZWE2YTY4MjRmMzk0ZTg0YmE4ZTg2MTYuLmJmZmJjNDkxZWM5NWM1ZTA4
MGFiZTI1NjEwNjNkNDEwYzI1ZDgwNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCkBAIC01OSw2ICs1OSw3IEBAIHZv
aWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5j
b2RlcikgY29uc3QKICNpZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKFJFTU9URV9JTlNQRUNU
T1IpCiAgICAgZW5jb2RlciA8PCBlbmFibGVSZW1vdGVXZWJJbnNwZWN0b3JFeHRlbnNpb25IYW5k
bGU7CiAjZW5kaWYKKyAgICBlbmNvZGVyIDw8IHd0ZkxvZ2dpbmdDaGFubmVsczsKICAgICBlbmNv
ZGVyIDw8IHdlYkNvcmVMb2dnaW5nQ2hhbm5lbHM7CiAgICAgZW5jb2RlciA8PCB3ZWJLaXRMb2dn
aW5nQ2hhbm5lbHM7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKQEAgLTI2Miw2ICsyNjMsOCBA
QCBib29sIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIsIFdlYlByb2Nlc3NDcmVhdAogICAgIHBhcmFtZXRlcnMuZW5hYmxlUmVtb3RlV2Vi
SW5zcGVjdG9yRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqZW5hYmxlUmVtb3RlV2ViSW5zcGVj
dG9yRXh0ZW5zaW9uSGFuZGxlKTsKICNlbmRpZgogCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShw
YXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscykpCisgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscykp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHBhcmFtZXRl
cnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCAwNjBkNGYxOTMzMWE1NzljNGE2
ZDZhMjZmNDc1MjhiZWY2M2YwYjg4Li5mMTMxZjljODBjZWVlNmU4MWQ5MWU1MjI1ZDU0ZGNmYjIy
MDIyNWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCkBAIC05NCw2ICs5NCw3IEBAIHN0cnVjdCBXZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzIHsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgYXVkaW9DYXB0dXJl
RXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlmCiAKKyAgICBTdHJpbmcgd3RmTG9nZ2luZ0NoYW5uZWxz
OwogICAgIFN0cmluZyB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOwogICAgIFN0cmluZyB3ZWJLaXRM
b2dnaW5nQ2hhbm5lbHM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvR1BVUHJvY2Vzc1Byb3h5Q29jb2EubW0KaW5kZXggMjhjYzg5NDc4ZDhhZjA0NTY3YjViM2Fm
MTE0N2I1M2Q1ODRhZWUyYS4uNDMxMmQxYjAwYzliMjhlOWZmOTE2MzE0NmFlMTE2ZjMzMDJhNDhh
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvR1BVUHJvY2Vzc1By
b3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvR1BVUHJvY2Vz
c1Byb3h5Q29jb2EubW0KQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiB2b2lk
IEdQVVByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXplR1BVUHJvY2Vzc1BhcmFtZXRlcnMo
R1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIHsKICNpZiAhTE9HX0RJ
U0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHBhcmFtZXRlcnMud3RmTG9nZ2lu
Z0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5n
Rm9yS2V5OkAiV1RGTG9nZ2luZyJdOwogICAgIHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFu
bmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0Zvcktl
eTpAIldlYkNvcmVMb2dnaW5nIl07CiAgICAgcGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5l
bHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6
QCJXZWJLaXQyTG9nZ2luZyJdOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQppbmRleCAyZTZiNGMxMzc2MTkyYWE2
MTA5YzRhOTE4ZjM0M2Y0NDMzYTJiMWMzLi4yODViMGZmZjMxOTk0ZDM3ZTcxYzg1ZGM5NTkzZWJm
NDA4YmIxMTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUG9vbENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQb29sQ29jb2EubW0KQEAgLTM4OCw2ICszODgsNyBAQCB2b2lkIFdlYlByb2Nlc3NQ
b29sOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NQcm94eSYg
cHJvY2VzcwogI2VuZGlmCiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorICAgIHBhcmFtZXRlcnMud3RmTG9nZ2luZ0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV1RGTG9nZ2luZyJdOwogICAg
IHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3Rh
bmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0ZvcktleTpAIldlYkNvcmVMb2dnaW5nIl07CiAgICAg
cGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5k
YXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJXZWJLaXQyTG9nZ2luZyJdOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCmlu
ZGV4IDQ0ZjlhN2U3OWU0YjE5Y2IwZjMxMmExODAwOTcyM2YwYzVkODE3ZjEuLmU3YWE1OGIyZmM1
ZmEyZDZjMTIzOWJiOGJjZTUyMmYwMDA1M2Y5ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRp
b25IYW5kbGVyLmg+CisjaW5jbHVkZSA8d3RmL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW5jbHVk
ZSA8d3RmL1RyYW5zbGF0ZWRQcm9jZXNzLmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpA
QCAtNjA3LDYgKzYwOCw3IEBAIHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpkaWRCZWNvbWVVbnJlc3Bv
bnNpdmUoKQogdm9pZCBHUFVQcm9jZXNzUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6ZUdQVVByb2Nl
c3NQYXJhbWV0ZXJzKEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7
CiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBwYXJhbWV0
ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscyA9IFdURjo6bG9nTGV2ZWxTdHJpbmcoKTsKICAgICBwYXJh
bWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMgPSBXZWJDb3JlOjpsb2dMZXZlbFN0cmluZygp
OwogICAgIHBhcmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzID0gV2ViS2l0Ojpsb2dMZXZl
bFN0cmluZygpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAKaW5kZXggODM2YjA0MDNkYTU3YjM3NDFkMTFiMjZlYTgzYzM3NWRlNWY5OGZkMi4uNWZl
OTI5ZGFjYjQxZGU1MjQwNWEzNGI5ZmIyMzg2ODY3NGJhYzY3YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtOTYsNiArOTYsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+CiAjaW5jbHVkZSA8cGFsL1Nlc3Np
b25JRC5oPgogI2luY2x1ZGUgPHd0Zi9DYWxsYmFja0FnZ3JlZ2F0b3IuaD4KKyNpbmNsdWRlIDx3
dGYvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9Qcm9jZXNzUHJpdmls
ZWdlLmg+CkBAIC0yNTEsNiArMjUyLDcgQEAgV2ViUHJvY2Vzc1Bvb2w6OldlYlByb2Nlc3NQb29s
KEFQSTo6UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogICAgIHJlc29s
dmVQYXRoc0ZvclNhbmRib3hFeHRlbnNpb25zKCk7CiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFS
RUxFQVNFX0xPR19ESVNBQkxFRAorICAgIFdURjo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9n
Q2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogICAgIFdlYkNvcmU6OmxvZ0NoYW5uZWxzKCkuaW5pdGlh
bGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICBXZWJLaXQ6OmxvZ0NoYW5uZWxzKCku
aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICNlbmRpZiAvLyAhTE9HX0RJU0FC
TEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KaW5kZXggZTRlYzA2M2I3MGVlN2M2MGY3MTk2
NDNmMTdlZDRhNzU5M2FhN2UzMS4uZGZkYmVjMjU3YjY1YzJiYjUwMDhjYzlhZWExODVjZDhhNDY4
ZjJkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vz
c0NvY29hLm1tCkBAIC0xMDEsNiArMTAxLDcgQEAKICNpbXBvcnQgPHN0ZGlvLmg+CiAjaW1wb3J0
IDx3dGYvRmlsZVN5c3RlbS5oPgogI2ltcG9ydCA8d3RmL0xhbmd1YWdlLmg+CisjaW1wb3J0IDx3
dGYvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbXBvcnQgPHd0Zi9Qcm9jZXNzUHJpdmlsZWdlLmg+
CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9FbnRpdGxl
bWVudHMuaD4KQEAgLTI4MSw2ICsyODIsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5p
dGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYQogICAg
IH0KIAogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgV1RG
Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRl
cnMud3RmTG9nZ2luZ0NoYW5uZWxzKTsKICAgICBXZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRp
YWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFu
bmVscyk7CiAgICAgV2ViS2l0Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lm
TmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGEzZTE2Yjg4ODRi
MmVhNzM1NTVlZTc2ZWM0Y2M4ODBkNGJkZTFmYTIuLjk3NmEzZGViNTc3OWQ4YjI2NTU1ZWNjMmZm
MjQ2ZDM0YjQxMWNjNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KQEAgLTI1Miw2ICsyNTIsNyBAQAogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNp
bXBvcnQgPHd0Zi9IYXNoVHJhaXRzLmg+CiAjaW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KKyNpbXBv
cnQgPHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4K
ICNpbXBvcnQgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVn
ZS5oPgpAQCAtMTQ4MSw2ICsxNDgyLDcgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25X
aXRoRnJhbWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKICNlbmRp
ZgogICAgIGlmICghZGlkT25lVGltZUluaXRpYWxpemF0aW9uKSB7CiAjaWYgIUxPR19ESVNBQkxF
RCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgV1RGOjpsb2dDaGFubmVscygpLmlu
aXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgICAgIFdlYkNvcmU6OmxvZ0No
YW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICAgICAgV2Vi
S2l0Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAj
ZW5kaWYK
</data>
<flag name="commit-queue"
          id="457832"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435122</attachid>
            <date>2021-08-07 02:22:23 -0700</date>
            <delta_ts>2021-08-07 02:24:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228768-20210807022222.patch</filename>
            <type>text/plain</type>
            <size>49145</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQwOTllY2QzYmNlZjkzYjE3N2RmYTM4
ZGFmMTYzODA5NzUyMmUzYjMuLmQ5MjQ0Mjg5MTRiYWMzMWZjMWM1OGU0MWFkYTVjMjE0ZWNkNDQ4
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMjEtMDgtMDcgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IFdURiBsb2dnaW5nIGNoYW5u
ZWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg3
NjgKKworICAgICAgICBUaGlzIHBhdGNoIGJ1aWxkcyBvbiB0b3Agb2YgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODgwOSwgd2hpY2ggYWRkZWQgc2hhcmVkIGluZnJh
c3RydWN0dXJlCisgICAgICAgIGZvciBsb2dnaW5nLiBUaGlzIHBhdGNoIHNpbXBseSB0cmlnZ2Vy
cyB0aGF0IHNoYXJlZCBpbmZyYXN0cnVjdHVyZSBmb3IgV1RGLiBUaGVyZSBpcyBubyBjaGFuZ2Ug
aW4gYmVoYXZpb3IgLQorICAgICAgICB0aGUgZXhpc3RpbmcgV1RGIGxvZ2dpbmcgY2hhbm5lbHMg
Y3VycmVudGx5IGFyZSBhbGwgaW1wbGVtZW50ZWQgaW5kZXBlbmRlbnRseSBpbiBjdXN0b20gd2F5
cywgc28gdGhpcyBwYXRjaAorICAgICAgICBqdXN0IG1pZ3JhdGVzIHRoZW0gb3ZlciB0byB1c2Ug
dGhlIHNoYXJlZCBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV1RG
Ojpsb2dDaGFubmVscyk6CisgICAgICAgICogd3RmL0xvZ0luaXRpYWxpemF0aW9uLmg6IEFkZGVk
LgorICAgICAgICAqIHd0Zi9Mb2dnaW5nLmNwcDogQWRkZWQuCisgICAgICAgICogd3RmL0xvZ2dp
bmcuaDogQWRkZWQuCisgICAgICAgICogd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHA6Cisg
ICAgICAgIChXVEY6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKToKKyAgICAgICAg
KiB3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtRlRX
LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1KU0NPbmx5LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybU1hYy5jbWFrZToK
KyAgICAgICAgKiB3dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZToKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1XUEUuY21ha2U6CisgICAgICAgICogd3RmL1BsYXRmb3JtV2luLmNtYWtlOgorICAg
ICAgICAqIHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwOgorICAgICAgICAqIHd0Zi9jb2Nv
YS9Mb2dnaW5nQ29jb2EubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tLgorICAgICAgICAoV1RGOjpsb2dMZXZlbFN0cmlu
Zyk6CisgICAgICAgICogd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3BwOgorICAgICAgICAqIHd0
Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW06CisgICAgICAgICogd3RmL2NvY29hL01lbW9yeVBy
ZXNzdXJlSGFuZGxlckNvY29hLm1tOgorICAgICAgICAqIHd0Zi91bml4L0xvZ2dpbmdVbml4LmNw
cDogQWRkZWQuCisgICAgICAgIChXVEY6OmxvZ0xldmVsU3RyaW5nKToKKyAgICAgICAgKiB3dGYv
d2luL0xvZ2dpbmdXaW4uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdURjo6bG9nTGV2ZWxTdHJpbmcp
OgorCiAyMDIxLTA4LTA3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKICAgICAgICAgRGVkdXBsaWNhdGUgbG9nZ2luZyBjaGFubmVsIGFsZ29yaXRobXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggOGZhNTcxMDEzZmZjNmMxMzE1ZWY1MjM5OWFkMjQ1MmRhMDU4NDhlNi4uMTA4OGY3YWE5
YjVkMWY1M2JlZGNmMWIwZGFhOTk0ZDE1ZjQ4Y2U5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBA
QAorMjAyMS0wOC0wNyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgor
CisgICAgICAgIFN1cHBvcnQgV1RGIGxvZ2dpbmcgY2hhbm5lbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODc2OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJl
IGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9jZXNz
KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUg
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpk
ZWNvZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6QXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogU2hhcmVkL1dl
YktpdDJJbml0aWFsaXplLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5pdGlhbGl6ZVdlYktpdDIp
OgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2Rl
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFy
YW1ldGVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVX
ZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXplR1BV
UHJvY2Vzc1BhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
CiAyMDIxLTA4LTA3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAK
ICAgICAgICAgRGVkdXBsaWNhdGUgbG9nZ2luZyBjaGFubmVsIGFsZ29yaXRobXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwppbmRleCAzMzYwYWZiYjM5M2IxZWMxOGI3ZmMxNjJkYjVjNDQ1OGQ3
ZGQ4NjhiLi5mYTQzZDExNGVkNTFhMjg2NWQ0MWUzYWQ5YzEyMGVhMWY1NmUxNTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMDcgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IFdU
RiBsb2dnaW5nIGNoYW5uZWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjg3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29t
bW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAyMS0wOC0w
NyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIERl
ZHVwbGljYXRlIGxvZ2dpbmcgY2hhbm5lbCBhbGdvcml0aG1zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkZjMyY2ZkZmIyYjYyZWM5NzNmMDJmMDQ5YTBkNmQ4
NzZlYTFhMTE1Li42MDI1NTliZGY0MzI0ZDNhZWE4ZGQxMjEyNDdjOTc2MmMwN2FhYjk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYwLDYgKzYwLDkgQEAK
IAkJMUMxODFDOTMxRDMwN0FCODAwRjVGQTE2IC8qIFVUZXh0UHJvdmlkZXJVVEYxNi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM4RDFEMzA3
QUI4MDBGNUZBMTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCAqLzsgfTsKIAkJMUMxODFDOTYx
RDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM5NTFE
MzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNwcCAq
LzsgfTsKIAkJMUM1MDNCRTYyM0FBRTBBRTAwNzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzUwM0JFNTIzQUFF
MEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLzsgfTsKKwkJMUM5NjgzNjQyNkJFNzRE
RjAwQTJBMkY5IC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOTY4MzYyMjZCRTc0REYwMEEyQTJGOSAvKiBMb2dJ
bml0aWFsaXphdGlvbi5jcHAgKi87IH07CisJCTFDOTY4MzY3MjZCRTc1NDYwMEEyQTJGOSAvKiBM
b2dnaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFDOTY4MzY1MjZCRTc1NDYwMEEyQTJGOSAvKiBMb2dnaW5nLmNwcCAqLzsgfTsKKwkJMUM5Njgz
NjkyNkJFNzZCNjAwQTJBMkY5IC8qIExvZ2dpbmdDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOTY4MzY4MjZCRTc2QjYwMEEyQTJGOSAvKiBM
b2dnaW5nQ29jb2EubW0gKi87IH07CiAJCTFDQTg1Q0E5MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50
aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovOyB9OwogCQkxQ0YxOEYzQjI2QkI1NzlFMDA0QjE3
MjIgLyogTG9nQ2hhbm5lbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNGMThGMzkyNkJCNTc5RTAwNEIxNzIyIC8qIExvZ0NoYW5uZWxzLmNwcCAq
LzsgfTsKIAkJMUZBNDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZBNDdDODgxNTI1
MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9OwpAQCAtMzQ3LDYgKzM1MCwx
MSBAQAogCQkxQzE4MUM5NTFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRl
cm5hbElDVUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRl
eHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDNTAzQkU0MjNBQURFRUEwMDcyRTY2QiAvKiBOU0xvY2FsZVNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOU0xvY2FsZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzUwM0JFNTIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IExhbmd1YWdlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDOTY4MzYyMjZCRTc0REYwMEEyQTJGOSAvKiBMb2dJbml0aWFsaXphdGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDOTY4MzYzMjZCRTc0REYwMEEyQTJGOSAvKiBMb2dJbml0aWFsaXphdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxQzk2ODM2NTI2QkU3NTQ2MDBBMkEyRjkgLyogTG9nZ2luZy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMb2dnaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUM5NjgzNjYyNkJFNzU0NjAwQTJBMkY5IC8qIExvZ2dpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9n
Z2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzk2ODM2ODI2QkU3NkI2MDBB
MkEyRjkgLyogTG9nZ2luZ0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9nZ2luZ0Nv
Y29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E4NUNBNzI0MUIwQjExMDA3
MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUNBODVDQTgyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
c0NvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0Nv
Y29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDREIxNDkxRTU2NjYyNjAw
NkM3M0MwIC8qIFRleHRCcmVha0l0ZXJhdG9yQ0YuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gVGV4dEJyZWFrSXRlcmF0b3JDRi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTEzMCwxMSArMTEzOCwxNSBAQAogCQkJCTkzQjVCNDUwMjIxNzFFRTkwMDRCN0FBNyAv
KiBMb2dnZXIuY3BwICovLAogCQkJCTA3N0NEODZBMUZEOUNGRDIwMDgyODU4NyAvKiBMb2dnZXIu
aCAqLywKIAkJCQkwNzdDRDg2QjFGRDlDRkQzMDA4Mjg1ODcgLyogTG9nZ2VySGVscGVyLmggKi8s
CisJCQkJMUM5NjgzNjUyNkJFNzU0NjAwQTJBMkY5IC8qIExvZ2dpbmcuY3BwICovLAorCQkJCTFD
OTY4MzY2MjZCRTc1NDYwMEEyQTJGOSAvKiBMb2dnaW5nLmggKi8sCiAJCQkJNTEzRTE3MEExQ0Q3
RDVCRjAwRTM2NTBCIC8qIExvZ2dpbmdBY2N1bXVsYXRvci5oICovLAogCQkJCTBGMzBCQThDMUU3
ODcwOEUwMDJDQTg0NyAvKiBMb2dnaW5nSGFzaElELmggKi8sCiAJCQkJMEYzMEJBOEQxRTc4NzA4
RTAwMkNBODQ3IC8qIExvZ2dpbmdIYXNoTWFwLmggKi8sCiAJCQkJMEYzMEJBOEUxRTc4NzA4RTAw
MkNBODQ3IC8qIExvZ2dpbmdIYXNoU2V0LmggKi8sCiAJCQkJMEYzMEJBOEYxRTc4NzA4RTAwMkNB
ODQ3IC8qIExvZ2dpbmdIYXNoVHJhaXRzLmggKi8sCisJCQkJMUM5NjgzNjIyNkJFNzRERjAwQTJB
MkY5IC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLywKKwkJCQkxQzk2ODM2MzI2QkU3NERGMDBB
MkEyRjkgLyogTG9nSW5pdGlhbGl6YXRpb24uaCAqLywKIAkJCQk3QTZFQkEzMjIwNzQ2QzMzMDA0
RjlDNDQgLyogTWFjaFNlbmRSaWdodC5oICovLAogCQkJCUE4QTQ3MkM2MTUxQTgyNUEwMDQxMjNG
RiAvKiBNYWluVGhyZWFkLmNwcCAqLywKIAkJCQlBOEE0NzJDNzE1MUE4MjVCMDA0MTIzRkYgLyog
TWFpblRocmVhZC5oICovLApAQCAtMTU4NSw2ICsxNTk3LDcgQEAKIAkJCQkxNDNEREU5NTIwQzhC
QzM3MDA3Rjc2RkEgLyogRW50aXRsZW1lbnRzLm1tICovLAogCQkJCUEzMzFEOTVFMjFGMjQ5RjYw
MDlGMDJBQSAvKiBGaWxlU3lzdGVtQ29jb2EubW0gKi8sCiAJCQkJMUM1MDNCRTUyM0FBRTBBRTAw
NzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gKi8sCisJCQkJMUM5NjgzNjgyNkJFNzZCNjAwQTJB
MkY5IC8qIExvZ2dpbmdDb2NvYS5tbSAqLywKIAkJCQk3QTZFQkEzMzIwNzQ2QzM0MDA0RjlDNDQg
LyogTWFjaFNlbmRSaWdodC5jcHAgKi8sCiAJCQkJQThBNDcyQzUxNTFBODI1QTAwNDEyM0ZGIC8q
IE1haW5UaHJlYWRDb2NvYS5tbSAqLywKIAkJCQlBREYyQ0U2NTFFMzlGMTA2MDA2ODg5REIgLyog
TWVtb3J5Rm9vdHByaW50Q29jb2EuY3BwICovLApAQCAtMTc0NSw2ICsxNzU4LDkgQEAKIAkJCQkw
RjYwRjMyRjFERkNCRDFCMDA0MTZENkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUNGMThGM0IyNkJCNTc5RTAwNEIxNzIyIC8qIExvZ0NoYW5uZWxzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzQjVCNDUxMjIxNzFFRUEwMDRCN0FBNyAvKiBMb2dnZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMUM5NjgzNjcyNkJFNzU0NjAwQTJBMkY5IC8qIExvZ2dpbmcu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUM5NjgzNjkyNkJFNzZCNjAwQTJBMkY5IC8qIExvZ2dp
bmdDb2NvYS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTFDOTY4MzY0MjZCRTc0REYwMEEyQTJGOSAv
KiBMb2dJbml0aWFsaXphdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzUzNEYyQTFFQzBF
MTBFMDAxNDFCMkYgLyogTWFjaEV4Y2VwdGlvbnMuZGVmcyBpbiBTb3VyY2VzICovLAogCQkJCTdB
NkVCQTM0MjA3NDZDMzQwMDRGOUM0NCAvKiBNYWNoU2VuZFJpZ2h0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4QTQ3M0U1MTUxQTgyNUIwMDQxMjNGRiAvKiBNYWluVGhyZWFkLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oIGIvU291cmNl
L1dURi93dGYvQXNzZXJ0aW9ucy5oCmluZGV4IDI3N2MyMmJjZmU2MmFlMGI2ZmVjYTg5YThiMTc1
MTgyYTYwNGVhYzQuLjZiMmYwZmI4NDE0NzJiY2I5NzFlMTY1MjgyNjQyZmM3OGRlYjk0MzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9Bc3NlcnRpb25zLmgKQEAgLTE4NywxOSArMTg3LDI1IEBAIHR5cGVkZWYgc3RydWN0IHsKIAog
I2lmICFkZWZpbmVkKERFRklORV9MT0dfQ0hBTk5FTCkKICNpZiBSRUxFQVNFX0xPR19ESVNBQkxF
RAotI2RlZmluZSBERUZJTkVfTE9HX0NIQU5ORUwobmFtZSwgc3Vic3lzdGVtKSBcCi0gICAgV1RG
TG9nQ2hhbm5lbCBMT0dfQ0hBTk5FTChuYW1lKSA9IHsgKFdURkxvZ0NoYW5uZWxTdGF0ZSkwLCAj
bmFtZSwgKFdURkxvZ0xldmVsKTEgfTsKKyNkZWZpbmUgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhf
REVUQUlMUyhuYW1lLCBpbml0aWFsU3RhdGUsIGxldmVsLCBzdWJzeXN0ZW0pIFwKKyAgICBXVEZM
b2dDaGFubmVsIExPR19DSEFOTkVMKG5hbWUpID0geyBpbml0aWFsU3RhdGUsICNuYW1lLCBsZXZl
bCB9OwogI2VuZGlmCiAjaWYgVVNFKE9TX0xPRykgJiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0j
ZGVmaW5lIERFRklORV9MT0dfQ0hBTk5FTChuYW1lLCBzdWJzeXN0ZW0pIFwKLSAgICBXVEZMb2dD
aGFubmVsIExPR19DSEFOTkVMKG5hbWUpID0geyAoV1RGTG9nQ2hhbm5lbFN0YXRlKTAsICNuYW1l
LCAoV1RGTG9nTGV2ZWwpMSwgc3Vic3lzdGVtLCBPU19MT0dfREVGQVVMVCB9OworI2RlZmluZSBE
RUZJTkVfTE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxTKG5hbWUsIGluaXRpYWxTdGF0ZSwgbGV2ZWws
IHN1YnN5c3RlbSkgXAorICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NIQU5ORUwobmFtZSkgPSB7IGlu
aXRpYWxTdGF0ZSwgI25hbWUsIGxldmVsLCBzdWJzeXN0ZW0sIE9TX0xPR19ERUZBVUxUIH07CiAj
ZW5kaWYKICNpZiBVU0UoSk9VUk5BTEQpICYmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotI2RlZmlu
ZSBERUZJTkVfTE9HX0NIQU5ORUwobmFtZSwgc3Vic3lzdGVtKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NIQU5ORUwobmFtZSkgPSB7IChXVEZM
b2dDaGFubmVsU3RhdGUpMCwgI25hbWUsIChXVEZMb2dMZXZlbCkxLCBzdWJzeXN0ZW0gfTsKKyNk
ZWZpbmUgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhuYW1lLCBpbml0aWFsU3RhdGUs
IGxldmVsLCBzdWJzeXN0ZW0pIFwKKyAgICBXVEZMb2dDaGFubmVsIExPR19DSEFOTkVMKG5hbWUp
ID0geyBpbml0aWFsU3RhdGUsICNuYW1lLCBsZXZlbCwgc3Vic3lzdGVtIH07CiAjZW5kaWYKICNl
bmRpZgogCisvLyBUaGlzIGZpbGUgaXMgaW5jbHVkZWQgZnJvbSBDIChub3QgQysrKSBmaWxlcywg
c28gd2UgY2FuJ3Qgc2F5IHRoaW5ncyBsaWtlIFdURkxvZ0NoYW5uZWxTdGF0ZTo6T2ZmLgorc3Rh
dGljIGNvbnN0IFdURkxvZ0NoYW5uZWxTdGF0ZSBsb2dDaGFubmVsU3RhdGVPZmYgPSAoV1RGTG9n
Q2hhbm5lbFN0YXRlKTA7CitzdGF0aWMgY29uc3QgV1RGTG9nQ2hhbm5lbFN0YXRlIGxvZ0NoYW5u
ZWxTdGF0ZU9uID0gKFdURkxvZ0NoYW5uZWxTdGF0ZSkxOworc3RhdGljIGNvbnN0IFdURkxvZ0xl
dmVsIGxvZ0xldmVsRXJyb3IgPSAoV1RGTG9nTGV2ZWwpMTsKKyNkZWZpbmUgREVGSU5FX0xPR19D
SEFOTkVMKG5hbWUsIHN1YnN5c3RlbSkgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhu
YW1lLCBsb2dDaGFubmVsU3RhdGVPZmYsIGxvZ0xldmVsRXJyb3IsIHN1YnN5c3RlbSk7CisKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydE5vdEltcGxlbWVudGVkWWV0KGNvbnN0IGNo
YXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbik7CiBXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGlu
dCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXNzZXJ0aW9uKTsKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmVXaXRoTWVzc2Fn
ZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0
IGNoYXIqIGFzc2VydGlvbiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVf
UFJJTlRGKDUsIDYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA1MWFmMGFhMDE1YzYxMmViZmI2
OWIzOWNlYjY2NDIzMTQ2YTVlZTFlLi5hZjhkMjkwNDY0ZmNhZjU5NWMwYTQ2NmEwZmM4NWJlMjlk
NGI0YmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtMTI0LDggKzEyNCwxMCBAQCBzZXQoV1RG
X1BVQkxJQ19IRUFERVJTCiAgICAgTG9ja2VyLmgKICAgICBMb2NrbGVzc0JhZy5oCiAgICAgTG9n
Q2hhbm5lbHMuaAorICAgIExvZ0luaXRpYWxpemF0aW9uLmgKICAgICBMb2dnZXIuaAogICAgIExv
Z2dlckhlbHBlci5oCisgICAgTG9nZ2luZy5oCiAgICAgTG9nZ2luZ0FjY3VtdWxhdG9yLmgKICAg
ICBMb2dnaW5nSGFzaElELmgKICAgICBMb2dnaW5nSGFzaE1hcC5oCkBAIC00MjQsNyArNDI2LDkg
QEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgTG9jay5jcHAKICAgICBMb2NrZWRQcmludFN0cmVhbS5j
cHAKICAgICBMb2dDaGFubmVscy5jcHAKKyAgICBMb2dJbml0aWFsaXphdGlvbi5jcHAKICAgICBM
b2dnZXIuY3BwCisgICAgTG9nZ2luZy5jcHAKICAgICBNYWluVGhyZWFkLmNwcAogICAgIE1lZGlh
VGltZS5jcHAKICAgICBNZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dJbml0aWFsaXphdGlvbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dJbml0
aWFsaXphdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDUwODg3M2EyMGE2YTk1NmY0NGEwZDg3ODNiN2U2
NDRlNTg0YzkxNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ0luaXRpYWxp
emF0aW9uLmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMb2dJbml0
aWFsaXphdGlvbi5oIgorCisjaW5jbHVkZSA8d3RmL0xvZ0NoYW5uZWxzLmg+CisjaW5jbHVkZSA8
d3RmL0xvZ2dpbmcuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCitjbGFzcyBXVEZMb2dDaGFubmVscyBmaW5hbCA6IHB1
YmxpYyBMb2dDaGFubmVscyB7CitwdWJsaWM6CisgICAgV1RGTG9nQ2hhbm5lbHMoKQorICAgIHsK
KyAgICAgICAgbV9sb2dDaGFubmVscyA9IHsKKyAgICAgICAgICAgIFdURl9MT0dfQ0hBTk5FTFMo
TE9HX0NIQU5ORUxfQUREUkVTUykKKyAgICAgICAgfTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
U3RyaW5nIGxvZ0xldmVsU3RyaW5nKCkgZmluYWwKKyAgICB7CisgICAgICAgIHJldHVybiBXVEY6
OmxvZ0xldmVsU3RyaW5nKCk7CisgICAgfQorfTsKKworTG9nQ2hhbm5lbHMmIGxvZ0NoYW5uZWxz
KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8V1RGTG9nQ2hhbm5lbHM+IGxvZ0NoYW5u
ZWxzOworICAgIHJldHVybiBsb2dDaGFubmVscy5nZXQoKTsKK30KKworI2VuZGlmIC8vICFMT0df
RElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvZ0luaXRpYWxpemF0aW9uLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dJbml0aWFsaXphdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiM2M4NWE1ODBlNmUy
NjcyYmEzYmZmNDcxYWYxOTM5OGE3YjQzNWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9Mb2dJbml0aWFsaXphdGlvbi5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
IDx3dGYvTG9nQ2hhbm5lbHMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKwor
bmFtZXNwYWNlIFdURiB7CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorCitXVEZfRVhQT1JUX1BSSVZBVEUgTG9nQ2hhbm5lbHMmIGxvZ0NoYW5uZWxzKCk7CitT
dHJpbmcgbG9nTGV2ZWxTdHJpbmcoKTsKKworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvTG9nZ2luZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43MDYzYzJlYTcwMDY0MWJkZmVhZGQ0OTVmMWI5YmMxMDNiYzQ3NDkyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dURi93dGYvTG9nZ2luZy5jcHAKQEAgLTAsMCArMSw0OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCisjaW5jbHVkZSA8d3RmL0xvZ0luaXRp
YWxpemF0aW9uLmg+CisjaW5jbHVkZSA8d3RmL0xvZ2dpbmdBY2N1bXVsYXRvci5oPgorCisjaWYg
UExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSA8bm90aWZ5Lmg+CisjaW5jbHVkZSA8d3RmL0Jsb2Nr
UHRyLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdURiB7CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCitERUZJTkVfTE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxT
KFJlZkNvdW50ZWRMZWFrcywgbG9nQ2hhbm5lbFN0YXRlT24sICBsb2dMZXZlbEVycm9yLCBMT0df
Q0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNKTsKK0RFRklORV9MT0dfQ0hBTk5FTF9XSVRIX0RFVEFJ
TFMoUHJvY2VzcywgICAgICAgICBsb2dDaGFubmVsU3RhdGVPbiwgIGxvZ0xldmVsRXJyb3IsIExP
R19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOworREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVU
QUlMUyhUaHJlYWRpbmcsICAgICAgIGxvZ0NoYW5uZWxTdGF0ZU9uLCAgbG9nTGV2ZWxFcnJvciwg
TE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSk7CitERUZJTkVfTE9HX0NIQU5ORUwoTWVtb3J5
UHJlc3N1cmUsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOworCisjZW5kaWYgLy8gIUxP
R19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTG9nZ2luZy5oIGIvU291cmNlL1dURi93
dGYvTG9nZ2luZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmOTE5NGZlOTM3MGJjOWFkZWI1MzI1NzFjNzBlOTM4
MWFkM2ExNjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nLmgKQEAg
LTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKyNpZiAhTE9HX0RJU0FCTEVE
IHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCisjaWZuZGVmIExPR19DSEFOTkVMX1BSRUZJWAor
I2RlZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVggV1RGTG9nCisjZW5kaWYKKworI2RlZmluZSBXVEZf
TE9HX0NIQU5ORUxTKE0pIFwKKyAgICBNKFJlZkNvdW50ZWRMZWFrcykgXAorICAgIE0oUHJvY2Vz
cykgXAorICAgIE0oVGhyZWFkaW5nKSBcCisgICAgTShNZW1vcnlQcmVzc3VyZSkgXAorCisjdW5k
ZWYgREVDTEFSRV9MT0dfQ0hBTk5FTAorI2RlZmluZSBERUNMQVJFX0xPR19DSEFOTkVMKG5hbWUp
IFwKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgZXh0ZXJuIFdURkxvZ0NoYW5uZWwgSk9JTl9MT0df
Q0hBTk5FTF9XSVRIX1BSRUZJWChMT0dfQ0hBTk5FTF9QUkVGSVgsIG5hbWUpOworCitXVEZfTE9H
X0NIQU5ORUxTKERFQ0xBUkVfTE9HX0NIQU5ORUwpCisKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVE
IHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgYi9Tb3VyY2UvV1RG
L3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCmluZGV4IDc1YTA4NTQ2MDhlZjVhOTIxZTI1
MjkyZGExZmI2OGY0ZWQxNTc1ZjguLmViZTliMmU5MzYwMGMyOTg2Y2E5ZjFlYzIwOTc0ZTg4ZDIx
MzE4MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtMjYs
MTYgKzI2LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8d3RmL01lbW9yeVBy
ZXNzdXJlSGFuZGxlci5oPgogCisjaW5jbHVkZSA8d3RmL0xvZ2dpbmcuaD4KICNpbmNsdWRlIDx3
dGYvTWVtb3J5Rm9vdHByaW50Lmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAj
aW5jbHVkZSA8d3RmL1JBTVNpemUuaD4KIAotI2RlZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVggTG9n
Ci0KIG5hbWVzcGFjZSBXVEYgewogCi1ERUZJTkVfTE9HX0NIQU5ORUwoTWVtb3J5UHJlc3N1cmUs
IExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOwotCiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9v
bCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OlJlbGllZkxvZ2dlcjo6c19sb2dnaW5nRW5hYmxlZCA9
IGZhbHNlOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTUzLDggKzUwLDEwIEBAIE1l
bW9yeVByZXNzdXJlSGFuZGxlciYgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzaW5nbGV0b24oKQog
ICAgIHN0YXRpYyBMYXp5TmV2ZXJEZXN0cm95ZWQ8TWVtb3J5UHJlc3N1cmVIYW5kbGVyPiBtZW1v
cnlQcmVzc3VyZUhhbmRsZXI7CiAgICAgc3RhdGljIHN0ZDo6b25jZV9mbGFnIG9uY2VLZXk7CiAg
ICAgc3RkOjpjYWxsX29uY2Uob25jZUtleSwgWyZdIHsKLSAgICAgICAgV1RGTG9nQ2hhbm5lbCog
Y2hhbm5lbHNbXSA9IHsgJkxvZ01lbW9yeVByZXNzdXJlIH07CisjaWYgIUxPR19ESVNBQkxFRCB8
fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgV1RGTG9nQ2hhbm5lbCogY2hhbm5lbHNb
XSA9IHsgJldURkxvZ01lbW9yeVByZXNzdXJlIH07CiAgICAgICAgIFdURkluaXRpYWxpemVMb2dD
aGFubmVsU3RhdGVzRnJvbVN0cmluZyhjaGFubmVscywgMSwgIiIpOworI2VuZGlmCiAKICAgICAg
ICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNvbnN0cnVjdCgpOwogICAgIH0pOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmggYi9Tb3VyY2UvV1RGL3d0
Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAppbmRleCAwOTMwNmUzMzRhM2JjMzllOWU3M2JiNDA4
ZTQwMDEyNjJmMWJlZDkyLi5lYWVkNzkyNWMxM2JjYTg1ZmM3N2MzZTc0YjdiODE1Y2M4MzQ1ZDA4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaApAQCAtMjcyLDggKzI3Miw2
IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLWV4dGVybiBXVEZMb2dDaGFubmVsIExvZ01lbW9y
eVByZXNzdXJlOwotCiB9IC8vIG5hbWVzcGFjZSBXVEYKIAogdXNpbmcgV1RGOjpDcml0aWNhbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRlRXLmNtYWtlIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1GVFcuY21ha2UKaW5kZXggMTUzMzEyNzNjOTExYWU3YmUwNGFhMGVhMjhl
NmRmNjI1NDE2M2Y0Zi4uNjgyZjQyMGRjODc1NDcwNDFhZGJjNzk1ZTM4ZGUzOGI5MzA3YTI1YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1GVFcuY21ha2UKKysrIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm1GVFcuY21ha2UKQEAgLTI0LDYgKzI0LDcgQEAgbGlzdChBUFBFTkQg
V1RGX1NPVVJDRVMKICAgICB3aW4vRGJnSGVscGVyV2luLmNwcAogICAgIHdpbi9GaWxlU3lzdGVt
V2luLmNwcAogICAgIHdpbi9MYW5ndWFnZVdpbi5jcHAKKyAgICB3aW4vTG9nZ2luZ1dpbi5jcHAK
ICAgICB3aW4vTWFpblRocmVhZFdpbi5jcHAKICAgICB3aW4vTWVtb3J5Rm9vdHByaW50V2luLmNw
cAogICAgIHdpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RL
LmNtYWtlCmluZGV4IDliZDVmZGU1YmMzODM1NWUyNWJjMDlkMDVhMDQ1ZGYzMWVmYWEyNTkuLjRh
MTJiNWE0MzkzZmUyYmJlMzk2NzNlM2ZhNTQ3YzlkNjk3NmFiZDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
R1RLLmNtYWtlCkBAIC00NCw2ICs0NCw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAg
dGV4dC91bml4L1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VVbml4LmNwcAogCiAgICAgdW5p
eC9MYW5ndWFnZVVuaXguY3BwCisgICAgdW5peC9Mb2dnaW5nVW5peC5jcHAKICAgICB1bml4L1Vu
aVN0ZEV4dHJhc1VuaXguY3BwCiApCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSlNDT25seS5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZQpp
bmRleCBjMmIzYTBmZTRjODVkNjY0YzU5OGUyYWQ2ZGVhNjA5OGIyMjJhMGRiLi5lOTNhMjg1YTJk
ODcxNzU3ODE1ZWVlMjZiZjViNjVkNGEzOWNjYWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1KU0NP
bmx5LmNtYWtlCkBAIC0xMSw2ICsxMSw3IEBAIGlmIChXSU4zMikKICAgICAgICAgd2luL0RiZ0hl
bHBlcldpbi5jcHAKICAgICAgICAgd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCiAgICAgICAgIHdpbi9M
YW5ndWFnZVdpbi5jcHAKKyAgICAgICAgd2luL0xvZ2dpbmdXaW4uY3BwCiAgICAgICAgIHdpbi9N
YWluVGhyZWFkV2luLmNwcAogICAgICAgICB3aW4vT1NBbGxvY2F0b3JXaW4uY3BwCiAgICAgICAg
IHdpbi9QYXRoV2Fsa2VyLmNwcApAQCAtMzcsNiArMzgsNyBAQCBlbHNlICgpCiAgICAgICAgIHRl
eHQvdW5peC9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5jcHAKIAogICAgICAgICB1
bml4L0xhbmd1YWdlVW5peC5jcHAKKyAgICAgICAgdW5peC9Mb2dnaW5nVW5peC5jcHAKICAgICAp
CiAgICAgaWYgKFdURl9PU19GVUNIU0lBKQogICAgICAgICBsaXN0KEFQUEVORCBXVEZfU09VUkNF
UwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCAyNjJlYWY1Mzk2ZGUwOWZlMDk5OTgxMWZi
MzJmMDNjNGZjNjliMDQ4Li4zNmJiYjlkY2JhMWNiYzUwNjM1MzE0YWQyNmM5NGJjMDQ2YmZiNGQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtNjQsNiArNjQsNyBAQCBsaXN0KEFQUEVO
RCBXVEZfU09VUkNFUwogICAgIGNvY29hL0VudGl0bGVtZW50cy5tbQogICAgIGNvY29hL0ZpbGVT
eXN0ZW1Db2NvYS5tbQogICAgIGNvY29hL0xhbmd1YWdlQ29jb2EubW0KKyAgICBjb2NvYS9Mb2dn
aW5nQ29jb2EubW0KICAgICBjb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcAogICAgIGNvY29hL01haW5U
aHJlYWRDb2NvYS5tbQogICAgIGNvY29hL01lbW9yeUZvb3RwcmludENvY29hLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZSBiL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UKaW5kZXggNjU1ZjBjOTE1YjJmNWUyMzU2
YWY0YzgxYTgwZmVlNTZkOGM0YTRmNy4uYTAzNTkwNTcwMTJiNGIwMWRjYjUzOTg2YWM0NmJiMDZi
YmRkNTIwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5j
bWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCkBAIC0x
NSw2ICsxNSw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAKICAgICB0ZXh0L3VuaXgvVGV4
dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVVVuaXguY3BwCiAKKyAgICB1bml4L0xvZ2dpbmdVbml4
LmNwcAogICAgIHVuaXgvTWVtb3J5UHJlc3N1cmVIYW5kbGVyVW5peC5jcHAKICkKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1XUEUuY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybVdQRS5jbWFrZQppbmRleCBhODQwYTQ4N2ZmMDNhM2M4Mjc0NTVjYWI2N2ZhYThmODNk
MjBiZmE5Li42NDNlZjBmY2RmNGYzY2U0YTFmMjdiYzBjYzZlMTc5YjcxNDNiYmQ0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtMzcsNiArMzcsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09V
UkNFUwogICAgIHRleHQvdW5peC9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5jcHAK
IAogICAgIHVuaXgvTGFuZ3VhZ2VVbml4LmNwcAorICAgIHVuaXgvTG9nZ2luZ1VuaXguY3BwCiAg
ICAgdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcAogICAgIHVuaXgvVW5pU3RkRXh0
cmFzVW5peC5jcHAKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV2luLmNt
YWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21ha2UKaW5kZXggNjhmNzM4OGU3ZjM1
ZGNlOGEzN2VjOGI4ZGNhMmU2Yjg0ZTQ5Y2E1OC4uY2M0M2EyMWM4ZWZmMzZlNDFmMWY5N2FmNmU5
M2E1ZTE4NmY1NjA3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21h
a2UKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21ha2UKQEAgLTE3LDYgKzE3LDcg
QEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICAgICB3aW4vRGJnSGVscGVyV2luLmNwcAogICAg
IHdpbi9GaWxlU3lzdGVtV2luLmNwcAogICAgIHdpbi9MYW5ndWFnZVdpbi5jcHAKKyAgICB3aW4v
TG9nZ2luZ1dpbi5jcHAKICAgICB3aW4vTWFpblRocmVhZFdpbi5jcHAKICAgICB3aW4vTWVtb3J5
Rm9vdHByaW50V2luLmNwcAogICAgIHdpbi9NZW1vcnlQcmVzc3VyZUhhbmRsZXJXaW4uY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwIGIvU291
cmNlL1dURi93dGYvUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcAppbmRleCBkZmEyMDQzZGRkNDVh
ZjU4NTQ4YTQ3NDc3YTJjZjFhMmI4MzAxOGVhLi5hZTE0Mjk5OTMxOGQ2M2QxNDY5MDIyZDZiNTRh
OGJmYzc0ZTM0NzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3VudGVkTGVha0Nv
dW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JlZkNvdW50ZWRMZWFrQ291bnRlci5jcHAK
QEAgLTIxLDYgKzIxLDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZExlYWtDb3VudGVyLmg+CiAKKyNpbmNsdWRlIDx3dGYvTG9nZ2luZy5oPgorCiAjaWZk
ZWYgTkRFQlVHCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtMzksMTcgKzQxLDYgQEAgdm9pZCBSZWZD
b3VudGVkTGVha0NvdW50ZXI6OmRlY3JlbWVudCgpIHsgfQogCiBuYW1lc3BhY2UgV1RGIHsKIAot
I2RlZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVggTG9nCi0jaWYgUkVMRUFTRV9MT0dfRElTQUJMRUQK
LXN0YXRpYyBXVEZMb2dDaGFubmVsIExvZ1JlZkNvdW50ZWRMZWFrcyA9IHsgV1RGTG9nQ2hhbm5l
bFN0YXRlOjpPbiwgIlJlZkNvdW50ZWRMZWFrcyIsIFdURkxvZ0xldmVsOjpFcnJvciB9OwotI2Vu
ZGlmCi0jaWYgVVNFKE9TX0xPRykgJiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi1zdGF0aWMgV1RG
TG9nQ2hhbm5lbCBMb2dSZWZDb3VudGVkTGVha3MgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24s
ICJSZWZDb3VudGVkTGVha3MiLCBXVEZMb2dMZXZlbDo6RXJyb3IsIExPR19DSEFOTkVMX1dFQktJ
VF9TVUJTWVNURU0sIE9TX0xPR19ERUZBVUxUIH07Ci0jZW5kaWYKLSNpZiBVU0UoSk9VUk5BTEQp
ICYmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotc3RhdGljIFdURkxvZ0NoYW5uZWwgTG9nUmVmQ291
bnRlZExlYWtzID0geyBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uLCAiUmVmQ291bnRlZExlYWtzIiwg
V1RGTG9nTGV2ZWw6OkVycm9yLCBMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNIH07Ci0jZW5k
aWYKLQogdHlwZWRlZiBIYXNoQ291bnRlZFNldDxjb25zdCBjaGFyKiwgUHRySGFzaDxjb25zdCBj
aGFyKj4+IFJlYXNvblNldDsKIHN0YXRpYyBSZWFzb25TZXQqIGxlYWtNZXNzYWdlU3VwcHJlc3Np
b25SZWFzb25zOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Mb2dnaW5nQ29j
b2EubW0gYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Mb2dnaW5nQ29jb2EubW0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDBmYzM4MDg1NTFhYzQ3OWNiYTNmZTYzY2M2Yjc1NTViM2VhNDg3ZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL0xvZ2dpbmdDb2NvYS5tbQpAQCAtMCwwICsxLDQ0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0IDx3dGYvTG9nSW5pdGlh
bGl6YXRpb24uaD4KKworI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CisKK25hbWVzcGFjZSBXVEYgeworCitTdHJpbmcgbG9nTGV2ZWxTdHJpbmcoKQoreworI2lmICFM
T0dfRElTQUJMRUQKKyAgICByZXR1cm4gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZh
dWx0c10gc3RyaW5nRm9yS2V5OkAiV1RGTG9nZ2luZyJdOworI2Vsc2UKKyAgICByZXR1cm4gU3Ry
aW5nKCk7CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvTWFjaFNlbmRSaWdodC5jcHAgYi9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcAppbmRleCAyZWIzMDJkMWRkNWE5MjZiMjU1
ODMxNWFkMzcyODhmZTQ5N2VmMmVmLi41NWMxZTUyYThkMDBiOTliYmRiMmVhYmFhNjJiY2VhOWJh
NTQwNjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNw
cAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcApAQCAtMzAsMTYg
KzMwLDEwIEBACiAjaW5jbHVkZSA8bWFjaC9tYWNoX2luaXQuaD4KICNpbmNsdWRlIDx1dGlsaXR5
PgogCi0jZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKKyNpbmNsdWRlIDx3dGYvTG9nZ2lu
Zy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIAotI2lmIFJFTEVBU0VfTE9HX0RJU0FCTEVECi1XVEZM
b2dDaGFubmVsIExvZ1Byb2Nlc3MgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJQcm9jZXNz
IiwgV1RGTG9nTGV2ZWw6OkVycm9yIH07Ci0jZWxzZQotV1RGTG9nQ2hhbm5lbCBMb2dQcm9jZXNz
ID0geyBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uLCAiUHJvY2VzcyIsIFdURkxvZ0xldmVsOjpFcnJv
ciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSwgT1NfTE9HX0RFRkFVTFQgfTsKLSNlbmRp
ZgotCiBzdGF0aWMgdm9pZCByZXRhaW5TZW5kUmlnaHQobWFjaF9wb3J0X3QgcG9ydCkKIHsKICAg
ICBpZiAocG9ydCA9PSBNQUNIX1BPUlRfTlVMTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L2NvY29hL01haW5UaHJlYWRDb2NvYS5tbSBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJl
YWRDb2NvYS5tbQppbmRleCBmZDYzN2Y3ZjQ3MjAxNjBmODMwOWQ1OGY2YjA5NWNmMzIzMWZlZTJk
Li41ODhlZDAwYThiNzMwMDIxNTQ3MzBhNmQzMmUwZmVlODJkNjJkZDY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW0KKysrIGIvU291cmNlL1dURi93
dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0IDxz
dGRpby5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0
ci5oPgorI2ltcG9ydCA8d3RmL0xvZ2dpbmcuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4K
ICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAjaW1wb3J0IDx3dGYvU2NoZWR1bGVQYWlyLmg+CkBA
IC00NCwxNiArNDUsOCBAQAogI2ltcG9ydCA8d3RmL2lvcy9XZWJDb3JlVGhyZWFkLmg+CiAjZW5k
aWYKIAotI2RlZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVggTG9nCi0KIG5hbWVzcGFjZSBXVEYgewog
Ci0jaWYgUkVMRUFTRV9MT0dfRElTQUJMRUQKLVdURkxvZ0NoYW5uZWwgTG9nVGhyZWFkaW5nID0g
eyBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uLCAiVGhyZWFkaW5nIiwgV1RGTG9nTGV2ZWw6OkVycm9y
IH07Ci0jZWxzZQotV1RGTG9nQ2hhbm5lbCBMb2dUaHJlYWRpbmcgPSB7IFdURkxvZ0NoYW5uZWxT
dGF0ZTo6T24sICJUaHJlYWRpbmciLCBXVEZMb2dMZXZlbDo6RXJyb3IsIExPR19DSEFOTkVMX1dF
QktJVF9TVUJTWVNURU0sIE9TX0xPR19ERUZBVUxUIH07Ci0jZW5kaWYKLQogI2lmIFVTRShXRUJf
VEhSRUFEKQogLy8gV2hlbiB0aGUgV2ViIHRocmVhZCBpcyBlbmFibGVkLCB3ZSBjb25zaWRlciBp
dCB0byBiZSB0aGUgbWFpbiB0aHJlYWQsIG5vdCBwdGhyZWFkIG1haW4uCiBzdGF0aWMgcHRocmVh
ZF90IHNfd2ViVGhyZWFkUHRocmVhZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29h
L01lbW9yeVByZXNzdXJlSGFuZGxlckNvY29hLm1tIGIvU291cmNlL1dURi93dGYvY29jb2EvTWVt
b3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0KaW5kZXggYTdiYmRkMzkwYjgwOWNhYjY4ZjExZTc3
NmUzMThmZjk1ZjhiMDhmYy4uOTYyMDVkMGYyODYwZDQyODFjMjcyOWIzNTg3MDYwNmU0M2E1NGE1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVy
Q29jb2EubW0KKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVy
Q29jb2EubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgPG1hY2gvdGFza19pbmZvLmg+CiAj
aW1wb3J0IDxtYWxsb2MvbWFsbG9jLmg+CiAjaW1wb3J0IDxub3RpZnkuaD4KKyNpbXBvcnQgPHd0
Zi9Mb2dnaW5nLmg+CiAjaW1wb3J0IDx3dGYvUmVzb3VyY2VVc2FnZS5oPgogI2ltcG9ydCA8d3Rm
L3NwaS9kYXJ3aW4vRGlzcGF0Y2hTUEkuaD4KIApAQCAtMzcsOCArMzgsNiBAQAogCiBleHRlcm4g
IkMiIHZvaWQgY2FjaGVfc2ltdWxhdGVfbWVtb3J5X3dhcm5pbmdfZXZlbnQodWludDY0X3QpOwog
Ci0jZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKLQogbmFtZXNwYWNlIFdURiB7CiAKIHZv
aWQgTWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpwbGF0Zm9ybVJlbGVhc2VNZW1vcnkoQ3JpdGljYWwg
Y3JpdGljYWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi91bml4L0xvZ2dpbmdVbml4LmNw
cCBiL1NvdXJjZS9XVEYvd3RmL3VuaXgvTG9nZ2luZ1VuaXguY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMDll
NDQyZWE1NTI3NWMwMzk0MTQzMWFhNmU0MTIyN2QyOWMwZjIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV1RGL3d0Zi91bml4L0xvZ2dpbmdVbml4LmNwcApAQCAtMCwwICsxLDUxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA3IEFscCBUb2tlciA8YWxwQGF0b2tlci5jb20+CisgKiBDb3B5
cmlnaHQgKEMpIDIwMDkgR3VzdGF2byBOb3JvbmhhIFNpbHZhIDxnbnNAZ25vbWUub3JnPgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKworI2lmICFMT0dfRElTQUJMRUQg
fHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK1N0cmluZyBsb2dM
ZXZlbFN0cmluZygpCit7CisgICAgY2hhciogbG9nRW52ID0gZ2V0ZW52KCJXRUJLSVRfREVCVUci
KTsKKworICAgIC8vIERpc2FibGUgYWxsIGxvZyBjaGFubmVscyBpZiBXRUJLSVRfREVCVUcgaXMg
dW5zZXQuCisgICAgaWYgKCFsb2dFbnYpCisgICAgICAgIHJldHVybiBtYWtlU3RyaW5nKCItYWxs
Il9zKTsKKworICAgIC8vIFdlIHNldCB1cCB0aGUgbG9ncyBhbnl3YXkgYmVjYXVzZSBzb21lIG9m
IG91ciBsb2dnaW5nLCBzdWNoIGFzIFNvdXAncyBpcyBhdmFpbGFibGUgaW4gcmVsZWFzZSBidWls
ZHMuCisjaWYgZGVmaW5lZChOREVCVUcpICYmIFJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgV1RG
TG9nQWx3YXlzKCJXRUJLSVRfREVCVUcgaXMgbm90IGVtcHR5LCBidXQgdGhpcyBpcyBhIHJlbGVh
c2UgYnVpbGQuIE5vdGljZSB0aGF0IG1hbnkgbG9nIG1lc3NhZ2VzIHdpbGwgb25seSBhcHBlYXIg
aW4gYSBkZWJ1ZyBidWlsZC4iKTsKKyNlbmRpZgorCisgICAgLy8gVG8gZGlzYWJsZSBsb2dnaW5n
IG5vdEltcGxlbWVudGVkIHNldCB0aGUgRElTQUJMRV9OSV9XQVJOSU5HIGVudmlyb25tZW50IHZh
cmlhYmxlIHRvIDEuCisgICAgcmV0dXJuIG1ha2VTdHJpbmcoIk5vdFlldEltcGxlbWVudGVkLCJf
cywgbG9nRW52KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV1RGCisKKyNlbmRpZiAvLyAhTE9HX0RJ
U0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvd2luL0xvZ2dpbmdXaW4uY3BwIGIvU291cmNlL1dURi93dGYvd2luL0xvZ2dpbmdXaW4uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJjMmE3M2UxNDYyOThiNzYwZjc5N2VhZTA3YmU0OWYyZjRiMTE4Y2EKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi93aW4vTG9nZ2luZ1dpbi5jcHAKQEAgLTAs
MCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisKKyNpZiAhTE9HX0RJ
U0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCisjaW5jbHVkZSA8d2luZG93cy5oPgor
I2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK1N0cmluZyBsb2dMZXZlbFN0cmluZygpCit7Cisj
aWYgIUxPR19ESVNBQkxFRAorICAgIHN0YXRpYyBjb25zdGV4cHIgY29uc3QgY2hhciogbG9nZ2lu
Z0Vudmlyb25tZW50VmFyaWFibGUgPSAiV1RGTG9nZ2luZyI7CisgICAgRFdPUkQgbGVuZ3RoID0g
R2V0RW52aXJvbm1lbnRWYXJpYWJsZUEobG9nZ2luZ0Vudmlyb25tZW50VmFyaWFibGUsIDAsIDAp
OworICAgIGlmICghbGVuZ3RoKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAg
IFZlY3RvcjxjaGFyPiBidWZmZXIobGVuZ3RoKTsKKworICAgIGlmICghR2V0RW52aXJvbm1lbnRW
YXJpYWJsZUEobG9nZ2luZ0Vudmlyb25tZW50VmFyaWFibGUsIGJ1ZmZlci5kYXRhKCksIGxlbmd0
aCkpCisgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOworCisgICAgcmV0dXJuIFN0cmluZyhi
dWZmZXIuZGF0YSgpKTsKKyNlbHNlCisgICAgcmV0dXJuIFN0cmluZygpOworI2VuZGlmCit9CisK
K30gLy8gbmFtZXNwYWNlIFdURgorCisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQ
cm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRl
eCBlZDdmMjllNmUwODA2Mjc4NTI4OWU0MTAwM2U2ODEzZmY5OGE1YTljLi5jZjI4ZDExZmUxMWFm
OTYwOTI0ZDk2NWNlMTYxODJiNWZkNTE4YWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1l
RW5hYmxlZEZlYXR1cmVzLmg+CiAjaW5jbHVkZSA8d3RmL0FsZ29yaXRobXMuaD4KICNpbmNsdWRl
IDx3dGYvQ2FsbGJhY2tBZ2dyZWdhdG9yLmg+CisjaW5jbHVkZSA8d3RmL0xvZ0luaXRpYWxpemF0
aW9uLmg+CiAjaW5jbHVkZSA8d3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgogI2luY2x1ZGUg
PHd0Zi9PcHRpb25TZXQuaD4KICNpbmNsdWRlIDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgpAQCAt
MjQzLDYgKzI0NCw3IEBAIHZvaWQgR1BVUHJvY2Vzczo6aW5pdGlhbGl6ZUdQVVByb2Nlc3MoR1BV
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAjZW5kaWYKIAogI2lmICFM
T0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgV1RGOjpsb2dDaGFubmVs
cygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud3RmTG9nZ2lu
Z0NoYW5uZWxzKTsKICAgICBXZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFu
bmVsc0lmTmVjZXNzYXJ5KHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyk7CiAgICAg
V2ViS2l0Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KHBh
cmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
CmluZGV4IGRmNGJhMjBkYTI1ZDUwYmQ2ZjI3NTU2MDAxMTIzOWQ0NmU2ZDRjZWUuLmU4Yzk5MTNk
MzViOTE0YjEyMzlhNjczYTZiNDYzYTg2OTlhM2E4YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAg
LTU5LDYgKzU5LDcgQEAgdm9pZCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUo
SVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgZHluYW1pY01hY2hF
eHRlbnNpb25IYW5kbGVzOwogI2VuZGlmCiAKKyAgICBlbmNvZGVyIDw8IHd0ZkxvZ2dpbmdDaGFu
bmVsczsKICAgICBlbmNvZGVyIDw8IHdlYkNvcmVMb2dnaW5nQ2hhbm5lbHM7CiAgICAgZW5jb2Rl
ciA8PCB3ZWJLaXRMb2dnaW5nQ2hhbm5lbHM7CiB9CkBAIC0xMDksNiArMTEwLDggQEAgYm9vbCBH
UFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVy
LCBHUFVQcm9jZXNzQ3JlYXQKICAgICByZXN1bHQuZHluYW1pY01hY2hFeHRlbnNpb25IYW5kbGVz
ID0gV1RGTW92ZSgqZHluYW1pY01hY2hFeHRlbnNpb25IYW5kbGVzKTsKICNlbmRpZgogCisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQud3RmTG9nZ2luZ0NoYW5uZWxzKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LndlYkNvcmVMb2dn
aW5nQ2hhbm5lbHMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShyZXN1bHQud2ViS2l0TG9nZ2luZ0NoYW5uZWxzKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDYz
NDY3MzEyNzJiZDA3MjkwYTZlOGJjZGI0YjQwZmY0ZWRmNjEwMmUuLmQ0YTliMmI3NTU3ODM5ODNi
YWQ1NzMxZmU2YTUyNjg2ZDIxYzM3YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtNTcsNiArNTcsNyBA
QCBzdHJ1Y3QgR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU2FuZGJveEV4dGVu
c2lvbjo6SGFuZGxlQXJyYXkgZHluYW1pY01hY2hFeHRlbnNpb25IYW5kbGVzOwogI2VuZGlmCiAK
KyAgICBTdHJpbmcgd3RmTG9nZ2luZ0NoYW5uZWxzOwogICAgIFN0cmluZyB3ZWJDb3JlTG9nZ2lu
Z0NoYW5uZWxzOwogICAgIFN0cmluZyB3ZWJLaXRMb2dnaW5nQ2hhbm5lbHM7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKaW5kZXggMDk1Y2Y0NTkxNDYyMWMxODgz
MmJhYTk1NjY3NWYzYjBkODFkNzJjZC4uN2E1OTc2NjFlMmY5OWZlY2ZjMTZkZjI5NzQyNDQxMmRk
NzFjNjY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKQEAg
LTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJXZWJQYWdlUHJveHlJZGVudGlmaWVyLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9Mb2dJbml0aWFsaXphdGlvbi5oPgogI2luY2x1ZGUgPHBhbC9TZXNzaW9u
SUQuaD4KKyNpbmNsdWRlIDx3dGYvTG9nSW5pdGlhbGl6YXRpb24uaD4KIAogI2lmICFPUyhXSU5E
T1dTKQogI2luY2x1ZGUgPHVuaXN0ZC5oPgpAQCAtODIsNiArODMsNyBAQCB2b2lkIEF1eGlsaWFy
eVByb2Nlc3M6OmluaXRpYWxpemUoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9u
UGFyYW1ldGVycwogICAgIGluaXRpYWxpemVTYW5kYm94KHBhcmFtZXRlcnMsIHNhbmRib3hQYXJh
bWV0ZXJzKTsKIAogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgV1RGOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7
CiAgICAgV2ViQ29yZTo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vz
c2FyeSgpOwogICAgIFdlYktpdDo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJ
Zk5lY2Vzc2FyeSgpOwogI2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAKaW5kZXgg
MjMzYjMwZjIyYWQ2NDE2YTBhM2UwNDdiZGQ5ZWUzOWYzNTFiNzNmMC4uY2IyYmQ0YTJkMWQyNTVl
ZGRkMmQ2MmYyNDJlNDdjMGE3OThmYTVhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYktp
dDJJbml0aWFsaXplLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0luaXRpYWxpemVUaHJlYWRpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xvZ0luaXRpYWxp
emF0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJDb3JlSklUT3BlcmF0aW9ucy5oPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5o
PgpAQCAtNDcsNiArNDgsNyBAQCB2b2lkIEluaXRpYWxpemVXZWJLaXQyKCkKICAgICBXVEY6OlJl
ZkNvdW50ZWRCYXNlOjplbmFibGVUaHJlYWRpbmdDaGVja3NHbG9iYWxseSgpOwogCiAjaWYgIUxP
R19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBXVEY6OmxvZ0NoYW5uZWxz
KCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICBXZWJDb3JlOjpsb2dD
aGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgV2ViS2l0
Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAjZW5k
aWYgLy8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5k
ZXggNzc2ZmIwYmU2OTljZjc0Y2FlYTZhNjgyNGYzOTRlODRiYThlODYxNi4uYmZmYmM0OTFlYzk1
YzVlMDgwYWJlMjU2MTA2M2Q0MTBjMjVkODA2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTU5LDYgKzU5LDcg
QEAgdm9pZCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoSVBDOjpFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBFTkFCTEUoUkVNT1RFX0lO
U1BFQ1RPUikKICAgICBlbmNvZGVyIDw8IGVuYWJsZVJlbW90ZVdlYkluc3BlY3RvckV4dGVuc2lv
bkhhbmRsZTsKICNlbmRpZgorICAgIGVuY29kZXIgPDwgd3RmTG9nZ2luZ0NoYW5uZWxzOwogICAg
IGVuY29kZXIgPDwgd2ViQ29yZUxvZ2dpbmdDaGFubmVsczsKICAgICBlbmNvZGVyIDw8IHdlYktp
dExvZ2dpbmdDaGFubmVsczsKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpAQCAtMjYyLDYgKzI2
Myw4IEBAIGJvb2wgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2RlKElQQzo6RGVj
b2RlciYgZGVjb2RlciwgV2ViUHJvY2Vzc0NyZWF0CiAgICAgcGFyYW1ldGVycy5lbmFibGVSZW1v
dGVXZWJJbnNwZWN0b3JFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKCplbmFibGVSZW1vdGVXZWJJ
bnNwZWN0b3JFeHRlbnNpb25IYW5kbGUpOwogI2VuZGlmCiAKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHBhcmFtZXRlcnMud3RmTG9nZ2luZ0NoYW5uZWxzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5u
ZWxzKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFy
YW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDA2MGQ0ZjE5MzMxYTU3
OWM0YTZkNmEyNmY0NzUyOGJlZjYzZjBiODguLmYxMzFmOWM4MGNlZWU2ZTgxZDkxZTUyMjVkNTRk
Y2ZiMjIwMjI1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTk0LDYgKzk0LDcgQEAgc3RydWN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMgewogICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBhdWRpb0Nh
cHR1cmVFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKIAorICAgIFN0cmluZyB3dGZMb2dnaW5nQ2hh
bm5lbHM7CiAgICAgU3RyaW5nIHdlYkNvcmVMb2dnaW5nQ2hhbm5lbHM7CiAgICAgU3RyaW5nIHdl
YktpdExvZ2dpbmdDaGFubmVsczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvR1BVUHJvY2Vzc1Byb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9HUFVQcm9jZXNzUHJveHlDb2NvYS5tbQppbmRleCAyOGNjODk0NzhkOGFmMDQ1Njdi
NWIzYWYxMTQ3YjUzZDU4NGFlZTJhLi40MzEyZDFiMDBjOWIyOGU5ZmY5MTYzMTQ2YWUxMTZmMzMw
MmE0OGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQcm9j
ZXNzUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQ
cm9jZXNzUHJveHlDb2NvYS5tbQpAQCAtMzUsNiArMzUsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFyYW1l
dGVycyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogI2lmICFM
T0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgcGFyYW1ldGVycy53dGZM
b2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBz
dHJpbmdGb3JLZXk6QCJXVEZMb2dnaW5nIl07CiAgICAgcGFyYW1ldGVycy53ZWJDb3JlTG9nZ2lu
Z0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5n
Rm9yS2V5OkAiV2ViQ29yZUxvZ2dpbmciXTsKICAgICBwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdD
aGFubmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0Zv
cktleTpAIldlYktpdDJMb2dnaW5nIl07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDJlNmI0YzEzNzYx
OTJhYTYxMDljNGE5MThmMzQzZjQ0MzNhMmIxYzMuLjI4NWIwZmZmMzE5OTRkMzdlNzFjODVkYzk1
OTNlYmY0MDhiYjExMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtMzg4LDYgKzM4OCw3IEBAIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJvY2Vzc1By
b3h5JiBwcm9jZXNzCiAjZW5kaWYKIAogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECisgICAgcGFyYW1ldGVycy53dGZMb2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJXVEZMb2dnaW5nIl07
CiAgICAgcGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0
cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV2ViQ29yZUxvZ2dpbmciXTsK
ICAgICBwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscyA9IFtbTlNVc2VyRGVmYXVsdHMg
c3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0ZvcktleTpAIldlYktpdDJMb2dnaW5nIl07CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5j
cHAKaW5kZXggNDRmOWE3ZTc5ZTRiMTljYjBmMzEyYTE4MDA5NzIzZjBjNWQ4MTdmMS4uZTdhYTU4
YjJmYzVmYTJkNmMxMjM5YmI4YmNlNTIyZjAwMDUzZjk4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbmNsdWRlIDx3dGYvQ29t
cGxldGlvbkhhbmRsZXIuaD4KKyNpbmNsdWRlIDx3dGYvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNp
bmNsdWRlIDx3dGYvVHJhbnNsYXRlZFByb2Nlc3MuaD4KIAogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCkBAIC02MDcsNiArNjA4LDcgQEAgdm9pZCBHUFVQcm9jZXNzUHJveHk6OmRpZEJlY29tZVVu
cmVzcG9uc2l2ZSgpCiB2b2lkIEdQVVByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXplR1BV
UHJvY2Vzc1BhcmFtZXRlcnMoR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVy
cykKIHsKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIHBh
cmFtZXRlcnMud3RmTG9nZ2luZ0NoYW5uZWxzID0gV1RGOjpsb2dMZXZlbFN0cmluZygpOwogICAg
IHBhcmFtZXRlcnMud2ViQ29yZUxvZ2dpbmdDaGFubmVscyA9IFdlYkNvcmU6OmxvZ0xldmVsU3Ry
aW5nKCk7CiAgICAgcGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMgPSBXZWJLaXQ6Omxv
Z0xldmVsU3RyaW5nKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcAppbmRleCA4MzZiMDQwM2RhNTdiMzc0MWQxMWIyNmVhODNjMzc1ZGU1Zjk4ZmQy
Li41ZmU5MjlkYWNiNDFkZTUyNDA1YTM0YjlmYjIzODY4Njc0YmFjNjdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC05Niw2ICs5Niw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbmNsdWRlIDxwYWwv
U2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL0NhbGxiYWNrQWdncmVnYXRvci5oPgorI2luY2x1
ZGUgPHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1Byb2Nlc3NQ
cml2aWxlZ2UuaD4KQEAgLTI1MSw2ICsyNTIsNyBAQCBXZWJQcm9jZXNzUG9vbDo6V2ViUHJvY2Vz
c1Bvb2woQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiAgICAg
cmVzb2x2ZVBhdGhzRm9yU2FuZGJveEV4dGVuc2lvbnMoKTsKIAogI2lmICFMT0dfRElTQUJMRUQg
fHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgV1RGOjpsb2dDaGFubmVscygpLmluaXRpYWxp
emVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgV2ViQ29yZTo6bG9nQ2hhbm5lbHMoKS5p
bml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogICAgIFdlYktpdDo6bG9nQ2hhbm5l
bHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogI2VuZGlmIC8vICFMT0df
RElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRleCBlNGVjMDYzYjcwZWU3YzYw
ZjcxOTY0M2YxN2VkNGE3NTkzYWE3ZTMxLi5kZmRiZWMyNTdiNjVjMmJiNTAwOGNjOWFlYTE4NWNk
OGE0NjhmMmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2Vi
UHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
cm9jZXNzQ29jb2EubW0KQEAgLTEwMSw2ICsxMDEsNyBAQAogI2ltcG9ydCA8c3RkaW8uaD4KICNp
bXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KKyNpbXBv
cnQgPHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5oPgogI2ltcG9ydCA8d3RmL1Byb2Nlc3NQcml2aWxl
Z2UuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8d3RmL2NvY29hL0Vu
dGl0bGVtZW50cy5oPgpAQCAtMjgxLDYgKzI4Miw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZv
cm1Jbml0aWFsaXplV2ViUHJvY2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJh
CiAgICAgfQogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICBXVEY6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFy
YW1ldGVycy53dGZMb2dnaW5nQ2hhbm5lbHMpOwogICAgIFdlYkNvcmU6OmxvZ0NoYW5uZWxzKCku
aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53ZWJDb3JlTG9nZ2lu
Z0NoYW5uZWxzKTsKICAgICBXZWJLaXQ6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5u
ZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYTNlMTZi
ODg4NGIyZWE3MzU1NWVlNzZlYzRjYzg4MGQ0YmRlMWZhMi4uOTc2YTNkZWI1Nzc5ZDhiMjY1NTVl
Y2MyZmYyNDZkMzRiNDExY2M2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQpAQCAtMjUyLDYgKzI1Miw3IEBACiAjaW1wb3J0IDx3dGYvRmlsZVN5c3RlbS5o
PgogI2ltcG9ydCA8d3RmL0hhc2hUcmFpdHMuaD4KICNpbXBvcnQgPHd0Zi9MYW5ndWFnZS5oPgor
I2ltcG9ydCA8d3RmL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVh
ZC5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9Qcm9jZXNzUHJp
dmlsZWdlLmg+CkBAIC0xNDgxLDYgKzE0ODIsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXph
dGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAog
I2VuZGlmCiAgICAgaWYgKCFkaWRPbmVUaW1lSW5pdGlhbGl6YXRpb24pIHsKICNpZiAhTE9HX0RJ
U0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICAgICBXVEY6OmxvZ0NoYW5uZWxz
KCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICAgICAgV2ViQ29yZTo6
bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwogICAgICAg
ICBXZWJLaXQ6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nhcnko
KTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435123</attachid>
            <date>2021-08-07 02:24:42 -0700</date>
            <delta_ts>2021-08-08 19:28:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228768-20210807022442.patch</filename>
            <type>text/plain</type>
            <size>48991</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQwOTllY2QzYmNlZjkzYjE3N2RmYTM4
ZGFmMTYzODA5NzUyMmUzYjMuLmQ5MjQ0Mjg5MTRiYWMzMWZjMWM1OGU0MWFkYTVjMjE0ZWNkNDQ4
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMjEtMDgtMDcgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IFdURiBsb2dnaW5nIGNoYW5u
ZWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg3
NjgKKworICAgICAgICBUaGlzIHBhdGNoIGJ1aWxkcyBvbiB0b3Agb2YgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODgwOSwgd2hpY2ggYWRkZWQgc2hhcmVkIGluZnJh
c3RydWN0dXJlCisgICAgICAgIGZvciBsb2dnaW5nLiBUaGlzIHBhdGNoIHNpbXBseSB0cmlnZ2Vy
cyB0aGF0IHNoYXJlZCBpbmZyYXN0cnVjdHVyZSBmb3IgV1RGLiBUaGVyZSBpcyBubyBjaGFuZ2Ug
aW4gYmVoYXZpb3IgLQorICAgICAgICB0aGUgZXhpc3RpbmcgV1RGIGxvZ2dpbmcgY2hhbm5lbHMg
Y3VycmVudGx5IGFyZSBhbGwgaW1wbGVtZW50ZWQgaW5kZXBlbmRlbnRseSBpbiBjdXN0b20gd2F5
cywgc28gdGhpcyBwYXRjaAorICAgICAgICBqdXN0IG1pZ3JhdGVzIHRoZW0gb3ZlciB0byB1c2Ug
dGhlIHNoYXJlZCBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV1RG
Ojpsb2dDaGFubmVscyk6CisgICAgICAgICogd3RmL0xvZ0luaXRpYWxpemF0aW9uLmg6IEFkZGVk
LgorICAgICAgICAqIHd0Zi9Mb2dnaW5nLmNwcDogQWRkZWQuCisgICAgICAgICogd3RmL0xvZ2dp
bmcuaDogQWRkZWQuCisgICAgICAgICogd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHA6Cisg
ICAgICAgIChXVEY6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKToKKyAgICAgICAg
KiB3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtRlRX
LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1KU0NPbmx5LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybU1hYy5jbWFrZToK
KyAgICAgICAgKiB3dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZToKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1XUEUuY21ha2U6CisgICAgICAgICogd3RmL1BsYXRmb3JtV2luLmNtYWtlOgorICAg
ICAgICAqIHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwOgorICAgICAgICAqIHd0Zi9jb2Nv
YS9Mb2dnaW5nQ29jb2EubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tLgorICAgICAgICAoV1RGOjpsb2dMZXZlbFN0cmlu
Zyk6CisgICAgICAgICogd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3BwOgorICAgICAgICAqIHd0
Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW06CisgICAgICAgICogd3RmL2NvY29hL01lbW9yeVBy
ZXNzdXJlSGFuZGxlckNvY29hLm1tOgorICAgICAgICAqIHd0Zi91bml4L0xvZ2dpbmdVbml4LmNw
cDogQWRkZWQuCisgICAgICAgIChXVEY6OmxvZ0xldmVsU3RyaW5nKToKKyAgICAgICAgKiB3dGYv
d2luL0xvZ2dpbmdXaW4uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdURjo6bG9nTGV2ZWxTdHJpbmcp
OgorCiAyMDIxLTA4LTA3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKICAgICAgICAgRGVkdXBsaWNhdGUgbG9nZ2luZyBjaGFubmVsIGFsZ29yaXRobXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggOGZhNTcxMDEzZmZjNmMxMzE1ZWY1MjM5OWFkMjQ1MmRhMDU4NDhlNi4uMTA4OGY3YWE5
YjVkMWY1M2JlZGNmMWIwZGFhOTk0ZDE1ZjQ4Y2U5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBA
QAorMjAyMS0wOC0wNyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgor
CisgICAgICAgIFN1cHBvcnQgV1RGIGxvZ2dpbmcgY2hhbm5lbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODc2OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJl
IGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9jZXNz
KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUg
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpk
ZWNvZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6QXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogU2hhcmVkL1dl
YktpdDJJbml0aWFsaXplLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5pdGlhbGl6ZVdlYktpdDIp
OgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2Rl
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFy
YW1ldGVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVX
ZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXplR1BV
UHJvY2Vzc1BhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
CiAyMDIxLTA4LTA3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAK
ICAgICAgICAgRGVkdXBsaWNhdGUgbG9nZ2luZyBjaGFubmVsIGFsZ29yaXRobXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0NoYW5nZUxvZwppbmRleCAzMzYwYWZiYjM5M2IxZWMxOGI3ZmMxNjJkYjVjNDQ1OGQ3
ZGQ4NjhiLi5mYTQzZDExNGVkNTFhMjg2NWQ0MWUzYWQ5YzEyMGVhMWY1NmUxNTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMDcgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IFdU
RiBsb2dnaW5nIGNoYW5uZWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjg3NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29t
bW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAyMS0wOC0w
NyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIERl
ZHVwbGljYXRlIGxvZ2dpbmcgY2hhbm5lbCBhbGdvcml0aG1zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkZjMyY2ZkZmIyYjYyZWM5NzNmMDJmMDQ5YTBkNmQ4
NzZlYTFhMTE1Li42MDI1NTliZGY0MzI0ZDNhZWE4ZGQxMjEyNDdjOTc2MmMwN2FhYjk0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYwLDYgKzYwLDkgQEAK
IAkJMUMxODFDOTMxRDMwN0FCODAwRjVGQTE2IC8qIFVUZXh0UHJvdmlkZXJVVEYxNi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM4RDFEMzA3
QUI4MDBGNUZBMTYgLyogVVRleHRQcm92aWRlclVURjE2LmNwcCAqLzsgfTsKIAkJMUMxODFDOTYx
RDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzE4MUM5NTFE
MzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVUNvY29hLmNwcCAq
LzsgfTsKIAkJMUM1MDNCRTYyM0FBRTBBRTAwNzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzUwM0JFNTIzQUFF
MEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLzsgfTsKKwkJMUM5NjgzNjQyNkJFNzRE
RjAwQTJBMkY5IC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOTY4MzYyMjZCRTc0REYwMEEyQTJGOSAvKiBMb2dJ
bml0aWFsaXphdGlvbi5jcHAgKi87IH07CisJCTFDOTY4MzY3MjZCRTc1NDYwMEEyQTJGOSAvKiBM
b2dnaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFDOTY4MzY1MjZCRTc1NDYwMEEyQTJGOSAvKiBMb2dnaW5nLmNwcCAqLzsgfTsKKwkJMUM5Njgz
NjkyNkJFNzZCNjAwQTJBMkY5IC8qIExvZ2dpbmdDb2NvYS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOTY4MzY4MjZCRTc2QjYwMEEyQTJGOSAvKiBM
b2dnaW5nQ29jb2EubW0gKi87IH07CiAJCTFDQTg1Q0E5MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50
aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0E4NUNBODI0MUIwQjI2MDA3MUMyRjUgLyogUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwICovOyB9OwogCQkxQ0YxOEYzQjI2QkI1NzlFMDA0QjE3
MjIgLyogTG9nQ2hhbm5lbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNGMThGMzkyNkJCNTc5RTAwNEIxNzIyIC8qIExvZ0NoYW5uZWxzLmNwcCAq
LzsgfTsKIAkJMUZBNDdDOEExNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZBNDdDODgxNTI1
MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwICovOyB9OwpAQCAtMzQ3LDYgKzM1MCwx
MSBAQAogCQkxQzE4MUM5NTFEMzA4MDBBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3JJbnRl
cm5hbElDVUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRl
eHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDNTAzQkU0MjNBQURFRUEwMDcyRTY2QiAvKiBOU0xvY2FsZVNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOU0xvY2FsZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QzUwM0JFNTIzQUFFMEFFMDA3MkU2NkIgLyogTGFuZ3VhZ2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IExhbmd1YWdlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTFDOTY4MzYyMjZCRTc0REYwMEEyQTJGOSAvKiBMb2dJbml0aWFsaXphdGlvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTFDOTY4MzYzMjZCRTc0REYwMEEyQTJGOSAvKiBMb2dJbml0aWFsaXphdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMb2dJbml0aWFsaXphdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkxQzk2ODM2NTI2QkU3NTQ2MDBBMkEyRjkgLyogTG9nZ2luZy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMb2dnaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MUM5NjgzNjYyNkJFNzU0NjAwQTJBMkY5IC8qIExvZ2dpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9n
Z2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkxQzk2ODM2ODI2QkU3NkI2MDBB
MkEyRjkgLyogTG9nZ2luZ0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9nZ2luZ0Nv
Y29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0E4NUNBNzI0MUIwQjExMDA3
MUMyRjUgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUNBODVDQTgyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
c0NvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0Nv
Y29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNDREIxNDkxRTU2NjYyNjAw
NkM3M0MwIC8qIFRleHRCcmVha0l0ZXJhdG9yQ0YuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gVGV4dEJyZWFrSXRlcmF0b3JDRi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTEzMCwxMSArMTEzOCwxNSBAQAogCQkJCTkzQjVCNDUwMjIxNzFFRTkwMDRCN0FBNyAv
KiBMb2dnZXIuY3BwICovLAogCQkJCTA3N0NEODZBMUZEOUNGRDIwMDgyODU4NyAvKiBMb2dnZXIu
aCAqLywKIAkJCQkwNzdDRDg2QjFGRDlDRkQzMDA4Mjg1ODcgLyogTG9nZ2VySGVscGVyLmggKi8s
CisJCQkJMUM5NjgzNjUyNkJFNzU0NjAwQTJBMkY5IC8qIExvZ2dpbmcuY3BwICovLAorCQkJCTFD
OTY4MzY2MjZCRTc1NDYwMEEyQTJGOSAvKiBMb2dnaW5nLmggKi8sCiAJCQkJNTEzRTE3MEExQ0Q3
RDVCRjAwRTM2NTBCIC8qIExvZ2dpbmdBY2N1bXVsYXRvci5oICovLAogCQkJCTBGMzBCQThDMUU3
ODcwOEUwMDJDQTg0NyAvKiBMb2dnaW5nSGFzaElELmggKi8sCiAJCQkJMEYzMEJBOEQxRTc4NzA4
RTAwMkNBODQ3IC8qIExvZ2dpbmdIYXNoTWFwLmggKi8sCiAJCQkJMEYzMEJBOEUxRTc4NzA4RTAw
MkNBODQ3IC8qIExvZ2dpbmdIYXNoU2V0LmggKi8sCiAJCQkJMEYzMEJBOEYxRTc4NzA4RTAwMkNB
ODQ3IC8qIExvZ2dpbmdIYXNoVHJhaXRzLmggKi8sCisJCQkJMUM5NjgzNjIyNkJFNzRERjAwQTJB
MkY5IC8qIExvZ0luaXRpYWxpemF0aW9uLmNwcCAqLywKKwkJCQkxQzk2ODM2MzI2QkU3NERGMDBB
MkEyRjkgLyogTG9nSW5pdGlhbGl6YXRpb24uaCAqLywKIAkJCQk3QTZFQkEzMjIwNzQ2QzMzMDA0
RjlDNDQgLyogTWFjaFNlbmRSaWdodC5oICovLAogCQkJCUE4QTQ3MkM2MTUxQTgyNUEwMDQxMjNG
RiAvKiBNYWluVGhyZWFkLmNwcCAqLywKIAkJCQlBOEE0NzJDNzE1MUE4MjVCMDA0MTIzRkYgLyog
TWFpblRocmVhZC5oICovLApAQCAtMTU4NSw2ICsxNTk3LDcgQEAKIAkJCQkxNDNEREU5NTIwQzhC
QzM3MDA3Rjc2RkEgLyogRW50aXRsZW1lbnRzLm1tICovLAogCQkJCUEzMzFEOTVFMjFGMjQ5RjYw
MDlGMDJBQSAvKiBGaWxlU3lzdGVtQ29jb2EubW0gKi8sCiAJCQkJMUM1MDNCRTUyM0FBRTBBRTAw
NzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gKi8sCisJCQkJMUM5NjgzNjgyNkJFNzZCNjAwQTJB
MkY5IC8qIExvZ2dpbmdDb2NvYS5tbSAqLywKIAkJCQk3QTZFQkEzMzIwNzQ2QzM0MDA0RjlDNDQg
LyogTWFjaFNlbmRSaWdodC5jcHAgKi8sCiAJCQkJQThBNDcyQzUxNTFBODI1QTAwNDEyM0ZGIC8q
IE1haW5UaHJlYWRDb2NvYS5tbSAqLywKIAkJCQlBREYyQ0U2NTFFMzlGMTA2MDA2ODg5REIgLyog
TWVtb3J5Rm9vdHByaW50Q29jb2EuY3BwICovLApAQCAtMTc0NSw2ICsxNzU4LDkgQEAKIAkJCQkw
RjYwRjMyRjFERkNCRDFCMDA0MTZENkMgLyogTG9ja2VkUHJpbnRTdHJlYW0uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMUNGMThGM0IyNkJCNTc5RTAwNEIxNzIyIC8qIExvZ0NoYW5uZWxzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzQjVCNDUxMjIxNzFFRUEwMDRCN0FBNyAvKiBMb2dnZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMUM5NjgzNjcyNkJFNzU0NjAwQTJBMkY5IC8qIExvZ2dpbmcu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMUM5NjgzNjkyNkJFNzZCNjAwQTJBMkY5IC8qIExvZ2dp
bmdDb2NvYS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTFDOTY4MzY0MjZCRTc0REYwMEEyQTJGOSAv
KiBMb2dJbml0aWFsaXphdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MzUzNEYyQTFFQzBF
MTBFMDAxNDFCMkYgLyogTWFjaEV4Y2VwdGlvbnMuZGVmcyBpbiBTb3VyY2VzICovLAogCQkJCTdB
NkVCQTM0MjA3NDZDMzQwMDRGOUM0NCAvKiBNYWNoU2VuZFJpZ2h0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4QTQ3M0U1MTUxQTgyNUIwMDQxMjNGRiAvKiBNYWluVGhyZWFkLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQXNzZXJ0aW9ucy5oIGIvU291cmNl
L1dURi93dGYvQXNzZXJ0aW9ucy5oCmluZGV4IDI3N2MyMmJjZmU2MmFlMGI2ZmVjYTg5YThiMTc1
MTgyYTYwNGVhYzQuLjZiMmYwZmI4NDE0NzJiY2I5NzFlMTY1MjgyNjQyZmM3OGRlYjk0MzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9Bc3NlcnRpb25zLmgKQEAgLTE4NywxOSArMTg3LDI1IEBAIHR5cGVkZWYgc3RydWN0IHsKIAog
I2lmICFkZWZpbmVkKERFRklORV9MT0dfQ0hBTk5FTCkKICNpZiBSRUxFQVNFX0xPR19ESVNBQkxF
RAotI2RlZmluZSBERUZJTkVfTE9HX0NIQU5ORUwobmFtZSwgc3Vic3lzdGVtKSBcCi0gICAgV1RG
TG9nQ2hhbm5lbCBMT0dfQ0hBTk5FTChuYW1lKSA9IHsgKFdURkxvZ0NoYW5uZWxTdGF0ZSkwLCAj
bmFtZSwgKFdURkxvZ0xldmVsKTEgfTsKKyNkZWZpbmUgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhf
REVUQUlMUyhuYW1lLCBpbml0aWFsU3RhdGUsIGxldmVsLCBzdWJzeXN0ZW0pIFwKKyAgICBXVEZM
b2dDaGFubmVsIExPR19DSEFOTkVMKG5hbWUpID0geyBpbml0aWFsU3RhdGUsICNuYW1lLCBsZXZl
bCB9OwogI2VuZGlmCiAjaWYgVVNFKE9TX0xPRykgJiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0j
ZGVmaW5lIERFRklORV9MT0dfQ0hBTk5FTChuYW1lLCBzdWJzeXN0ZW0pIFwKLSAgICBXVEZMb2dD
aGFubmVsIExPR19DSEFOTkVMKG5hbWUpID0geyAoV1RGTG9nQ2hhbm5lbFN0YXRlKTAsICNuYW1l
LCAoV1RGTG9nTGV2ZWwpMSwgc3Vic3lzdGVtLCBPU19MT0dfREVGQVVMVCB9OworI2RlZmluZSBE
RUZJTkVfTE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxTKG5hbWUsIGluaXRpYWxTdGF0ZSwgbGV2ZWws
IHN1YnN5c3RlbSkgXAorICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NIQU5ORUwobmFtZSkgPSB7IGlu
aXRpYWxTdGF0ZSwgI25hbWUsIGxldmVsLCBzdWJzeXN0ZW0sIE9TX0xPR19ERUZBVUxUIH07CiAj
ZW5kaWYKICNpZiBVU0UoSk9VUk5BTEQpICYmICFSRUxFQVNFX0xPR19ESVNBQkxFRAotI2RlZmlu
ZSBERUZJTkVfTE9HX0NIQU5ORUwobmFtZSwgc3Vic3lzdGVtKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NIQU5ORUwobmFtZSkgPSB7IChXVEZM
b2dDaGFubmVsU3RhdGUpMCwgI25hbWUsIChXVEZMb2dMZXZlbCkxLCBzdWJzeXN0ZW0gfTsKKyNk
ZWZpbmUgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhuYW1lLCBpbml0aWFsU3RhdGUs
IGxldmVsLCBzdWJzeXN0ZW0pIFwKKyAgICBXVEZMb2dDaGFubmVsIExPR19DSEFOTkVMKG5hbWUp
ID0geyBpbml0aWFsU3RhdGUsICNuYW1lLCBsZXZlbCwgc3Vic3lzdGVtIH07CiAjZW5kaWYKICNl
bmRpZgogCisvLyBUaGlzIGZpbGUgaXMgaW5jbHVkZWQgZnJvbSBDIChub3QgQysrKSBmaWxlcywg
c28gd2UgY2FuJ3Qgc2F5IHRoaW5ncyBsaWtlIFdURkxvZ0NoYW5uZWxTdGF0ZTo6T2ZmLgorc3Rh
dGljIGNvbnN0IFdURkxvZ0NoYW5uZWxTdGF0ZSBsb2dDaGFubmVsU3RhdGVPZmYgPSAoV1RGTG9n
Q2hhbm5lbFN0YXRlKTA7CitzdGF0aWMgY29uc3QgV1RGTG9nQ2hhbm5lbFN0YXRlIGxvZ0NoYW5u
ZWxTdGF0ZU9uID0gKFdURkxvZ0NoYW5uZWxTdGF0ZSkxOworc3RhdGljIGNvbnN0IFdURkxvZ0xl
dmVsIGxvZ0xldmVsRXJyb3IgPSAoV1RGTG9nTGV2ZWwpMTsKKyNkZWZpbmUgREVGSU5FX0xPR19D
SEFOTkVMKG5hbWUsIHN1YnN5c3RlbSkgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhu
YW1lLCBsb2dDaGFubmVsU3RhdGVPZmYsIGxvZ0xldmVsRXJyb3IsIHN1YnN5c3RlbSk7CisKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydE5vdEltcGxlbWVudGVkWWV0KGNvbnN0IGNo
YXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbik7CiBXVEZfRVhQT1JUX1BS
SVZBVEUgdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlKGNvbnN0IGNoYXIqIGZpbGUsIGlu
dCBsaW5lLCBjb25zdCBjaGFyKiBmdW5jdGlvbiwgY29uc3QgY2hhciogYXNzZXJ0aW9uKTsKIFdU
Rl9FWFBPUlRfUFJJVkFURSB2b2lkIFdURlJlcG9ydEFzc2VydGlvbkZhaWx1cmVXaXRoTWVzc2Fn
ZShjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0
IGNoYXIqIGFzc2VydGlvbiwgY29uc3QgY2hhciogZm9ybWF0LCAuLi4pIFdURl9BVFRSSUJVVEVf
UFJJTlRGKDUsIDYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAppbmRleCA1MWFmMGFhMDE1YzYxMmViZmI2
OWIzOWNlYjY2NDIzMTQ2YTVlZTFlLi5hZjhkMjkwNDY0ZmNhZjU5NWMwYTQ2NmEwZmM4NWJlMjlk
NGI0YmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dApAQCAtMTI0LDggKzEyNCwxMCBAQCBzZXQoV1RG
X1BVQkxJQ19IRUFERVJTCiAgICAgTG9ja2VyLmgKICAgICBMb2NrbGVzc0JhZy5oCiAgICAgTG9n
Q2hhbm5lbHMuaAorICAgIExvZ0luaXRpYWxpemF0aW9uLmgKICAgICBMb2dnZXIuaAogICAgIExv
Z2dlckhlbHBlci5oCisgICAgTG9nZ2luZy5oCiAgICAgTG9nZ2luZ0FjY3VtdWxhdG9yLmgKICAg
ICBMb2dnaW5nSGFzaElELmgKICAgICBMb2dnaW5nSGFzaE1hcC5oCkBAIC00MjQsNyArNDI2LDkg
QEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgTG9jay5jcHAKICAgICBMb2NrZWRQcmludFN0cmVhbS5j
cHAKICAgICBMb2dDaGFubmVscy5jcHAKKyAgICBMb2dJbml0aWFsaXphdGlvbi5jcHAKICAgICBM
b2dnZXIuY3BwCisgICAgTG9nZ2luZy5jcHAKICAgICBNYWluVGhyZWFkLmNwcAogICAgIE1lZGlh
VGltZS5jcHAKICAgICBNZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dJbml0aWFsaXphdGlvbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dJbml0
aWFsaXphdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDUwODg3M2EyMGE2YTk1NmY0NGEwZDg3ODNiN2U2
NDRlNTg0YzkxNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ0luaXRpYWxp
emF0aW9uLmNwcApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMb2dJbml0
aWFsaXphdGlvbi5oIgorCisjaW5jbHVkZSA8d3RmL0xvZ0NoYW5uZWxzLmg+CisjaW5jbHVkZSA8
d3RmL0xvZ2dpbmcuaD4KKworbmFtZXNwYWNlIFdURiB7CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCitjbGFzcyBXVEZMb2dDaGFubmVscyBmaW5hbCA6IHB1
YmxpYyBMb2dDaGFubmVscyB7CitwdWJsaWM6CisgICAgV1RGTG9nQ2hhbm5lbHMoKQorICAgIHsK
KyAgICAgICAgbV9sb2dDaGFubmVscyA9IHsKKyAgICAgICAgICAgIFdURl9MT0dfQ0hBTk5FTFMo
TE9HX0NIQU5ORUxfQUREUkVTUykKKyAgICAgICAgfTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
U3RyaW5nIGxvZ0xldmVsU3RyaW5nKCkgZmluYWwKKyAgICB7CisgICAgICAgIHJldHVybiBXVEY6
OmxvZ0xldmVsU3RyaW5nKCk7CisgICAgfQorfTsKKworTG9nQ2hhbm5lbHMmIGxvZ0NoYW5uZWxz
KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8V1RGTG9nQ2hhbm5lbHM+IGxvZ0NoYW5u
ZWxzOworICAgIHJldHVybiBsb2dDaGFubmVscy5nZXQoKTsKK30KKworI2VuZGlmIC8vICFMT0df
RElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0xvZ0luaXRpYWxpemF0aW9uLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dJbml0aWFsaXphdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiM2M4NWE1ODBlNmUy
NjcyYmEzYmZmNDcxYWYxOTM5OGE3YjQzNWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9Mb2dJbml0aWFsaXphdGlvbi5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRl
IDx3dGYvTG9nQ2hhbm5lbHMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKwor
bmFtZXNwYWNlIFdURiB7CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNB
QkxFRAorCitXVEZfRVhQT1JUX1BSSVZBVEUgTG9nQ2hhbm5lbHMmIGxvZ0NoYW5uZWxzKCk7CitT
dHJpbmcgbG9nTGV2ZWxTdHJpbmcoKTsKKworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJF
TEVBU0VfTE9HX0RJU0FCTEVECisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvTG9nZ2luZy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hZTNkNDViMzk5MDY3MzlmZjQxY2I4NWI0NGYwZDI3ZGRkZDY4YzhkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dURi93dGYvTG9nZ2luZy5jcHAKQEAgLTAsMCArMSw0MCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1lc3BhY2UgV1RGIHsKKworI2lm
ICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKK0RFRklORV9MT0dfQ0hB
Tk5FTF9XSVRIX0RFVEFJTFMoUmVmQ291bnRlZExlYWtzLCBsb2dDaGFubmVsU3RhdGVPbiwgIGxv
Z0xldmVsRXJyb3IsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOworREVGSU5FX0xPR19D
SEFOTkVMX1dJVEhfREVUQUlMUyhQcm9jZXNzLCAgICAgICAgIGxvZ0NoYW5uZWxTdGF0ZU9uLCAg
bG9nTGV2ZWxFcnJvciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSk7CitERUZJTkVfTE9H
X0NIQU5ORUxfV0lUSF9ERVRBSUxTKFRocmVhZGluZywgICAgICAgbG9nQ2hhbm5lbFN0YXRlT24s
ICBsb2dMZXZlbEVycm9yLCBMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNKTsKK0RFRklORV9M
T0dfQ0hBTk5FTChNZW1vcnlQcmVzc3VyZSwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSk7
CisKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5n
LmggYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dnaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGY5MTk0ZmU5MzcwYmM5
YWRlYjUzMjU3MWM3MGU5MzgxYWQzYTE2MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0xvZ2dpbmcuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0Fzc2Vy
dGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV1RGIHsKKwor
I2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKKyNpZm5kZWYgTE9H
X0NIQU5ORUxfUFJFRklYCisjZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBXVEZMb2cKKyNlbmRp
ZgorCisjZGVmaW5lIFdURl9MT0dfQ0hBTk5FTFMoTSkgXAorICAgIE0oUmVmQ291bnRlZExlYWtz
KSBcCisgICAgTShQcm9jZXNzKSBcCisgICAgTShUaHJlYWRpbmcpIFwKKyAgICBNKE1lbW9yeVBy
ZXNzdXJlKSBcCisKKyN1bmRlZiBERUNMQVJFX0xPR19DSEFOTkVMCisjZGVmaW5lIERFQ0xBUkVf
TE9HX0NIQU5ORUwobmFtZSkgXAorICAgIFdURl9FWFBPUlRfUFJJVkFURSBleHRlcm4gV1RGTG9n
Q2hhbm5lbCBKT0lOX0xPR19DSEFOTkVMX1dJVEhfUFJFRklYKExPR19DSEFOTkVMX1BSRUZJWCwg
bmFtZSk7CisKK1dURl9MT0dfQ0hBTk5FTFMoREVDTEFSRV9MT0dfQ0hBTk5FTCkKKworI2VuZGlm
IC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKK30gLy8gbmFtZXNw
YWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVy
LmNwcCBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKaW5kZXggNzVh
MDg1NDYwOGVmNWE5MjFlMjUyOTJkYTFmYjY4ZjRlZDE1NzVmOC4uZWJlOWIyZTkzNjAwYzI5ODZj
YTlmMWVjMjA5NzRlODhkMjEzMTgyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhh
bmRsZXIuY3BwCkBAIC0yNiwxNiArMjYsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlIDx3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg+CiAKKyNpbmNsdWRlIDx3dGYvTG9nZ2lu
Zy5oPgogI2luY2x1ZGUgPHd0Zi9NZW1vcnlGb290cHJpbnQuaD4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUkFNU2l6ZS5oPgogCi0jZGVmaW5lIExPR19D
SEFOTkVMX1BSRUZJWCBMb2cKLQogbmFtZXNwYWNlIFdURiB7CiAKLURFRklORV9MT0dfQ0hBTk5F
TChNZW1vcnlQcmVzc3VyZSwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSk7Ci0KIFdURl9F
WFBPUlRfUFJJVkFURSBib29sIE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6UmVsaWVmTG9nZ2VyOjpz
X2xvZ2dpbmdFbmFibGVkID0gZmFsc2U7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAt
NTMsOCArNTAsMTAgQEAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyJiBNZW1vcnlQcmVzc3VyZUhhbmRs
ZXI6OnNpbmdsZXRvbigpCiAgICAgc3RhdGljIExhenlOZXZlckRlc3Ryb3llZDxNZW1vcnlQcmVz
c3VyZUhhbmRsZXI+IG1lbW9yeVByZXNzdXJlSGFuZGxlcjsKICAgICBzdGF0aWMgc3RkOjpvbmNl
X2ZsYWcgb25jZUtleTsKICAgICBzdGQ6OmNhbGxfb25jZShvbmNlS2V5LCBbJl0gewotICAgICAg
ICBXVEZMb2dDaGFubmVsKiBjaGFubmVsc1tdID0geyAmTG9nTWVtb3J5UHJlc3N1cmUgfTsKKyNp
ZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICAgICBXVEZMb2dD
aGFubmVsKiBjaGFubmVsc1tdID0geyAmV1RGTG9nTWVtb3J5UHJlc3N1cmUgfTsKICAgICAgICAg
V1RGSW5pdGlhbGl6ZUxvZ0NoYW5uZWxTdGF0ZXNGcm9tU3RyaW5nKGNoYW5uZWxzLCAxLCAiIik7
CisjZW5kaWYKIAogICAgICAgICBtZW1vcnlQcmVzc3VyZUhhbmRsZXIuY29uc3RydWN0KCk7CiAg
ICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIu
aCBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oCmluZGV4IDA5MzA2ZTMz
NGEzYmMzOWU5ZTczYmI0MDhlNDAwMTI2MmYxYmVkOTIuLmVhZWQ3OTI1YzEzYmNhODVmYzc3YzNl
NzRiN2I4MTVjYzgzNDVkMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNz
dXJlSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5o
CkBAIC0yNzIsOCArMjcyLDYgQEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAotZXh0ZXJuIFdURkxv
Z0NoYW5uZWwgTG9nTWVtb3J5UHJlc3N1cmU7Ci0KIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2lu
ZyBXVEY6OkNyaXRpY2FsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1GVFcu
Y21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUZUVy5jbWFrZQppbmRleCAxNTMzMTI3M2M5
MTFhZTdiZTA0YWEwZWEyOGU2ZGY2MjU0MTYzZjRmLi42ODJmNDIwZGM4NzU0NzA0MWFkYmM3OTVl
MzhkZTM4YjkzMDdhMjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUZUVy5j
bWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUZUVy5jbWFrZQpAQCAtMjQsNiArMjQs
NyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIHdpbi9EYmdIZWxwZXJXaW4uY3BwCiAg
ICAgd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCiAgICAgd2luL0xhbmd1YWdlV2luLmNwcAorICAgIHdp
bi9Mb2dnaW5nV2luLmNwcAogICAgIHdpbi9NYWluVGhyZWFkV2luLmNwcAogICAgIHdpbi9NZW1v
cnlGb290cHJpbnRXaW4uY3BwCiAgICAgd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggOWJkNWZkZTViYzM4MzU1ZTI1YmMwOWQwNWEw
NDVkZjMxZWZhYTI1OS4uNGExMmI1YTQzOTNmZTJiYmUzOTY3M2UzZmE1NDdjOWQ2OTc2YWJkNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTQ0LDYgKzQ0LDcgQEAgbGlzdChBUFBFTkQg
V1RGX1NPVVJDRVMKICAgICB0ZXh0L3VuaXgvVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVVVu
aXguY3BwCiAKICAgICB1bml4L0xhbmd1YWdlVW5peC5jcHAKKyAgICB1bml4L0xvZ2dpbmdVbml4
LmNwcAogICAgIHVuaXgvVW5pU3RkRXh0cmFzVW5peC5jcHAKICkKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZv
cm1KU0NPbmx5LmNtYWtlCmluZGV4IGMyYjNhMGZlNGM4NWQ2NjRjNTk4ZTJhZDZkZWE2MDk4YjIy
MmEwZGIuLmU5M2EyODVhMmQ4NzE3NTc4MTVlZWUyNmJmNWI2NWQ0YTM5Y2NhZTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSlNDT25seS5jbWFrZQorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUpTQ09ubHkuY21ha2UKQEAgLTExLDYgKzExLDcgQEAgaWYgKFdJTjMyKQog
ICAgICAgICB3aW4vRGJnSGVscGVyV2luLmNwcAogICAgICAgICB3aW4vRmlsZVN5c3RlbVdpbi5j
cHAKICAgICAgICAgd2luL0xhbmd1YWdlV2luLmNwcAorICAgICAgICB3aW4vTG9nZ2luZ1dpbi5j
cHAKICAgICAgICAgd2luL01haW5UaHJlYWRXaW4uY3BwCiAgICAgICAgIHdpbi9PU0FsbG9jYXRv
cldpbi5jcHAKICAgICAgICAgd2luL1BhdGhXYWxrZXIuY3BwCkBAIC0zNyw2ICszOCw3IEBAIGVs
c2UgKCkKICAgICAgICAgdGV4dC91bml4L1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VVbml4
LmNwcAogCiAgICAgICAgIHVuaXgvTGFuZ3VhZ2VVbml4LmNwcAorICAgICAgICB1bml4L0xvZ2dp
bmdVbml4LmNwcAogICAgICkKICAgICBpZiAoV1RGX09TX0ZVQ0hTSUEpCiAgICAgICAgIGxpc3Qo
QVBQRU5EIFdURl9TT1VSQ0VTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1h
Yy5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCmluZGV4IDI2MmVhZjUz
OTZkZTA5ZmUwOTk5ODExZmIzMmYwM2M0ZmM2OWIwNDguLjM2YmJiOWRjYmExY2JjNTA2MzUzMTRh
ZDI2Yzk0YmMwNDZiZmI0ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFj
LmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCkBAIC02NCw2ICs2
NCw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgY29jb2EvRW50aXRsZW1lbnRzLm1t
CiAgICAgY29jb2EvRmlsZVN5c3RlbUNvY29hLm1tCiAgICAgY29jb2EvTGFuZ3VhZ2VDb2NvYS5t
bQorICAgIGNvY29hL0xvZ2dpbmdDb2NvYS5tbQogICAgIGNvY29hL01hY2hTZW5kUmlnaHQuY3Bw
CiAgICAgY29jb2EvTWFpblRocmVhZENvY29hLm1tCiAgICAgY29jb2EvTWVtb3J5Rm9vdHByaW50
Q29jb2EuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9u
LmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZQppbmRleCA2
NTVmMGM5MTViMmY1ZTIzNTZhZjRjODFhODBmZWU1NmQ4YzRhNGY3Li5hMDM1OTA1NzAxMmI0YjAx
ZGNiNTM5ODZhYzQ2YmIwNmJiZGQ1MjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUGxheVN0
YXRpb24uY21ha2UKQEAgLTE1LDYgKzE1LDcgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKIAog
ICAgIHRleHQvdW5peC9UZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5jcHAKIAorICAg
IHVuaXgvTG9nZ2luZ1VuaXguY3BwCiAgICAgdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4
LmNwcAogKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZSBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlCmluZGV4IGE4NDBhNDg3ZmYwM2EzYzgy
NzQ1NWNhYjY3ZmFhOGY4M2QyMGJmYTkuLjY0M2VmMGZjZGY0ZjNjZTRhMWYyN2JjMGNjNmUxNzli
NzE0M2JiZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlCisr
KyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0zNyw2ICszNyw3IEBAIGxp
c3QoQVBQRU5EIFdURl9TT1VSQ0VTCiAgICAgdGV4dC91bml4L1RleHRCcmVha0l0ZXJhdG9ySW50
ZXJuYWxJQ1VVbml4LmNwcAogCiAgICAgdW5peC9MYW5ndWFnZVVuaXguY3BwCisgICAgdW5peC9M
b2dnaW5nVW5peC5jcHAKICAgICB1bml4L01lbW9yeVByZXNzdXJlSGFuZGxlclVuaXguY3BwCiAg
ICAgdW5peC9VbmlTdGRFeHRyYXNVbml4LmNwcAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm1XaW4uY21ha2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQpp
bmRleCA2OGY3Mzg4ZTdmMzVkY2U4YTM3ZWM4YjhkY2EyZTZiODRlNDljYTU4Li5jYzQzYTIxYzhl
ZmYzNmU0MWYxZjk3YWY2ZTkzYTVlMTg2ZjU2MDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVdpbi5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFr
ZQpAQCAtMTcsNiArMTcsNyBAQCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIHdpbi9EYmdI
ZWxwZXJXaW4uY3BwCiAgICAgd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCiAgICAgd2luL0xhbmd1YWdl
V2luLmNwcAorICAgIHdpbi9Mb2dnaW5nV2luLmNwcAogICAgIHdpbi9NYWluVGhyZWFkV2luLmNw
cAogICAgIHdpbi9NZW1vcnlGb290cHJpbnRXaW4uY3BwCiAgICAgd2luL01lbW9yeVByZXNzdXJl
SGFuZGxlcldpbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1JlZkNvdW50ZWRMZWFr
Q291bnRlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwCmlu
ZGV4IGRmYTIwNDNkZGQ0NWFmNTg1NDhhNDc0NzdhMmNmMWEyYjgzMDE4ZWEuLmFlMTQyOTk5MzE4
ZDYzZDE0NjkwMjJkNmI1NGE4YmZjNzRlMzQ3NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1JlZkNvdW50ZWRMZWFrQ291bnRlci5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUmVmQ291bnRl
ZExlYWtDb3VudGVyLmNwcApAQCAtMjEsNiArMjEsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuaD4KIAorI2luY2x1ZGUgPHd0Zi9M
b2dnaW5nLmg+CisKICNpZmRlZiBOREVCVUcKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0zOSwxNyAr
NDEsNiBAQCB2b2lkIFJlZkNvdW50ZWRMZWFrQ291bnRlcjo6ZGVjcmVtZW50KCkgeyB9CiAKIG5h
bWVzcGFjZSBXVEYgewogCi0jZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKLSNpZiBSRUxF
QVNFX0xPR19ESVNBQkxFRAotc3RhdGljIFdURkxvZ0NoYW5uZWwgTG9nUmVmQ291bnRlZExlYWtz
ID0geyBXVEZMb2dDaGFubmVsU3RhdGU6Ok9uLCAiUmVmQ291bnRlZExlYWtzIiwgV1RGTG9nTGV2
ZWw6OkVycm9yIH07Ci0jZW5kaWYKLSNpZiBVU0UoT1NfTE9HKSAmJiAhUkVMRUFTRV9MT0dfRElT
QUJMRUQKLXN0YXRpYyBXVEZMb2dDaGFubmVsIExvZ1JlZkNvdW50ZWRMZWFrcyA9IHsgV1RGTG9n
Q2hhbm5lbFN0YXRlOjpPbiwgIlJlZkNvdW50ZWRMZWFrcyIsIFdURkxvZ0xldmVsOjpFcnJvciwg
TE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSwgT1NfTE9HX0RFRkFVTFQgfTsKLSNlbmRpZgot
I2lmIFVTRShKT1VSTkFMRCkgJiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi1zdGF0aWMgV1RGTG9n
Q2hhbm5lbCBMb2dSZWZDb3VudGVkTGVha3MgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJS
ZWZDb3VudGVkTGVha3MiLCBXVEZMb2dMZXZlbDo6RXJyb3IsIExPR19DSEFOTkVMX1dFQktJVF9T
VUJTWVNURU0gfTsKLSNlbmRpZgotCiB0eXBlZGVmIEhhc2hDb3VudGVkU2V0PGNvbnN0IGNoYXIq
LCBQdHJIYXNoPGNvbnN0IGNoYXIqPj4gUmVhc29uU2V0Owogc3RhdGljIFJlYXNvblNldCogbGVh
a01lc3NhZ2VTdXBwcmVzc2lvblJlYXNvbnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L2NvY29hL0xvZ2dpbmdDb2NvYS5tbSBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL0xvZ2dpbmdDb2Nv
YS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wMGZjMzgwODU1MWFjNDc5Y2JhM2ZlNjNjYzZiNzU1NWIzZWE0ODdk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvTG9nZ2luZ0NvY29hLm1t
CkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBv
cnQgPHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5oPgorCisjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKKworbmFtZXNwYWNlIFdURiB7CisKK1N0cmluZyBsb2dMZXZlbFN0
cmluZygpCit7CisjaWYgIUxPR19ESVNBQkxFRAorICAgIHJldHVybiBbW05TVXNlckRlZmF1bHRz
IHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJXVEZMb2dnaW5nIl07CisjZWxz
ZQorICAgIHJldHVybiBTdHJpbmcoKTsKKyNlbmRpZgorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJp
Z2h0LmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3BwCmluZGV4IDJl
YjMwMmQxZGQ1YTkyNmIyNTU4MzE1YWQzNzI4OGZlNDk3ZWYyZWYuLjU1YzFlNTJhOGQwMGI5OWJi
ZGIyZWFiYWE2MmJjZWE5YmE1NDA2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29h
L01hY2hTZW5kUmlnaHQuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL01hY2hTZW5kUmln
aHQuY3BwCkBAIC0zMCwxNiArMzAsMTAgQEAKICNpbmNsdWRlIDxtYWNoL21hY2hfaW5pdC5oPgog
I2luY2x1ZGUgPHV0aWxpdHk+CiAKLSNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZworI2lu
Y2x1ZGUgPHd0Zi9Mb2dnaW5nLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi0jaWYgUkVMRUFTRV9M
T0dfRElTQUJMRUQKLVdURkxvZ0NoYW5uZWwgTG9nUHJvY2VzcyA9IHsgV1RGTG9nQ2hhbm5lbFN0
YXRlOjpPbiwgIlByb2Nlc3MiLCBXVEZMb2dMZXZlbDo6RXJyb3IgfTsKLSNlbHNlCi1XVEZMb2dD
aGFubmVsIExvZ1Byb2Nlc3MgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJQcm9jZXNzIiwg
V1RGTG9nTGV2ZWw6OkVycm9yLCBMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNLCBPU19MT0df
REVGQVVMVCB9OwotI2VuZGlmCi0KIHN0YXRpYyB2b2lkIHJldGFpblNlbmRSaWdodChtYWNoX3Bv
cnRfdCBwb3J0KQogewogICAgIGlmIChwb3J0ID09IE1BQ0hfUE9SVF9OVUxMKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tIGIvU291cmNlL1dURi93
dGYvY29jb2EvTWFpblRocmVhZENvY29hLm1tCmluZGV4IGZkNjM3ZjdmNDcyMDE2MGY4MzA5ZDU4
ZjZiMDk1Y2YzMjMxZmVlMmQuLjU4OGVkMDBhOGI3MzAwMjE1NDczMGE2ZDMyZTBmZWU4MmQ2MmRk
NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbQor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW0KQEAgLTM1LDYgKzM1
LDcgQEAKICNpbXBvcnQgPHN0ZGlvLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogI2lt
cG9ydCA8d3RmL0Jsb2NrUHRyLmg+CisjaW1wb3J0IDx3dGYvTG9nZ2luZy5oPgogI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KICNpbXBvcnQgPHd0Zi9T
Y2hlZHVsZVBhaXIuaD4KQEAgLTQ0LDE2ICs0NSw4IEBACiAjaW1wb3J0IDx3dGYvaW9zL1dlYkNv
cmVUaHJlYWQuaD4KICNlbmRpZgogCi0jZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKLQog
bmFtZXNwYWNlIFdURiB7CiAKLSNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAotV1RGTG9nQ2hhbm5l
bCBMb2dUaHJlYWRpbmcgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJUaHJlYWRpbmciLCBX
VEZMb2dMZXZlbDo6RXJyb3IgfTsKLSNlbHNlCi1XVEZMb2dDaGFubmVsIExvZ1RocmVhZGluZyA9
IHsgV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlRocmVhZGluZyIsIFdURkxvZ0xldmVsOjpFcnJv
ciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSwgT1NfTE9HX0RFRkFVTFQgfTsKLSNlbmRp
ZgotCiAjaWYgVVNFKFdFQl9USFJFQUQpCiAvLyBXaGVuIHRoZSBXZWIgdGhyZWFkIGlzIGVuYWJs
ZWQsIHdlIGNvbnNpZGVyIGl0IHRvIGJlIHRoZSBtYWluIHRocmVhZCwgbm90IHB0aHJlYWQgbWFp
bi4KIHN0YXRpYyBwdGhyZWFkX3Qgc193ZWJUaHJlYWRQdGhyZWFkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvY29jb2EvTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0gYi9Tb3VyY2Uv
V1RGL3d0Zi9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbQppbmRleCBhN2JiZGQz
OTBiODA5Y2FiNjhmMTFlNzc2ZTMxOGZmOTVmOGIwOGZjLi45NjIwNWQwZjI4NjBkNDI4MWMyNzI5
YjM1ODcwNjA2ZTQzYTU0YTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NZW1v
cnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NZW1v
cnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCA8bWFj
aC90YXNrX2luZm8uaD4KICNpbXBvcnQgPG1hbGxvYy9tYWxsb2MuaD4KICNpbXBvcnQgPG5vdGlm
eS5oPgorI2ltcG9ydCA8d3RmL0xvZ2dpbmcuaD4KICNpbXBvcnQgPHd0Zi9SZXNvdXJjZVVzYWdl
Lmg+CiAjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9EaXNwYXRjaFNQSS5oPgogCkBAIC0zNyw4ICsz
OCw2IEBACiAKIGV4dGVybiAiQyIgdm9pZCBjYWNoZV9zaW11bGF0ZV9tZW1vcnlfd2FybmluZ19l
dmVudCh1aW50NjRfdCk7CiAKLSNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZwotCiBuYW1l
c3BhY2UgV1RGIHsKIAogdm9pZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnBsYXRmb3JtUmVsZWFz
ZU1lbW9yeShDcml0aWNhbCBjcml0aWNhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3Vu
aXgvTG9nZ2luZ1VuaXguY3BwIGIvU291cmNlL1dURi93dGYvdW5peC9Mb2dnaW5nVW5peC5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZWYwOWU0NDJlYTU1Mjc1YzAzOTQxNDMxYWE2ZTQxMjI3ZDI5YzBmMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL3VuaXgvTG9nZ2luZ1VuaXguY3BwCkBAIC0w
LDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHBAYXRv
a2VyLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGdu
c0Bnbm9tZS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCisj
aWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKworI2luY2x1ZGUgPHN0
cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV1RG
IHsKKworU3RyaW5nIGxvZ0xldmVsU3RyaW5nKCkKK3sKKyAgICBjaGFyKiBsb2dFbnYgPSBnZXRl
bnYoIldFQktJVF9ERUJVRyIpOworCisgICAgLy8gRGlzYWJsZSBhbGwgbG9nIGNoYW5uZWxzIGlm
IFdFQktJVF9ERUJVRyBpcyB1bnNldC4KKyAgICBpZiAoIWxvZ0VudikKKyAgICAgICAgcmV0dXJu
IG1ha2VTdHJpbmcoIi1hbGwiX3MpOworCisgICAgLy8gV2Ugc2V0IHVwIHRoZSBsb2dzIGFueXdh
eSBiZWNhdXNlIHNvbWUgb2Ygb3VyIGxvZ2dpbmcsIHN1Y2ggYXMgU291cCdzIGlzIGF2YWlsYWJs
ZSBpbiByZWxlYXNlIGJ1aWxkcy4KKyNpZiBkZWZpbmVkKE5ERUJVRykgJiYgUkVMRUFTRV9MT0df
RElTQUJMRUQKKyAgICBXVEZMb2dBbHdheXMoIldFQktJVF9ERUJVRyBpcyBub3QgZW1wdHksIGJ1
dCB0aGlzIGlzIGEgcmVsZWFzZSBidWlsZC4gTm90aWNlIHRoYXQgbWFueSBsb2cgbWVzc2FnZXMg
d2lsbCBvbmx5IGFwcGVhciBpbiBhIGRlYnVnIGJ1aWxkLiIpOworI2VuZGlmCisKKyAgICAvLyBU
byBkaXNhYmxlIGxvZ2dpbmcgbm90SW1wbGVtZW50ZWQgc2V0IHRoZSBESVNBQkxFX05JX1dBUk5J
TkcgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gMS4KKyAgICByZXR1cm4gbWFrZVN0cmluZygiTm90
WWV0SW1wbGVtZW50ZWQsIl9zLCBsb2dFbnYpOworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwor
I2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vTG9nZ2luZ1dpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi93
aW4vTG9nZ2luZ1dpbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmMyYTczZTE0NjI5OGI3NjBmNzk3ZWFlMDdi
ZTQ5ZjJmNGIxMThjYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9Mb2dn
aW5nV2luLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKKworI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKKyNpbmNs
dWRlIDx3aW5kb3dzLmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV1RGIHsKKworU3RyaW5nIGxvZ0xl
dmVsU3RyaW5nKCkKK3sKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBjaGFyKiBsb2dnaW5nRW52aXJvbm1lbnRWYXJpYWJsZSA9ICJXVEZMb2dnaW5nIjsKKyAg
ICBEV09SRCBsZW5ndGggPSBHZXRFbnZpcm9ubWVudFZhcmlhYmxlQShsb2dnaW5nRW52aXJvbm1l
bnRWYXJpYWJsZSwgMCwgMCk7CisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBlbXB0
eVN0cmluZygpOworCisgICAgVmVjdG9yPGNoYXI+IGJ1ZmZlcihsZW5ndGgpOworCisgICAgaWYg
KCFHZXRFbnZpcm9ubWVudFZhcmlhYmxlQShsb2dnaW5nRW52aXJvbm1lbnRWYXJpYWJsZSwgYnVm
ZmVyLmRhdGEoKSwgbGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisKKyAg
ICByZXR1cm4gU3RyaW5nKGJ1ZmZlci5kYXRhKCkpOworI2Vsc2UKKyAgICByZXR1cm4gU3RyaW5n
KCk7CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3BhY2UgV1RGCisKKyNlbmRpZiAvLyAhTE9HX0RJ
U0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MuY3BwCmluZGV4IGVkN2YyOWU2ZTA4MDYyNzg1Mjg5ZTQxMDAzZTY4MTNmZjk4YTVh
OWMuLmNmMjhkMTFmZTExYWY5NjA5MjRkOTY1Y2UxNjE4MmI1ZmQ1MThhYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaD4KICNpbmNsdWRlIDx3dGYvQWxnb3Jp
dGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9DYWxsYmFja0FnZ3JlZ2F0b3IuaD4KKyNpbmNsdWRlIDx3
dGYvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5UHJlc3N1cmVIYW5k
bGVyLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgogI2luY2x1ZGUgPHd0Zi9Qcm9jZXNz
UHJpdmlsZWdlLmg+CkBAIC0yNDMsNiArMjQ0LDcgQEAgdm9pZCBHUFVQcm9jZXNzOjppbml0aWFs
aXplR1BVUHJvY2VzcyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykK
ICNlbmRpZgogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICBXVEY6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFy
YW1ldGVycy53dGZMb2dnaW5nQ2hhbm5lbHMpOwogICAgIFdlYkNvcmU6OmxvZ0NoYW5uZWxzKCku
aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53ZWJDb3JlTG9nZ2lu
Z0NoYW5uZWxzKTsKICAgICBXZWJLaXQ6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5u
ZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggZGY0YmEyMGRhMjVkNTBiZDZmMjc1NTYwMDExMjM5ZDQ2
ZTZkNGNlZS4uZThjOTkxM2QzNWI5MTRiMTIzOWE2NzNhNmI0NjNhODY5OWEzYThiMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcApAQCAtNTksNiArNTksNyBAQCB2b2lkIEdQVVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2Rl
ciA8PCBkeW5hbWljTWFjaEV4dGVuc2lvbkhhbmRsZXM7CiAjZW5kaWYKIAorICAgIGVuY29kZXIg
PDwgd3RmTG9nZ2luZ0NoYW5uZWxzOwogICAgIGVuY29kZXIgPDwgd2ViQ29yZUxvZ2dpbmdDaGFu
bmVsczsKICAgICBlbmNvZGVyIDw8IHdlYktpdExvZ2dpbmdDaGFubmVsczsKIH0KQEAgLTEwOSw2
ICsxMTAsOCBAQCBib29sIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6
OkRlY29kZXImIGRlY29kZXIsIEdQVVByb2Nlc3NDcmVhdAogICAgIHJlc3VsdC5keW5hbWljTWFj
aEV4dGVuc2lvbkhhbmRsZXMgPSBXVEZNb3ZlKCpkeW5hbWljTWFjaEV4dGVuc2lvbkhhbmRsZXMp
OwogI2VuZGlmCiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC53dGZMb2dnaW5nQ2hh
bm5lbHMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQud2ViQ29yZUxvZ2dpbmdDaGFubmVscykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKaW5kZXggNjM0NjczMTI3MmJkMDcyOTBhNmU4YmNkYjRiNDBmZjRlZGY2MTAyZS4u
ZDRhOWIyYjc1NTc4Mzk4M2JhZDU3MzFmZTZhNTI2ODZkMjFjMzdhNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CkBAIC01Nyw2ICs1Nyw3IEBAIHN0cnVjdCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsK
ICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBkeW5hbWljTWFjaEV4dGVuc2lvbkhh
bmRsZXM7CiAjZW5kaWYKIAorICAgIFN0cmluZyB3dGZMb2dnaW5nQ2hhbm5lbHM7CiAgICAgU3Ry
aW5nIHdlYkNvcmVMb2dnaW5nQ2hhbm5lbHM7CiAgICAgU3RyaW5nIHdlYktpdExvZ2dpbmdDaGFu
bmVsczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAppbmRleCAw
OTVjZjQ1OTE0NjIxYzE4ODMyYmFhOTU2Njc1ZjNiMGQ4MWQ3MmNkLi43YTU5NzY2MWUyZjk5ZmVj
ZmMxNmRmMjk3NDI0NDEyZGQ3MWM2NjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlh
cnlQcm9jZXNzLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlk
ZW50aWZpZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW5j
bHVkZSA8cGFsL1Nlc3Npb25JRC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5o
PgogCiAjaWYgIU9TKFdJTkRPV1MpCiAjaW5jbHVkZSA8dW5pc3RkLmg+CkBAIC04Miw2ICs4Myw3
IEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZShjb25zdCBBdXhpbGlhcnlQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzCiAgICAgaW5pdGlhbGl6ZVNhbmRib3gocGFyYW1l
dGVycywgc2FuZGJveFBhcmFtZXRlcnMpOwogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKKyAgICBXVEY6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5u
ZWxzSWZOZWNlc3NhcnkoKTsKICAgICBXZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVM
b2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgV2ViS2l0Ojpsb2dDaGFubmVscygpLmluaXRp
YWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8
fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYktpdDJJbml0aWFsaXplLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYktpdDJJbml0
aWFsaXplLmNwcAppbmRleCAyMzNiMzBmMjJhZDY0MTZhMGEzZTA0N2JkZDllZTM5ZjM1MWI3M2Yw
Li5jYjJiZDRhMmQxZDI1NWVkZGQyZDYyZjI0MmU0N2MwYTc5OGZhNWFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dlYkNvcmVKSVRP
cGVyYXRpb25zLmg+CisjaW5jbHVkZSA8d3RmL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1
ZGUgPHd0Zi9SdW5Mb29wLmg+CkBAIC00Nyw2ICs0OCw3IEBAIHZvaWQgSW5pdGlhbGl6ZVdlYktp
dDIoKQogICAgIFdURjo6UmVmQ291bnRlZEJhc2U6OmVuYWJsZVRocmVhZGluZ0NoZWNrc0dsb2Jh
bGx5KCk7CiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAg
IFdURjo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwog
ICAgIFdlYkNvcmU6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nh
cnkoKTsKICAgICBXZWJLaXQ6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZO
ZWNlc3NhcnkoKTsKICNlbmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNB
QkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAppbmRleCA3NzZmYjBiZTY5OWNmNzRjYWVhNmE2ODI0ZjM5NGU4NGJhOGU4
NjE2Li5iZmZiYzQ5MWVjOTVjNWUwODBhYmUyNTYxMDYzZDQxMGMyNWQ4MDYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cApAQCAtNTksNiArNTksNyBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVu
Y29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAjaWYgUExBVEZPUk0oQ09DT0EpICYm
IEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIGVuY29kZXIgPDwgZW5hYmxlUmVtb3RlV2Vi
SW5zcGVjdG9yRXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlmCisgICAgZW5jb2RlciA8PCB3dGZMb2dn
aW5nQ2hhbm5lbHM7CiAgICAgZW5jb2RlciA8PCB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOwogICAg
IGVuY29kZXIgPDwgd2ViS2l0TG9nZ2luZ0NoYW5uZWxzOwogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCkBAIC0yNjIsNiArMjYzLDggQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXQKICAgICBwYXJh
bWV0ZXJzLmVuYWJsZVJlbW90ZVdlYkluc3BlY3RvckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUo
KmVuYWJsZVJlbW90ZVdlYkluc3BlY3RvckV4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKIAorICAg
IGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy53dGZMb2dnaW5nQ2hhbm5lbHMpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLndl
YkNvcmVMb2dnaW5nQ2hhbm5lbHMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscykpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5k
ZXggMDYwZDRmMTkzMzFhNTc5YzRhNmQ2YTI2ZjQ3NTI4YmVmNjNmMGI4OC4uZjEzMWY5YzgwY2Vl
ZTZlODFkOTFlNTIyNWQ1NGRjZmIyMjAyMjVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtOTQsNiArOTQsNyBAQCBz
dHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlIGF1ZGlvQ2FwdHVyZUV4dGVuc2lvbkhhbmRsZTsKICNlbmRpZgogCisgICAgU3Ry
aW5nIHd0ZkxvZ2dpbmdDaGFubmVsczsKICAgICBTdHJpbmcgd2ViQ29yZUxvZ2dpbmdDaGFubmVs
czsKICAgICBTdHJpbmcgd2ViS2l0TG9nZ2luZ0NoYW5uZWxzOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IDI4
Y2M4OTQ3OGQ4YWYwNDU2N2I1YjNhZjExNDdiNTNkNTg0YWVlMmEuLjQzMTJkMWIwMGM5YjI4ZTlm
ZjkxNjMxNDZhZTExNmYzMzAyYTQ4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0zNSw2ICszNSw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogdm9pZCBHUFVQcm9jZXNzUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6
ZUdQVVByb2Nlc3NQYXJhbWV0ZXJzKEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMpCiB7CiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICBwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIHN0cmluZ0ZvcktleTpAIldURkxvZ2dpbmciXTsKICAgICBwYXJhbWV0
ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJXZWJDb3JlTG9nZ2luZyJdOwogICAgIHBhcmFtZXRl
cnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJE
ZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV2ViS2l0MkxvZ2dpbmciXTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0K
aW5kZXggMmU2YjRjMTM3NjE5MmFhNjEwOWM0YTkxOGYzNDNmNDQzM2EyYjFjMy4uMjg1YjBmZmYz
MTk5NGQzN2U3MWM4NWRjOTU5M2ViZjQwOGJiMTEyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0zODgsNiArMzg4
LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyhj
b25zdCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MKICNlbmRpZgogCiAjaWYgIUxPR19ESVNBQkxF
RCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFu
bmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0Zvcktl
eTpAIldURkxvZ2dpbmciXTsKICAgICBwYXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMg
PSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJX
ZWJDb3JlTG9nZ2luZyJdOwogICAgIHBhcmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzID0g
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV2Vi
S2l0MkxvZ2dpbmciXTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUv
R1BVUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA0NGY5YTdlNzllNGIxOWNiMGYzMTJhMTgwMDk3MjNm
MGM1ZDgxN2YxLi5lN2FhNThiMmZjNWZhMmQ2YzEyMzliYjhiY2U1MjJmMDAwNTNmOTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcApAQCAt
NDksNiArNDksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgog
I2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dJbml0
aWFsaXphdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9UcmFuc2xhdGVkUHJvY2Vzcy5oPgogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTYwNyw2ICs2MDgsNyBAQCB2b2lkIEdQVVByb2Nlc3NQ
cm94eTo6ZGlkQmVjb21lVW5yZXNwb25zaXZlKCkKIHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpwbGF0
Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFyYW1ldGVycyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECisgICAgcGFyYW1ldGVycy53dGZMb2dnaW5nQ2hhbm5lbHMgPSBXVEY6OmxvZ0xl
dmVsU3RyaW5nKCk7CiAgICAgcGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzID0gV2Vi
Q29yZTo6bG9nTGV2ZWxTdHJpbmcoKTsKICAgICBwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFu
bmVscyA9IFdlYktpdDo6bG9nTGV2ZWxTdHJpbmcoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDgzNmIwNDAzZGE1N2IzNzQxZDExYjI2
ZWE4M2MzNzVkZTVmOThmZDIuLjVmZTkyOWRhY2I0MWRlNTI0MDVhMzRiOWZiMjM4Njg2NzRiYWM2
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTk2
LDYgKzk2LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5o
PgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvQ2FsbGJhY2tBZ2dy
ZWdhdG9yLmg+CisjaW5jbHVkZSA8d3RmL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW5jbHVkZSA8
d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNs
dWRlIDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgpAQCAtMjUxLDYgKzI1Miw3IEBAIFdlYlByb2Nl
c3NQb29sOjpXZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29u
ZmlndXJhdGlvbikKICAgICByZXNvbHZlUGF0aHNGb3JTYW5kYm94RXh0ZW5zaW9ucygpOwogCiAj
aWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBXVEY6OmxvZ0No
YW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICBXZWJDb3Jl
Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAg
V2ViS2l0Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7
CiAjZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4
IGU0ZWMwNjNiNzBlZTdjNjBmNzE5NjQzZjE3ZWQ0YTc1OTNhYTdlMzEuLmRmZGJlYzI1N2I2NWMy
YmI1MDA4Y2M5YWVhMTg1Y2Q4YTQ2OGYyZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMTAxLDYgKzEwMSw3IEBACiAjaW1w
b3J0IDxzdGRpby5oPgogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPHd0Zi9M
YW5ndWFnZS5oPgorI2ltcG9ydCA8d3RmL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW1wb3J0IDx3
dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAjaW1w
b3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CkBAIC0yODEsNiArMjgyLDcgQEAgdm9pZCBX
ZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMmIHBhcmEKICAgICB9CiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNF
X0xPR19ESVNBQkxFRAorICAgIFdURjo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5l
bHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscyk7CiAgICAgV2ViQ29y
ZTo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0
ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMpOwogICAgIFdlYktpdDo6bG9nQ2hhbm5lbHMoKS5p
bml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdD
aGFubmVscyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQppbmRleCBhM2UxNmI4ODg0YjJlYTczNTU1ZWU3NmVjNGNjODgwZDRiZGUxZmEyLi45NzZh
M2RlYjU3NzlkOGIyNjU1NWVjYzJmZjI0NmQzNGI0MTFjYzY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yNTIsNiArMjUyLDcgQEAKICNpbXBvcnQg
PHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvSGFzaFRyYWl0cy5oPgogI2ltcG9ydCA8
d3RmL0xhbmd1YWdlLmg+CisjaW1wb3J0IDx3dGYvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbXBv
cnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJhcy5oPgogI2ltcG9y
dCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KQEAgLTE0ODEsNiArMTQ4Miw3IEBAIC0gKHZvaWQp
X2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUg
Z3JvdXBOYW1lOihOU1N0CiAjZW5kaWYKICAgICBpZiAoIWRpZE9uZVRpbWVJbml0aWFsaXphdGlv
bikgewogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgICAg
IFdURjo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwog
ICAgICAgICBXZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVj
ZXNzYXJ5KCk7CiAgICAgICAgIFdlYktpdDo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hh
bm5lbHNJZk5lY2Vzc2FyeSgpOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435163</attachid>
            <date>2021-08-08 19:28:12 -0700</date>
            <delta_ts>2021-08-08 20:37:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228768-20210808192811.patch</filename>
            <type>text/plain</type>
            <size>48763</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZlMTViM2Q2YmYxZTFmNTA0MmFhNjhh
NWUyODdjNGRhNmM3NTBlMTguLjk1NTY4OTc2MzU1NDgzNjI5MGU0MTZiMjhiMTU1YjRiZDQ2MDY2
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMjEtMDgtMDggIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IFdURiBsb2dnaW5nIGNoYW5u
ZWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg3
NjgKKworICAgICAgICBUaGlzIHBhdGNoIGJ1aWxkcyBvbiB0b3Agb2YgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODgwOSwgd2hpY2ggYWRkZWQgc2hhcmVkIGluZnJh
c3RydWN0dXJlCisgICAgICAgIGZvciBsb2dnaW5nLiBUaGlzIHBhdGNoIHNpbXBseSB0cmlnZ2Vy
cyB0aGF0IHNoYXJlZCBpbmZyYXN0cnVjdHVyZSBmb3IgV1RGLiBUaGVyZSBpcyBubyBjaGFuZ2Ug
aW4gYmVoYXZpb3IgLQorICAgICAgICB0aGUgZXhpc3RpbmcgV1RGIGxvZ2dpbmcgY2hhbm5lbHMg
Y3VycmVudGx5IGFyZSBhbGwgaW1wbGVtZW50ZWQgaW5kZXBlbmRlbnRseSBpbiBjdXN0b20gd2F5
cywgc28gdGhpcyBwYXRjaAorICAgICAgICBqdXN0IG1pZ3JhdGVzIHRoZW0gb3ZlciB0byB1c2Ug
dGhlIHNoYXJlZCBpbmZyYXN0cnVjdHVyZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHd0Zi9Bc3NlcnRpb25zLmg6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0Ogor
ICAgICAgICAqIHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV1RG
Ojpsb2dDaGFubmVscyk6CisgICAgICAgICogd3RmL0xvZ0luaXRpYWxpemF0aW9uLmg6IEFkZGVk
LgorICAgICAgICAqIHd0Zi9Mb2dnaW5nLmNwcDogQWRkZWQuCisgICAgICAgICogd3RmL0xvZ2dp
bmcuaDogQWRkZWQuCisgICAgICAgICogd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHA6Cisg
ICAgICAgIChXVEY6Ok1lbW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKToKKyAgICAgICAg
KiB3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtRlRX
LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1KU0NPbmx5LmNtYWtlOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybU1hYy5jbWFrZToK
KyAgICAgICAgKiB3dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZToKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1XUEUuY21ha2U6CisgICAgICAgICogd3RmL1BsYXRmb3JtV2luLmNtYWtlOgorICAg
ICAgICAqIHd0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwOgorICAgICAgICAqIHd0Zi9jb2Nv
YS9Mb2dnaW5nQ29jb2EubW06IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tLgorICAgICAgICAoV1RGOjpsb2dMZXZlbFN0cmlu
Zyk6CisgICAgICAgICogd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3BwOgorICAgICAgICAqIHd0
Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW06CisgICAgICAgICogd3RmL2NvY29hL01lbW9yeVBy
ZXNzdXJlSGFuZGxlckNvY29hLm1tOgorICAgICAgICAqIHd0Zi91bml4L0xvZ2dpbmdVbml4LmNw
cDogQWRkZWQuCisgICAgICAgIChXVEY6OmxvZ0xldmVsU3RyaW5nKToKKyAgICAgICAgKiB3dGYv
d2luL0xvZ2dpbmdXaW4uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdURjo6bG9nTGV2ZWxTdHJpbmcp
OgorCiAyMDIxLTA4LTA3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKICAgICAgICAgRGVkdXBsaWNhdGUgbG9nZ2luZyBjaGFubmVsIGFsZ29yaXRobXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggOWNmYWY5ZDlhNmIzMTlmNzk1NTVmM2IyN2NjMDcxNWIxZmM3OTgxYi4uMzQzNTI3OWI4
YWFjZmMzNGFkYjBkMmM2OGI1OTE5MzVjYTMwZjVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBA
QAorMjAyMS0wOC0wOCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgor
CisgICAgICAgIFN1cHBvcnQgV1RGIGxvZ2dpbmcgY2hhbm5lbHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODc2OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJl
IGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3M6OmluaXRpYWxpemVHUFVQcm9jZXNz
KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUg
Y29uc3QpOgorICAgICAgICAoV2ViS2l0OjpHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpk
ZWNvZGUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oOgorICAgICAgICAqIFNoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6QXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogU2hhcmVkL1dl
YktpdDJJbml0aWFsaXplLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5pdGlhbGl6ZVdlYktpdDIp
OgorICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZGVjb2Rl
KToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6R1BVUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFy
YW1ldGVycyk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVX
ZWJQcm9jZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jbml0aWFsaXplR1BV
UHJvY2Vzc1BhcmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5j
cHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
CiAyMDIxLTA4LTA4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIGNhcmV0LWNvbG9yIGRvZXMgbm90IHdvcmsgb24gZmlyc3QgY2xpY2sgaW4gaW9zCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKaW5kZXggZDRiNTk4YzY1ZDY4ZTI0NjA1NDUzZWI2NDJl
ODdhYzY3NGJjNzc2YS4uMmY5MjNkZThlMjM1MjAwYzk0ZGYwZGQwNmNiYzJlYWI5MDFmOTE4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA4LTA4
ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU3Vw
cG9ydCBXVEYgbG9nZ2luZyBjaGFubmVscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI4NzY4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6XSk6CisKIDIw
MjEtMDgtMDcgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBEZWR1cGxpY2F0ZSBsb2dnaW5nIGNoYW5uZWwgYWxnb3JpdGhtcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RG
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGYzMmNmZGZiMmI2MmVjOTczZjAyZjA0
OWEwZDZkODc2ZWExYTExNS4uNjAyNTU5YmRmNDMyNGQzYWVhOGRkMTIxMjQ3Yzk3NjJjMDdhYWI5
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MCw2ICs2
MCw5IEBACiAJCTFDMTgxQzkzMUQzMDdBQjgwMEY1RkExNiAvKiBVVGV4dFByb3ZpZGVyVVRGMTYu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMxODFD
OEQxRDMwN0FCODAwRjVGQTE2IC8qIFVUZXh0UHJvdmlkZXJVVEYxNi5jcHAgKi87IH07CiAJCTFD
MTgxQzk2MUQzMDgwMEEwMEY1RkExNiAvKiBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29j
b2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMx
ODFDOTUxRDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VDb2Nv
YS5jcHAgKi87IH07CiAJCTFDNTAzQkU2MjNBQUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29h
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM1MDNC
RTUyM0FBRTBBRTAwNzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gKi87IH07CisJCTFDOTY4MzY0
MjZCRTc0REYwMEEyQTJGOSAvKiBMb2dJbml0aWFsaXphdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzk2ODM2MjI2QkU3NERGMDBBMkEyRjkg
LyogTG9nSW5pdGlhbGl6YXRpb24uY3BwICovOyB9OworCQkxQzk2ODM2NzI2QkU3NTQ2MDBBMkEy
RjkgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQzk2ODM2NTI2QkU3NTQ2MDBBMkEyRjkgLyogTG9nZ2luZy5jcHAgKi87IH07CisJ
CTFDOTY4MzY5MjZCRTc2QjYwMEEyQTJGOSAvKiBMb2dnaW5nQ29jb2EubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzk2ODM2ODI2QkU3NkI2MDBBMkEy
RjkgLyogTG9nZ2luZ0NvY29hLm1tICovOyB9OwogCQkxQ0E4NUNBOTI0MUIwQjI2MDA3MUMyRjUg
LyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBODVDQTgyNDFCMEIyNjAwNzFDMkY1IC8qIFJ1
bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcCAqLzsgfTsKIAkJMUNGMThGM0IyNkJCNTc5
RTAwNEIxNzIyIC8qIExvZ0NoYW5uZWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFDRjE4RjM5MjZCQjU3OUUwMDRCMTcyMiAvKiBMb2dDaGFubmVs
cy5jcHAgKi87IH07CiAJCTFGQTQ3QzhBMTUyNTAyREEwMDU2OEQxQiAvKiBXZWJDb3JlVGhyZWFk
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFGQTQ3
Qzg4MTUyNTAyREEwMDU2OEQxQiAvKiBXZWJDb3JlVGhyZWFkLmNwcCAqLzsgfTsKQEAgLTM0Nyw2
ICszNTAsMTEgQEAKIAkJMUMxODFDOTUxRDMwODAwQTAwRjVGQTE2IC8qIFRleHRCcmVha0l0ZXJh
dG9ySW50ZXJuYWxJQ1VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQzUwM0JFNDIzQUFERUVBMDA3MkU2NkIgLyogTlNMb2NhbGVTUEku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNMb2NhbGVTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUM1MDNCRTUyM0FBRTBBRTAwNzJFNjZCIC8qIExhbmd1YWdlQ29jb2EubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBMYW5ndWFnZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkxQzk2ODM2MjI2QkU3NERGMDBBMkEyRjkgLyogTG9nSW5pdGlhbGl6YXRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTG9nSW5pdGlhbGl6YXRpb24uY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkxQzk2ODM2MzI2QkU3NERGMDBBMkEyRjkgLyogTG9nSW5pdGlhbGl6
YXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9nSW5pdGlhbGl6YXRpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMUM5NjgzNjUyNkJFNzU0NjAwQTJBMkY5IC8qIExvZ2dpbmcuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTG9nZ2luZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTFDOTY4MzY2MjZCRTc1NDYwMEEyQTJGOSAvKiBMb2dnaW5nLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IExvZ2dpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM5NjgzNjgyNkJF
NzZCNjAwQTJBMkY5IC8qIExvZ2dpbmdDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExv
Z2dpbmdDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBODVDQTcyNDFC
MEIxMTAwNzFDMkY1IC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFDQTg1Q0E4MjQxQjBCMjYwMDcxQzJGNSAvKiBSdW50aW1lQXBwbGljYXRp
b25DaGVja3NDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSdW50aW1lQXBwbGljYXRpb25D
aGVja3NDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQ0RCMTQ5MUU1
NjY2MjYwMDZDNzNDMCAvKiBUZXh0QnJlYWtJdGVyYXRvckNGLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFRleHRCcmVha0l0ZXJhdG9yQ0YuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTExMzAsMTEgKzExMzgsMTUgQEAKIAkJCQk5M0I1QjQ1MDIyMTcxRUU5MDA0
QjdBQTcgLyogTG9nZ2VyLmNwcCAqLywKIAkJCQkwNzdDRDg2QTFGRDlDRkQyMDA4Mjg1ODcgLyog
TG9nZ2VyLmggKi8sCiAJCQkJMDc3Q0Q4NkIxRkQ5Q0ZEMzAwODI4NTg3IC8qIExvZ2dlckhlbHBl
ci5oICovLAorCQkJCTFDOTY4MzY1MjZCRTc1NDYwMEEyQTJGOSAvKiBMb2dnaW5nLmNwcCAqLywK
KwkJCQkxQzk2ODM2NjI2QkU3NTQ2MDBBMkEyRjkgLyogTG9nZ2luZy5oICovLAogCQkJCTUxM0Ux
NzBBMUNEN0Q1QkYwMEUzNjUwQiAvKiBMb2dnaW5nQWNjdW11bGF0b3IuaCAqLywKIAkJCQkwRjMw
QkE4QzFFNzg3MDhFMDAyQ0E4NDcgLyogTG9nZ2luZ0hhc2hJRC5oICovLAogCQkJCTBGMzBCQThE
MUU3ODcwOEUwMDJDQTg0NyAvKiBMb2dnaW5nSGFzaE1hcC5oICovLAogCQkJCTBGMzBCQThFMUU3
ODcwOEUwMDJDQTg0NyAvKiBMb2dnaW5nSGFzaFNldC5oICovLAogCQkJCTBGMzBCQThGMUU3ODcw
OEUwMDJDQTg0NyAvKiBMb2dnaW5nSGFzaFRyYWl0cy5oICovLAorCQkJCTFDOTY4MzYyMjZCRTc0
REYwMEEyQTJGOSAvKiBMb2dJbml0aWFsaXphdGlvbi5jcHAgKi8sCisJCQkJMUM5NjgzNjMyNkJF
NzRERjAwQTJBMkY5IC8qIExvZ0luaXRpYWxpemF0aW9uLmggKi8sCiAJCQkJN0E2RUJBMzIyMDc0
NkMzMzAwNEY5QzQ0IC8qIE1hY2hTZW5kUmlnaHQuaCAqLywKIAkJCQlBOEE0NzJDNjE1MUE4MjVB
MDA0MTIzRkYgLyogTWFpblRocmVhZC5jcHAgKi8sCiAJCQkJQThBNDcyQzcxNTFBODI1QjAwNDEy
M0ZGIC8qIE1haW5UaHJlYWQuaCAqLywKQEAgLTE1ODUsNiArMTU5Nyw3IEBACiAJCQkJMTQzRERF
OTUyMEM4QkMzNzAwN0Y3NkZBIC8qIEVudGl0bGVtZW50cy5tbSAqLywKIAkJCQlBMzMxRDk1RTIx
RjI0OUY2MDA5RjAyQUEgLyogRmlsZVN5c3RlbUNvY29hLm1tICovLAogCQkJCTFDNTAzQkU1MjNB
QUUwQUUwMDcyRTY2QiAvKiBMYW5ndWFnZUNvY29hLm1tICovLAorCQkJCTFDOTY4MzY4MjZCRTc2
QjYwMEEyQTJGOSAvKiBMb2dnaW5nQ29jb2EubW0gKi8sCiAJCQkJN0E2RUJBMzMyMDc0NkMzNDAw
NEY5QzQ0IC8qIE1hY2hTZW5kUmlnaHQuY3BwICovLAogCQkJCUE4QTQ3MkM1MTUxQTgyNUEwMDQx
MjNGRiAvKiBNYWluVGhyZWFkQ29jb2EubW0gKi8sCiAJCQkJQURGMkNFNjUxRTM5RjEwNjAwNjg4
OURCIC8qIE1lbW9yeUZvb3RwcmludENvY29hLmNwcCAqLywKQEAgLTE3NDUsNiArMTc1OCw5IEBA
CiAJCQkJMEY2MEYzMkYxREZDQkQxQjAwNDE2RDZDIC8qIExvY2tlZFByaW50U3RyZWFtLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTFDRjE4RjNCMjZCQjU3OUUwMDRCMTcyMiAvKiBMb2dDaGFubmVs
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0I1QjQ1MTIyMTcxRUVBMDA0QjdBQTcgLyogTG9n
Z2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFDOTY4MzY3MjZCRTc1NDYwMEEyQTJGOSAvKiBM
b2dnaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFDOTY4MzY5MjZCRTc2QjYwMEEyQTJGOSAv
KiBMb2dnaW5nQ29jb2EubW0gaW4gU291cmNlcyAqLywKKwkJCQkxQzk2ODM2NDI2QkU3NERGMDBB
MkEyRjkgLyogTG9nSW5pdGlhbGl6YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM1MzRG
MkExRUMwRTEwRTAwMTQxQjJGIC8qIE1hY2hFeGNlcHRpb25zLmRlZnMgaW4gU291cmNlcyAqLywK
IAkJCQk3QTZFQkEzNDIwNzQ2QzM0MDA0RjlDNDQgLyogTWFjaFNlbmRSaWdodC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBOEE0NzNFNTE1MUE4MjVCMDA0MTIzRkYgLyogTWFpblRocmVhZC5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaCBi
L1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuaAppbmRleCAyNzdjMjJiY2ZlNjJhZTBiNmZlY2E4
OWE4YjE3NTE4MmE2MDRlYWM0Li42YjJmMGZiODQxNDcyYmNiOTcxZTE2NTI4MjY0MmZjNzhkZWI5
NDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Bc3NlcnRpb25zLmgKKysrIGIvU291cmNl
L1dURi93dGYvQXNzZXJ0aW9ucy5oCkBAIC0xODcsMTkgKzE4NywyNSBAQCB0eXBlZGVmIHN0cnVj
dCB7CiAKICNpZiAhZGVmaW5lZChERUZJTkVfTE9HX0NIQU5ORUwpCiAjaWYgUkVMRUFTRV9MT0df
RElTQUJMRUQKLSNkZWZpbmUgREVGSU5FX0xPR19DSEFOTkVMKG5hbWUsIHN1YnN5c3RlbSkgXAot
ICAgIFdURkxvZ0NoYW5uZWwgTE9HX0NIQU5ORUwobmFtZSkgPSB7IChXVEZMb2dDaGFubmVsU3Rh
dGUpMCwgI25hbWUsIChXVEZMb2dMZXZlbCkxIH07CisjZGVmaW5lIERFRklORV9MT0dfQ0hBTk5F
TF9XSVRIX0RFVEFJTFMobmFtZSwgaW5pdGlhbFN0YXRlLCBsZXZlbCwgc3Vic3lzdGVtKSBcCisg
ICAgV1RGTG9nQ2hhbm5lbCBMT0dfQ0hBTk5FTChuYW1lKSA9IHsgaW5pdGlhbFN0YXRlLCAjbmFt
ZSwgbGV2ZWwgfTsKICNlbmRpZgogI2lmIFVTRShPU19MT0cpICYmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAotI2RlZmluZSBERUZJTkVfTE9HX0NIQU5ORUwobmFtZSwgc3Vic3lzdGVtKSBcCi0gICAg
V1RGTG9nQ2hhbm5lbCBMT0dfQ0hBTk5FTChuYW1lKSA9IHsgKFdURkxvZ0NoYW5uZWxTdGF0ZSkw
LCAjbmFtZSwgKFdURkxvZ0xldmVsKTEsIHN1YnN5c3RlbSwgT1NfTE9HX0RFRkFVTFQgfTsKKyNk
ZWZpbmUgREVGSU5FX0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhuYW1lLCBpbml0aWFsU3RhdGUs
IGxldmVsLCBzdWJzeXN0ZW0pIFwKKyAgICBXVEZMb2dDaGFubmVsIExPR19DSEFOTkVMKG5hbWUp
ID0geyBpbml0aWFsU3RhdGUsICNuYW1lLCBsZXZlbCwgc3Vic3lzdGVtLCBPU19MT0dfREVGQVVM
VCB9OwogI2VuZGlmCiAjaWYgVVNFKEpPVVJOQUxEKSAmJiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
LSNkZWZpbmUgREVGSU5FX0xPR19DSEFOTkVMKG5hbWUsIHN1YnN5c3RlbSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKLSAgICBXVEZMb2dDaGFubmVsIExPR19DSEFOTkVMKG5hbWUpID0g
eyAoV1RGTG9nQ2hhbm5lbFN0YXRlKTAsICNuYW1lLCAoV1RGTG9nTGV2ZWwpMSwgc3Vic3lzdGVt
IH07CisjZGVmaW5lIERFRklORV9MT0dfQ0hBTk5FTF9XSVRIX0RFVEFJTFMobmFtZSwgaW5pdGlh
bFN0YXRlLCBsZXZlbCwgc3Vic3lzdGVtKSBcCisgICAgV1RGTG9nQ2hhbm5lbCBMT0dfQ0hBTk5F
TChuYW1lKSA9IHsgaW5pdGlhbFN0YXRlLCAjbmFtZSwgbGV2ZWwsIHN1YnN5c3RlbSB9OwogI2Vu
ZGlmCiAjZW5kaWYKIAorLy8gVGhpcyBmaWxlIGlzIGluY2x1ZGVkIGZyb20gQyAobm90IEMrKykg
ZmlsZXMsIHNvIHdlIGNhbid0IHNheSB0aGluZ3MgbGlrZSBXVEZMb2dDaGFubmVsU3RhdGU6Ok9m
Zi4KK3N0YXRpYyBjb25zdCBXVEZMb2dDaGFubmVsU3RhdGUgbG9nQ2hhbm5lbFN0YXRlT2ZmID0g
KFdURkxvZ0NoYW5uZWxTdGF0ZSkwOworc3RhdGljIGNvbnN0IFdURkxvZ0NoYW5uZWxTdGF0ZSBs
b2dDaGFubmVsU3RhdGVPbiA9IChXVEZMb2dDaGFubmVsU3RhdGUpMTsKK3N0YXRpYyBjb25zdCBX
VEZMb2dMZXZlbCBsb2dMZXZlbEVycm9yID0gKFdURkxvZ0xldmVsKTE7CisjZGVmaW5lIERFRklO
RV9MT0dfQ0hBTk5FTChuYW1lLCBzdWJzeXN0ZW0pIERFRklORV9MT0dfQ0hBTk5FTF9XSVRIX0RF
VEFJTFMobmFtZSwgbG9nQ2hhbm5lbFN0YXRlT2ZmLCBsb2dMZXZlbEVycm9yLCBzdWJzeXN0ZW0p
OworCiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnROb3RJbXBsZW1lbnRlZFlldChj
b25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24pOwogV1RGX0VY
UE9SVF9QUklWQVRFIHZvaWQgV1RGUmVwb3J0QXNzZXJ0aW9uRmFpbHVyZShjb25zdCBjaGFyKiBm
aWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGFzc2VydGlv
bik7CiBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBXVEZSZXBvcnRBc3NlcnRpb25GYWlsdXJlV2l0
aE1lc3NhZ2UoY29uc3QgY2hhciogZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIqIGZ1bmN0aW9u
LCBjb25zdCBjaGFyKiBhc3NlcnRpb24sIGNvbnN0IGNoYXIqIGZvcm1hdCwgLi4uKSBXVEZfQVRU
UklCVVRFX1BSSU5URig1LCA2KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKaW5kZXggNTFhZjBhYTAxNWM2
MTJlYmZiNjliMzljZWI2NjQyMzE0NmE1ZWUxZS4uYWY4ZDI5MDQ2NGZjYWY1OTVjMGE0NjZhMGZj
ODViZTI5ZDRiNGJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTEyNCw4ICsxMjQsMTAgQEAg
c2V0KFdURl9QVUJMSUNfSEVBREVSUwogICAgIExvY2tlci5oCiAgICAgTG9ja2xlc3NCYWcuaAog
ICAgIExvZ0NoYW5uZWxzLmgKKyAgICBMb2dJbml0aWFsaXphdGlvbi5oCiAgICAgTG9nZ2VyLmgK
ICAgICBMb2dnZXJIZWxwZXIuaAorICAgIExvZ2dpbmcuaAogICAgIExvZ2dpbmdBY2N1bXVsYXRv
ci5oCiAgICAgTG9nZ2luZ0hhc2hJRC5oCiAgICAgTG9nZ2luZ0hhc2hNYXAuaApAQCAtNDI0LDcg
KzQyNiw5IEBAIHNldChXVEZfU09VUkNFUwogICAgIExvY2suY3BwCiAgICAgTG9ja2VkUHJpbnRT
dHJlYW0uY3BwCiAgICAgTG9nQ2hhbm5lbHMuY3BwCisgICAgTG9nSW5pdGlhbGl6YXRpb24uY3Bw
CiAgICAgTG9nZ2VyLmNwcAorICAgIExvZ2dpbmcuY3BwCiAgICAgTWFpblRocmVhZC5jcHAKICAg
ICBNZWRpYVRpbWUuY3BwCiAgICAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvTG9nSW5pdGlhbGl6YXRpb24uY3BwIGIvU291cmNlL1dURi93dGYv
TG9nSW5pdGlhbGl6YXRpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1MDg4NzNhMjBhNmE5NTZmNDRhMGQ4
NzgzYjdlNjQ0ZTU4NGM5MTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Mb2dJ
bml0aWFsaXphdGlvbi5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
TG9nSW5pdGlhbGl6YXRpb24uaCIKKworI2luY2x1ZGUgPHd0Zi9Mb2dDaGFubmVscy5oPgorI2lu
Y2x1ZGUgPHd0Zi9Mb2dnaW5nLmg+CisKK25hbWVzcGFjZSBXVEYgeworCisjaWYgIUxPR19ESVNB
QkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKworY2xhc3MgV1RGTG9nQ2hhbm5lbHMgZmlu
YWwgOiBwdWJsaWMgTG9nQ2hhbm5lbHMgeworcHVibGljOgorICAgIFdURkxvZ0NoYW5uZWxzKCkK
KyAgICB7CisgICAgICAgIG1fbG9nQ2hhbm5lbHMgPSB7CisgICAgICAgICAgICBXVEZfTE9HX0NI
QU5ORUxTKExPR19DSEFOTkVMX0FERFJFU1MpCisgICAgICAgIH07CisgICAgfQorCitwcml2YXRl
OgorICAgIFN0cmluZyBsb2dMZXZlbFN0cmluZygpIGZpbmFsCisgICAgeworICAgICAgICByZXR1
cm4gV1RGOjpsb2dMZXZlbFN0cmluZygpOworICAgIH0KK307CisKK0xvZ0NoYW5uZWxzJiBsb2dD
aGFubmVscygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFdURkxvZ0NoYW5uZWxzPiBs
b2dDaGFubmVsczsKKyAgICByZXR1cm4gbG9nQ2hhbm5lbHMuZ2V0KCk7Cit9CisKKyNlbmRpZiAv
LyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Mb2dJbml0aWFsaXphdGlvbi5o
IGIvU291cmNlL1dURi93dGYvTG9nSW5pdGlhbGl6YXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjNjODVh
NTgwZTZlMjY3MmJhM2JmZjQ3MWFmMTkzOThhN2I0MzVmCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dURi93dGYvTG9nSW5pdGlhbGl6YXRpb24uaApAQCAtMCwwICsxLDQwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aW5jbHVkZSA8d3RmL0xvZ0NoYW5uZWxzLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CisKK25hbWVzcGFjZSBXVEYgeworCisjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9M
T0dfRElTQUJMRUQKKworV1RGX0VYUE9SVF9QUklWQVRFIExvZ0NoYW5uZWxzJiBsb2dDaGFubmVs
cygpOworU3RyaW5nIGxvZ0xldmVsU3RyaW5nKCk7CisKKyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVE
IHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmcuY3BwIGIvU291cmNlL1dURi93dGYvTG9nZ2luZy5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWUzZDQ1YjM5OTA2NzM5ZmY0MWNiODViNDRmMGQyN2RkZGQ2OGM4ZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0xvZ2dpbmcuY3BwCkBAIC0wLDAgKzEs
NDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKworbmFtZXNwYWNlIFdURiB7
CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCitERUZJTkVf
TE9HX0NIQU5ORUxfV0lUSF9ERVRBSUxTKFJlZkNvdW50ZWRMZWFrcywgbG9nQ2hhbm5lbFN0YXRl
T24sICBsb2dMZXZlbEVycm9yLCBMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNKTsKK0RFRklO
RV9MT0dfQ0hBTk5FTF9XSVRIX0RFVEFJTFMoUHJvY2VzcywgICAgICAgICBsb2dDaGFubmVsU3Rh
dGVPbiwgIGxvZ0xldmVsRXJyb3IsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOworREVG
SU5FX0xPR19DSEFOTkVMX1dJVEhfREVUQUlMUyhUaHJlYWRpbmcsICAgICAgIGxvZ0NoYW5uZWxT
dGF0ZU9uLCAgbG9nTGV2ZWxFcnJvciwgTE9HX0NIQU5ORUxfV0VCS0lUX1NVQlNZU1RFTSk7CitE
RUZJTkVfTE9HX0NIQU5ORUwoTWVtb3J5UHJlc3N1cmUsIExPR19DSEFOTkVMX1dFQktJVF9TVUJT
WVNURU0pOworCisjZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
TG9nZ2luZy5oIGIvU291cmNlL1dURi93dGYvTG9nZ2luZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmOTE5NGZl
OTM3MGJjOWFkZWI1MzI1NzFjNzBlOTM4MWFkM2ExNjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9Mb2dnaW5nLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0
Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIFdU
RiB7CisKKyNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCisjaWZu
ZGVmIExPR19DSEFOTkVMX1BSRUZJWAorI2RlZmluZSBMT0dfQ0hBTk5FTF9QUkVGSVggV1RGTG9n
CisjZW5kaWYKKworI2RlZmluZSBXVEZfTE9HX0NIQU5ORUxTKE0pIFwKKyAgICBNKFJlZkNvdW50
ZWRMZWFrcykgXAorICAgIE0oUHJvY2VzcykgXAorICAgIE0oVGhyZWFkaW5nKSBcCisgICAgTShN
ZW1vcnlQcmVzc3VyZSkgXAorCisjdW5kZWYgREVDTEFSRV9MT0dfQ0hBTk5FTAorI2RlZmluZSBE
RUNMQVJFX0xPR19DSEFOTkVMKG5hbWUpIFwKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgZXh0ZXJu
IFdURkxvZ0NoYW5uZWwgSk9JTl9MT0dfQ0hBTk5FTF9XSVRIX1BSRUZJWChMT0dfQ0hBTk5FTF9Q
UkVGSVgsIG5hbWUpOworCitXVEZfTE9HX0NIQU5ORUxTKERFQ0xBUkVfTE9HX0NIQU5ORUwpCisK
KyNlbmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorCit9IC8v
IG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJl
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCmlu
ZGV4IDc1YTA4NTQ2MDhlZjVhOTIxZTI1MjkyZGExZmI2OGY0ZWQxNTc1ZjguLmM3NWE0M2JjNWJl
YTlhY2QwMmEzN2I1NjdhODlmYjViYjM4NzEzN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dURi93dGYvTWVtb3J5UHJl
c3N1cmVIYW5kbGVyLmNwcApAQCAtMjYsMTYgKzI2LDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSA8d3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgogCisjaW5jbHVkZSA8d3Rm
L0xvZ2dpbmcuaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5Rm9vdHByaW50Lmg+CiAjaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JBTVNpemUuaD4KIAotI2RlZmlu
ZSBMT0dfQ0hBTk5FTF9QUkVGSVggTG9nCi0KIG5hbWVzcGFjZSBXVEYgewogCi1ERUZJTkVfTE9H
X0NIQU5ORUwoTWVtb3J5UHJlc3N1cmUsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0pOwot
CiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OlJlbGllZkxv
Z2dlcjo6c19sb2dnaW5nRW5hYmxlZCA9IGZhbHNlOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKQEAgLTUzLDkgKzUwLDYgQEAgTWVtb3J5UHJlc3N1cmVIYW5kbGVyJiBNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXI6OnNpbmdsZXRvbigpCiAgICAgc3RhdGljIExhenlOZXZlckRlc3Ryb3llZDxNZW1v
cnlQcmVzc3VyZUhhbmRsZXI+IG1lbW9yeVByZXNzdXJlSGFuZGxlcjsKICAgICBzdGF0aWMgc3Rk
OjpvbmNlX2ZsYWcgb25jZUtleTsKICAgICBzdGQ6OmNhbGxfb25jZShvbmNlS2V5LCBbJl0gewot
ICAgICAgICBXVEZMb2dDaGFubmVsKiBjaGFubmVsc1tdID0geyAmTG9nTWVtb3J5UHJlc3N1cmUg
fTsKLSAgICAgICAgV1RGSW5pdGlhbGl6ZUxvZ0NoYW5uZWxTdGF0ZXNGcm9tU3RyaW5nKGNoYW5u
ZWxzLCAxLCAiIik7Ci0KICAgICAgICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNvbnN0cnVjdCgp
OwogICAgIH0pOwogICAgIHJldHVybiBtZW1vcnlQcmVzc3VyZUhhbmRsZXI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCBiL1NvdXJjZS9XVEYvd3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5oCmluZGV4IDA5MzA2ZTMzNGEzYmMzOWU5ZTczYmI0MDhl
NDAwMTI2MmYxYmVkOTIuLmVhZWQ3OTI1YzEzYmNhODVmYzc3YzNlNzRiN2I4MTVjYzgzNDVkMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oCkBAIC0yNzIsOCArMjcyLDYg
QEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAotZXh0ZXJuIFdURkxvZ0NoYW5uZWwgTG9nTWVtb3J5
UHJlc3N1cmU7Ci0KIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBXVEY6OkNyaXRpY2FsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1GVFcuY21ha2UgYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybUZUVy5jbWFrZQppbmRleCAxNTMzMTI3M2M5MTFhZTdiZTA0YWEwZWEyOGU2
ZGY2MjU0MTYzZjRmLi42ODJmNDIwZGM4NzU0NzA0MWFkYmM3OTVlMzhkZTM4YjkzMDdhMjViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUZUVy5jbWFrZQorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUZUVy5jbWFrZQpAQCAtMjQsNiArMjQsNyBAQCBsaXN0KEFQUEVORCBX
VEZfU09VUkNFUwogICAgIHdpbi9EYmdIZWxwZXJXaW4uY3BwCiAgICAgd2luL0ZpbGVTeXN0ZW1X
aW4uY3BwCiAgICAgd2luL0xhbmd1YWdlV2luLmNwcAorICAgIHdpbi9Mb2dnaW5nV2luLmNwcAog
ICAgIHdpbi9NYWluVGhyZWFkV2luLmNwcAogICAgIHdpbi9NZW1vcnlGb290cHJpbnRXaW4uY3Bw
CiAgICAgd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1HVEsu
Y21ha2UKaW5kZXggOWJkNWZkZTViYzM4MzU1ZTI1YmMwOWQwNWEwNDVkZjMxZWZhYTI1OS4uNGEx
MmI1YTQzOTNmZTJiYmUzOTY3M2UzZmE1NDdjOWQ2OTc2YWJkNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1H
VEsuY21ha2UKQEAgLTQ0LDYgKzQ0LDcgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKICAgICB0
ZXh0L3VuaXgvVGV4dEJyZWFrSXRlcmF0b3JJbnRlcm5hbElDVVVuaXguY3BwCiAKICAgICB1bml4
L0xhbmd1YWdlVW5peC5jcHAKKyAgICB1bml4L0xvZ2dpbmdVbml4LmNwcAogICAgIHVuaXgvVW5p
U3RkRXh0cmFzVW5peC5jcHAKICkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZv
cm1KU0NPbmx5LmNtYWtlIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1KU0NPbmx5LmNtYWtlCmlu
ZGV4IGMyYjNhMGZlNGM4NWQ2NjRjNTk4ZTJhZDZkZWE2MDk4YjIyMmEwZGIuLmU5M2EyODVhMmQ4
NzE3NTc4MTVlZWUyNmJmNWI2NWQ0YTM5Y2NhZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSlNDT25seS5jbWFrZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUpTQ09u
bHkuY21ha2UKQEAgLTExLDYgKzExLDcgQEAgaWYgKFdJTjMyKQogICAgICAgICB3aW4vRGJnSGVs
cGVyV2luLmNwcAogICAgICAgICB3aW4vRmlsZVN5c3RlbVdpbi5jcHAKICAgICAgICAgd2luL0xh
bmd1YWdlV2luLmNwcAorICAgICAgICB3aW4vTG9nZ2luZ1dpbi5jcHAKICAgICAgICAgd2luL01h
aW5UaHJlYWRXaW4uY3BwCiAgICAgICAgIHdpbi9PU0FsbG9jYXRvcldpbi5jcHAKICAgICAgICAg
d2luL1BhdGhXYWxrZXIuY3BwCkBAIC0zNyw2ICszOCw3IEBAIGVsc2UgKCkKICAgICAgICAgdGV4
dC91bml4L1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VVbml4LmNwcAogCiAgICAgICAgIHVu
aXgvTGFuZ3VhZ2VVbml4LmNwcAorICAgICAgICB1bml4L0xvZ2dpbmdVbml4LmNwcAogICAgICkK
ICAgICBpZiAoV1RGX09TX0ZVQ0hTSUEpCiAgICAgICAgIGxpc3QoQVBQRU5EIFdURl9TT1VSQ0VT
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCmluZGV4IDI2MmVhZjUzOTZkZTA5ZmUwOTk5ODExZmIz
MmYwM2M0ZmM2OWIwNDguLjM2YmJiOWRjYmExY2JjNTA2MzUzMTRhZDI2Yzk0YmMwNDZiZmI0ZDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtTWFjLmNtYWtlCkBAIC02NCw2ICs2NCw3IEBAIGxpc3QoQVBQRU5E
IFdURl9TT1VSQ0VTCiAgICAgY29jb2EvRW50aXRsZW1lbnRzLm1tCiAgICAgY29jb2EvRmlsZVN5
c3RlbUNvY29hLm1tCiAgICAgY29jb2EvTGFuZ3VhZ2VDb2NvYS5tbQorICAgIGNvY29hL0xvZ2dp
bmdDb2NvYS5tbQogICAgIGNvY29hL01hY2hTZW5kUmlnaHQuY3BwCiAgICAgY29jb2EvTWFpblRo
cmVhZENvY29hLm1tCiAgICAgY29jb2EvTWVtb3J5Rm9vdHByaW50Q29jb2EuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZQppbmRleCA2NTVmMGM5MTViMmY1ZTIzNTZh
ZjRjODFhODBmZWU1NmQ4YzRhNGY3Li5hMDM1OTA1NzAxMmI0YjAxZGNiNTM5ODZhYzQ2YmIwNmJi
ZGQ1MjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNt
YWtlCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UKQEAgLTE1
LDYgKzE1LDcgQEAgbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMKIAogICAgIHRleHQvdW5peC9UZXh0
QnJlYWtJdGVyYXRvckludGVybmFsSUNVVW5peC5jcHAKIAorICAgIHVuaXgvTG9nZ2luZ1VuaXgu
Y3BwCiAgICAgdW5peC9NZW1vcnlQcmVzc3VyZUhhbmRsZXJVbml4LmNwcAogKQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdQRS5jbWFrZSBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtV1BFLmNtYWtlCmluZGV4IGE4NDBhNDg3ZmYwM2EzYzgyNzQ1NWNhYjY3ZmFhOGY4M2Qy
MGJmYTkuLjY0M2VmMGZjZGY0ZjNjZTRhMWYyN2JjMGNjNmUxNzliNzE0M2JiZDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0zNyw2ICszNyw3IEBAIGxpc3QoQVBQRU5EIFdURl9TT1VS
Q0VTCiAgICAgdGV4dC91bml4L1RleHRCcmVha0l0ZXJhdG9ySW50ZXJuYWxJQ1VVbml4LmNwcAog
CiAgICAgdW5peC9MYW5ndWFnZVVuaXguY3BwCisgICAgdW5peC9Mb2dnaW5nVW5peC5jcHAKICAg
ICB1bml4L01lbW9yeVByZXNzdXJlSGFuZGxlclVuaXguY3BwCiAgICAgdW5peC9VbmlTdGRFeHRy
YXNVbml4LmNwcAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1XaW4uY21h
a2UgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQppbmRleCA2OGY3Mzg4ZTdmMzVk
Y2U4YTM3ZWM4YjhkY2EyZTZiODRlNDljYTU4Li5jYzQzYTIxYzhlZmYzNmU0MWYxZjk3YWY2ZTkz
YTVlMTg2ZjU2MDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFr
ZQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVdpbi5jbWFrZQpAQCAtMTcsNiArMTcsNyBA
QCBsaXN0KEFQUEVORCBXVEZfU09VUkNFUwogICAgIHdpbi9EYmdIZWxwZXJXaW4uY3BwCiAgICAg
d2luL0ZpbGVTeXN0ZW1XaW4uY3BwCiAgICAgd2luL0xhbmd1YWdlV2luLmNwcAorICAgIHdpbi9M
b2dnaW5nV2luLmNwcAogICAgIHdpbi9NYWluVGhyZWFkV2luLmNwcAogICAgIHdpbi9NZW1vcnlG
b290cHJpbnRXaW4uY3BwCiAgICAgd2luL01lbW9yeVByZXNzdXJlSGFuZGxlcldpbi5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1JlZkNvdW50ZWRMZWFrQ291bnRlci5jcHAgYi9Tb3Vy
Y2UvV1RGL3d0Zi9SZWZDb3VudGVkTGVha0NvdW50ZXIuY3BwCmluZGV4IGRmYTIwNDNkZGQ0NWFm
NTg1NDhhNDc0NzdhMmNmMWEyYjgzMDE4ZWEuLmFlMTQyOTk5MzE4ZDYzZDE0NjkwMjJkNmI1NGE4
YmZjNzRlMzQ3NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1JlZkNvdW50ZWRMZWFrQ291
bnRlci5jcHAKKysrIGIvU291cmNlL1dURi93dGYvUmVmQ291bnRlZExlYWtDb3VudGVyLmNwcApA
QCAtMjEsNiArMjEsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkTGVha0NvdW50ZXIuaD4KIAorI2luY2x1ZGUgPHd0Zi9Mb2dnaW5nLmg+CisKICNpZmRl
ZiBOREVCVUcKIG5hbWVzcGFjZSBXVEYgewogCkBAIC0zOSwxNyArNDEsNiBAQCB2b2lkIFJlZkNv
dW50ZWRMZWFrQ291bnRlcjo6ZGVjcmVtZW50KCkgeyB9CiAKIG5hbWVzcGFjZSBXVEYgewogCi0j
ZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKLSNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAot
c3RhdGljIFdURkxvZ0NoYW5uZWwgTG9nUmVmQ291bnRlZExlYWtzID0geyBXVEZMb2dDaGFubmVs
U3RhdGU6Ok9uLCAiUmVmQ291bnRlZExlYWtzIiwgV1RGTG9nTGV2ZWw6OkVycm9yIH07Ci0jZW5k
aWYKLSNpZiBVU0UoT1NfTE9HKSAmJiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLXN0YXRpYyBXVEZM
b2dDaGFubmVsIExvZ1JlZkNvdW50ZWRMZWFrcyA9IHsgV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiwg
IlJlZkNvdW50ZWRMZWFrcyIsIFdURkxvZ0xldmVsOjpFcnJvciwgTE9HX0NIQU5ORUxfV0VCS0lU
X1NVQlNZU1RFTSwgT1NfTE9HX0RFRkFVTFQgfTsKLSNlbmRpZgotI2lmIFVTRShKT1VSTkFMRCkg
JiYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi1zdGF0aWMgV1RGTG9nQ2hhbm5lbCBMb2dSZWZDb3Vu
dGVkTGVha3MgPSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJSZWZDb3VudGVkTGVha3MiLCBX
VEZMb2dMZXZlbDo6RXJyb3IsIExPR19DSEFOTkVMX1dFQktJVF9TVUJTWVNURU0gfTsKLSNlbmRp
ZgotCiB0eXBlZGVmIEhhc2hDb3VudGVkU2V0PGNvbnN0IGNoYXIqLCBQdHJIYXNoPGNvbnN0IGNo
YXIqPj4gUmVhc29uU2V0Owogc3RhdGljIFJlYXNvblNldCogbGVha01lc3NhZ2VTdXBwcmVzc2lv
blJlYXNvbnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL0xvZ2dpbmdDb2Nv
YS5tbSBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL0xvZ2dpbmdDb2NvYS5tbQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
MGZjMzgwODU1MWFjNDc5Y2JhM2ZlNjNjYzZiNzU1NWIzZWE0ODdkCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dURi93dGYvY29jb2EvTG9nZ2luZ0NvY29hLm1tCkBAIC0wLDAgKzEsNDQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgPHd0Zi9Mb2dJbml0aWFs
aXphdGlvbi5oPgorCisjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KworbmFtZXNwYWNlIFdURiB7CisKK1N0cmluZyBsb2dMZXZlbFN0cmluZygpCit7CisjaWYgIUxP
R19ESVNBQkxFRAorICAgIHJldHVybiBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBzdHJpbmdGb3JLZXk6QCJXVEZMb2dnaW5nIl07CisjZWxzZQorICAgIHJldHVybiBTdHJp
bmcoKTsKKyNlbmRpZgorfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NYWNoU2VuZFJpZ2h0LmNwcCBiL1NvdXJjZS9X
VEYvd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3BwCmluZGV4IDJlYjMwMmQxZGQ1YTkyNmIyNTU4
MzE1YWQzNzI4OGZlNDk3ZWYyZWYuLjU1YzFlNTJhOGQwMGI5OWJiZGIyZWFiYWE2MmJjZWE5YmE1
NDA2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3Bw
CisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL01hY2hTZW5kUmlnaHQuY3BwCkBAIC0zMCwxNiAr
MzAsMTAgQEAKICNpbmNsdWRlIDxtYWNoL21hY2hfaW5pdC5oPgogI2luY2x1ZGUgPHV0aWxpdHk+
CiAKLSNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZworI2luY2x1ZGUgPHd0Zi9Mb2dnaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXVEYgewogCi0jaWYgUkVMRUFTRV9MT0dfRElTQUJMRUQKLVdURkxv
Z0NoYW5uZWwgTG9nUHJvY2VzcyA9IHsgV1RGTG9nQ2hhbm5lbFN0YXRlOjpPbiwgIlByb2Nlc3Mi
LCBXVEZMb2dMZXZlbDo6RXJyb3IgfTsKLSNlbHNlCi1XVEZMb2dDaGFubmVsIExvZ1Byb2Nlc3Mg
PSB7IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJQcm9jZXNzIiwgV1RGTG9nTGV2ZWw6OkVycm9y
LCBMT0dfQ0hBTk5FTF9XRUJLSVRfU1VCU1lTVEVNLCBPU19MT0dfREVGQVVMVCB9OwotI2VuZGlm
Ci0KIHN0YXRpYyB2b2lkIHJldGFpblNlbmRSaWdodChtYWNoX3BvcnRfdCBwb3J0KQogewogICAg
IGlmIChwb3J0ID09IE1BQ0hfUE9SVF9OVUxMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
Y29jb2EvTWFpblRocmVhZENvY29hLm1tIGIvU291cmNlL1dURi93dGYvY29jb2EvTWFpblRocmVh
ZENvY29hLm1tCmluZGV4IGZkNjM3ZjdmNDcyMDE2MGY4MzA5ZDU4ZjZiMDk1Y2YzMjMxZmVlMmQu
LjU4OGVkMDBhOGI3MzAwMjE1NDczMGE2ZDMyZTBmZWU4MmQ2MmRkNjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL2NvY29hL01haW5UaHJlYWRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9jb2NvYS9NYWluVGhyZWFkQ29jb2EubW0KQEAgLTM1LDYgKzM1LDcgQEAKICNpbXBvcnQgPHN0
ZGlvLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRy
Lmg+CisjaW1wb3J0IDx3dGYvTG9nZ2luZy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgog
I2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KICNpbXBvcnQgPHd0Zi9TY2hlZHVsZVBhaXIuaD4KQEAg
LTQ0LDE2ICs0NSw4IEBACiAjaW1wb3J0IDx3dGYvaW9zL1dlYkNvcmVUaHJlYWQuaD4KICNlbmRp
ZgogCi0jZGVmaW5lIExPR19DSEFOTkVMX1BSRUZJWCBMb2cKLQogbmFtZXNwYWNlIFdURiB7CiAK
LSNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAotV1RGTG9nQ2hhbm5lbCBMb2dUaHJlYWRpbmcgPSB7
IFdURkxvZ0NoYW5uZWxTdGF0ZTo6T24sICJUaHJlYWRpbmciLCBXVEZMb2dMZXZlbDo6RXJyb3Ig
fTsKLSNlbHNlCi1XVEZMb2dDaGFubmVsIExvZ1RocmVhZGluZyA9IHsgV1RGTG9nQ2hhbm5lbFN0
YXRlOjpPbiwgIlRocmVhZGluZyIsIFdURkxvZ0xldmVsOjpFcnJvciwgTE9HX0NIQU5ORUxfV0VC
S0lUX1NVQlNZU1RFTSwgT1NfTE9HX0RFRkFVTFQgfTsKLSNlbmRpZgotCiAjaWYgVVNFKFdFQl9U
SFJFQUQpCiAvLyBXaGVuIHRoZSBXZWIgdGhyZWFkIGlzIGVuYWJsZWQsIHdlIGNvbnNpZGVyIGl0
IHRvIGJlIHRoZSBtYWluIHRocmVhZCwgbm90IHB0aHJlYWQgbWFpbi4KIHN0YXRpYyBwdGhyZWFk
X3Qgc193ZWJUaHJlYWRQdGhyZWFkOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2Ev
TWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29jb2EubW0gYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NZW1v
cnlQcmVzc3VyZUhhbmRsZXJDb2NvYS5tbQppbmRleCBhN2JiZGQzOTBiODA5Y2FiNjhmMTFlNzc2
ZTMxOGZmOTVmOGIwOGZjLi45NjIwNWQwZjI4NjBkNDI4MWMyNzI5YjM1ODcwNjA2ZTQzYTU0YTU4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9NZW1vcnlQcmVzc3VyZUhhbmRsZXJD
b2NvYS5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCA8bWFjaC90YXNrX2luZm8uaD4KICNp
bXBvcnQgPG1hbGxvYy9tYWxsb2MuaD4KICNpbXBvcnQgPG5vdGlmeS5oPgorI2ltcG9ydCA8d3Rm
L0xvZ2dpbmcuaD4KICNpbXBvcnQgPHd0Zi9SZXNvdXJjZVVzYWdlLmg+CiAjaW1wb3J0IDx3dGYv
c3BpL2Rhcndpbi9EaXNwYXRjaFNQSS5oPgogCkBAIC0zNyw4ICszOCw2IEBACiAKIGV4dGVybiAi
QyIgdm9pZCBjYWNoZV9zaW11bGF0ZV9tZW1vcnlfd2FybmluZ19ldmVudCh1aW50NjRfdCk7CiAK
LSNkZWZpbmUgTE9HX0NIQU5ORUxfUFJFRklYIExvZwotCiBuYW1lc3BhY2UgV1RGIHsKIAogdm9p
ZCBNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnBsYXRmb3JtUmVsZWFzZU1lbW9yeShDcml0aWNhbCBj
cml0aWNhbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VuaXgvTG9nZ2luZ1VuaXguY3Bw
IGIvU291cmNlL1dURi93dGYvdW5peC9Mb2dnaW5nVW5peC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmJmMmJj
ZmEzZjUwZDFmNDg5MmIxZGFjOGY2MzdjNzE1ZTA0ZmI1YwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL3VuaXgvTG9nZ2luZ1VuaXguY3BwCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KKyAqIENvcHly
aWdodCAoQykgMjAwOSBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+CisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCisjaWYgIUxPR19ESVNBQkxFRCB8
fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV1RGIHsKKworU3RyaW5nIGxvZ0xl
dmVsU3RyaW5nKCkKK3sKKyAgICBjaGFyKiBsb2dFbnYgPSBnZXRlbnYoIldFQktJVF9ERUJVRyIp
OworCisgICAgLy8gV2Ugc2V0IHVwIHRoZSBsb2dzIGFueXdheSBiZWNhdXNlIHNvbWUgb2Ygb3Vy
IGxvZ2dpbmcsIHN1Y2ggYXMgU291cCdzIGlzIGF2YWlsYWJsZSBpbiByZWxlYXNlIGJ1aWxkcy4K
KyNpZiBkZWZpbmVkKE5ERUJVRykgJiYgUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBXVEZMb2dB
bHdheXMoIldFQktJVF9ERUJVRyBpcyBub3QgZW1wdHksIGJ1dCB0aGlzIGlzIGEgcmVsZWFzZSBi
dWlsZC4gTm90aWNlIHRoYXQgbWFueSBsb2cgbWVzc2FnZXMgd2lsbCBvbmx5IGFwcGVhciBpbiBh
IGRlYnVnIGJ1aWxkLiIpOworI2VuZGlmCisKKyAgICAvLyBUbyBkaXNhYmxlIGxvZ2dpbmcgbm90
SW1wbGVtZW50ZWQgc2V0IHRoZSBESVNBQkxFX05JX1dBUk5JTkcgZW52aXJvbm1lbnQgdmFyaWFi
bGUgdG8gMS4KKyAgICByZXR1cm4gbG9nRW52OworfQorCit9IC8vIG5hbWVzcGFjZSBXVEYKKwor
I2VuZGlmIC8vICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi93aW4vTG9nZ2luZ1dpbi5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi93
aW4vTG9nZ2luZ1dpbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmMyYTczZTE0NjI5OGI3NjBmNzk3ZWFlMDdi
ZTQ5ZjJmNGIxMThjYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL3dpbi9Mb2dn
aW5nV2luLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKKworI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisKKyNpbmNs
dWRlIDx3aW5kb3dzLmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV1RGIHsKKworU3RyaW5nIGxvZ0xl
dmVsU3RyaW5nKCkKK3sKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgc3RhdGljIGNvbnN0ZXhwciBj
b25zdCBjaGFyKiBsb2dnaW5nRW52aXJvbm1lbnRWYXJpYWJsZSA9ICJXVEZMb2dnaW5nIjsKKyAg
ICBEV09SRCBsZW5ndGggPSBHZXRFbnZpcm9ubWVudFZhcmlhYmxlQShsb2dnaW5nRW52aXJvbm1l
bnRWYXJpYWJsZSwgMCwgMCk7CisgICAgaWYgKCFsZW5ndGgpCisgICAgICAgIHJldHVybiBlbXB0
eVN0cmluZygpOworCisgICAgVmVjdG9yPGNoYXI+IGJ1ZmZlcihsZW5ndGgpOworCisgICAgaWYg
KCFHZXRFbnZpcm9ubWVudFZhcmlhYmxlQShsb2dnaW5nRW52aXJvbm1lbnRWYXJpYWJsZSwgYnVm
ZmVyLmRhdGEoKSwgbGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisKKyAg
ICByZXR1cm4gU3RyaW5nKGJ1ZmZlci5kYXRhKCkpOworI2Vsc2UKKyAgICByZXR1cm4gU3RyaW5n
KCk7CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3BhY2UgV1RGCisKKyNlbmRpZiAvLyAhTE9HX0RJ
U0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VVByb2Nlc3MuY3BwCmluZGV4IGVkN2YyOWU2ZTA4MDYyNzg1Mjg5ZTQxMDAzZTY4MTNmZjk4YTVh
OWMuLmNmMjhkMTFmZTExYWY5NjA5MjRkOTY1Y2UxNjE4MmI1ZmQ1MThhYWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaD4KICNpbmNsdWRlIDx3dGYvQWxnb3Jp
dGhtcy5oPgogI2luY2x1ZGUgPHd0Zi9DYWxsYmFja0FnZ3JlZ2F0b3IuaD4KKyNpbmNsdWRlIDx3
dGYvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbmNsdWRlIDx3dGYvTWVtb3J5UHJlc3N1cmVIYW5k
bGVyLmg+CiAjaW5jbHVkZSA8d3RmL09wdGlvblNldC5oPgogI2luY2x1ZGUgPHd0Zi9Qcm9jZXNz
UHJpdmlsZWdlLmg+CkBAIC0yNDMsNiArMjQ0LDcgQEAgdm9pZCBHUFVQcm9jZXNzOjppbml0aWFs
aXplR1BVUHJvY2VzcyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykK
ICNlbmRpZgogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICBXVEY6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFy
YW1ldGVycy53dGZMb2dnaW5nQ2hhbm5lbHMpOwogICAgIFdlYkNvcmU6OmxvZ0NoYW5uZWxzKCku
aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53ZWJDb3JlTG9nZ2lu
Z0NoYW5uZWxzKTsKICAgICBXZWJLaXQ6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5u
ZWxzSWZOZWNlc3NhcnkocGFyYW1ldGVycy53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggZGY0YmEyMGRhMjVkNTBiZDZmMjc1NTYwMDExMjM5ZDQ2
ZTZkNGNlZS4uZThjOTkxM2QzNWI5MTRiMTIzOWE2NzNhNmI0NjNhODY5OWEzYThiMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcApAQCAtNTksNiArNTksNyBAQCB2b2lkIEdQVVByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2Rl
ciA8PCBkeW5hbWljTWFjaEV4dGVuc2lvbkhhbmRsZXM7CiAjZW5kaWYKIAorICAgIGVuY29kZXIg
PDwgd3RmTG9nZ2luZ0NoYW5uZWxzOwogICAgIGVuY29kZXIgPDwgd2ViQ29yZUxvZ2dpbmdDaGFu
bmVsczsKICAgICBlbmNvZGVyIDw8IHdlYktpdExvZ2dpbmdDaGFubmVsczsKIH0KQEAgLTEwOSw2
ICsxMTAsOCBAQCBib29sIEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6
OkRlY29kZXImIGRlY29kZXIsIEdQVVByb2Nlc3NDcmVhdAogICAgIHJlc3VsdC5keW5hbWljTWFj
aEV4dGVuc2lvbkhhbmRsZXMgPSBXVEZNb3ZlKCpkeW5hbWljTWFjaEV4dGVuc2lvbkhhbmRsZXMp
OwogI2VuZGlmCiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC53dGZMb2dnaW5nQ2hh
bm5lbHMpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQud2ViQ29yZUxvZ2dpbmdDaGFubmVscykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC53ZWJLaXRMb2dnaW5nQ2hhbm5lbHMpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKaW5kZXggNjM0NjczMTI3MmJkMDcyOTBhNmU4YmNkYjRiNDBmZjRlZGY2MTAyZS4u
ZDRhOWIyYjc1NTc4Mzk4M2JhZDU3MzFmZTZhNTI2ODZkMjFjMzdhNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CkBAIC01Nyw2ICs1Nyw3IEBAIHN0cnVjdCBHUFVQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsK
ICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBkeW5hbWljTWFjaEV4dGVuc2lvbkhh
bmRsZXM7CiAjZW5kaWYKIAorICAgIFN0cmluZyB3dGZMb2dnaW5nQ2hhbm5lbHM7CiAgICAgU3Ry
aW5nIHdlYkNvcmVMb2dnaW5nQ2hhbm5lbHM7CiAgICAgU3RyaW5nIHdlYktpdExvZ2dpbmdDaGFu
bmVsczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAppbmRleCAw
OTVjZjQ1OTE0NjIxYzE4ODMyYmFhOTU2Njc1ZjNiMGQ4MWQ3MmNkLi43YTU5NzY2MWUyZjk5ZmVj
ZmMxNmRmMjk3NDI0NDEyZGQ3MWM2NjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BdXhpbGlhcnlQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlh
cnlQcm9jZXNzLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eUlk
ZW50aWZpZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW5j
bHVkZSA8cGFsL1Nlc3Npb25JRC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dJbml0aWFsaXphdGlvbi5o
PgogCiAjaWYgIU9TKFdJTkRPV1MpCiAjaW5jbHVkZSA8dW5pc3RkLmg+CkBAIC04Miw2ICs4Myw3
IEBAIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6aW5pdGlhbGl6ZShjb25zdCBBdXhpbGlhcnlQcm9j
ZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzCiAgICAgaW5pdGlhbGl6ZVNhbmRib3gocGFyYW1l
dGVycywgc2FuZGJveFBhcmFtZXRlcnMpOwogCiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKKyAgICBXVEY6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5u
ZWxzSWZOZWNlc3NhcnkoKTsKICAgICBXZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVM
b2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAgV2ViS2l0Ojpsb2dDaGFubmVscygpLmluaXRp
YWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8
fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYktpdDJJbml0aWFsaXplLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYktpdDJJbml0
aWFsaXplLmNwcAppbmRleCAyMzNiMzBmMjJhZDY0MTZhMGEzZTA0N2JkZDllZTM5ZjM1MWI3M2Yw
Li5jYjJiZDRhMmQxZDI1NWVkZGQyZDYyZjI0MmU0N2MwYTc5OGZhNWFiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJLaXQySW5pdGlhbGl6ZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViS2l0MkluaXRpYWxpemUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dlYkNvcmVKSVRP
cGVyYXRpb25zLmg+CisjaW5jbHVkZSA8d3RmL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW5jbHVk
ZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1
ZGUgPHd0Zi9SdW5Mb29wLmg+CkBAIC00Nyw2ICs0OCw3IEBAIHZvaWQgSW5pdGlhbGl6ZVdlYktp
dDIoKQogICAgIFdURjo6UmVmQ291bnRlZEJhc2U6OmVuYWJsZVRocmVhZGluZ0NoZWNrc0dsb2Jh
bGx5KCk7CiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAg
IFdURjo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwog
ICAgIFdlYkNvcmU6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3Nh
cnkoKTsKICAgICBXZWJLaXQ6OmxvZ0NoYW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZO
ZWNlc3NhcnkoKTsKICNlbmRpZiAvLyAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNFX0xPR19ESVNB
QkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzLmNwcAppbmRleCA3NzZmYjBiZTY5OWNmNzRjYWVhNmE2ODI0ZjM5NGU4NGJhOGU4
NjE2Li5iZmZiYzQ5MWVjOTVjNWUwODBhYmUyNTYxMDYzZDQxMGMyNWQ4MDYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cApAQCAtNTksNiArNTksNyBAQCB2b2lkIFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmVu
Y29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAjaWYgUExBVEZPUk0oQ09DT0EpICYm
IEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogICAgIGVuY29kZXIgPDwgZW5hYmxlUmVtb3RlV2Vi
SW5zcGVjdG9yRXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlmCisgICAgZW5jb2RlciA8PCB3dGZMb2dn
aW5nQ2hhbm5lbHM7CiAgICAgZW5jb2RlciA8PCB3ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzOwogICAg
IGVuY29kZXIgPDwgd2ViS2l0TG9nZ2luZ0NoYW5uZWxzOwogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCkBAIC0yNjIsNiArMjYzLDggQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBXZWJQcm9jZXNzQ3JlYXQKICAgICBwYXJh
bWV0ZXJzLmVuYWJsZVJlbW90ZVdlYkluc3BlY3RvckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUo
KmVuYWJsZVJlbW90ZVdlYkluc3BlY3RvckV4dGVuc2lvbkhhbmRsZSk7CiAjZW5kaWYKIAorICAg
IGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy53dGZMb2dnaW5nQ2hhbm5lbHMpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLndl
YkNvcmVMb2dnaW5nQ2hhbm5lbHMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFubmVscykpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKaW5k
ZXggMDYwZDRmMTkzMzFhNTc5YzRhNmQ2YTI2ZjQ3NTI4YmVmNjNmMGI4OC4uZjEzMWY5YzgwY2Vl
ZTZlODFkOTFlNTIyNWQ1NGRjZmIyMjAyMjVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtOTQsNiArOTQsNyBAQCBz
dHJ1Y3QgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgU2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlIGF1ZGlvQ2FwdHVyZUV4dGVuc2lvbkhhbmRsZTsKICNlbmRpZgogCisgICAgU3Ry
aW5nIHd0ZkxvZ2dpbmdDaGFubmVsczsKICAgICBTdHJpbmcgd2ViQ29yZUxvZ2dpbmdDaGFubmVs
czsKICAgICBTdHJpbmcgd2ViS2l0TG9nZ2luZ0NoYW5uZWxzOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9HUFVQcm9jZXNzUHJveHlDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tCmluZGV4IDI4
Y2M4OTQ3OGQ4YWYwNDU2N2I1YjNhZjExNDdiNTNkNTg0YWVlMmEuLjQzMTJkMWIwMGM5YjI4ZTlm
ZjkxNjMxNDZhZTExNmYzMzAyYTQ4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL0dQVVByb2Nlc3NQcm94eUNvY29hLm1tCkBAIC0zNSw2ICszNSw3IEBAIG5h
bWVzcGFjZSBXZWJLaXQgewogdm9pZCBHUFVQcm9jZXNzUHJveHk6OnBsYXRmb3JtSW5pdGlhbGl6
ZUdQVVByb2Nlc3NQYXJhbWV0ZXJzKEdQVVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMpCiB7CiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICBwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIHN0cmluZ0ZvcktleTpAIldURkxvZ2dpbmciXTsKICAgICBwYXJhbWV0
ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJXZWJDb3JlTG9nZ2luZyJdOwogICAgIHBhcmFtZXRl
cnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJE
ZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV2ViS2l0MkxvZ2dpbmciXTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0K
aW5kZXggMmU2YjRjMTM3NjE5MmFhNjEwOWM0YTkxOGYzNDNmNDQzM2EyYjFjMy4uMjg1YjBmZmYz
MTk5NGQzN2U3MWM4NWRjOTU5M2ViZjQwOGJiMTEyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCkBAIC0zODgsNiArMzg4
LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyhj
b25zdCBXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MKICNlbmRpZgogCiAjaWYgIUxPR19ESVNBQkxF
RCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFu
bmVscyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIHN0cmluZ0Zvcktl
eTpAIldURkxvZ2dpbmciXTsKICAgICBwYXJhbWV0ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMg
PSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzdHJpbmdGb3JLZXk6QCJX
ZWJDb3JlTG9nZ2luZyJdOwogICAgIHBhcmFtZXRlcnMud2ViS2l0TG9nZ2luZ0NoYW5uZWxzID0g
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc3RyaW5nRm9yS2V5OkAiV2Vi
S2l0MkxvZ2dpbmciXTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUv
R1BVUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA0NGY5YTdlNzllNGIxOWNiMGYzMTJhMTgwMDk3MjNm
MGM1ZDgxN2YxLi5lN2FhNThiMmZjNWZhMmQ2YzEyMzliYjhiY2U1MjJmMDAwNTNmOTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmNwcApAQCAt
NDksNiArNDksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgog
I2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgorI2luY2x1ZGUgPHd0Zi9Mb2dJbml0
aWFsaXphdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9UcmFuc2xhdGVkUHJvY2Vzcy5oPgogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTYwNyw2ICs2MDgsNyBAQCB2b2lkIEdQVVByb2Nlc3NQ
cm94eTo6ZGlkQmVjb21lVW5yZXNwb25zaXZlKCkKIHZvaWQgR1BVUHJvY2Vzc1Byb3h5OjpwbGF0
Zm9ybUluaXRpYWxpemVHUFVQcm9jZXNzUGFyYW1ldGVycyhHUFVQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECisgICAgcGFyYW1ldGVycy53dGZMb2dnaW5nQ2hhbm5lbHMgPSBXVEY6OmxvZ0xl
dmVsU3RyaW5nKCk7CiAgICAgcGFyYW1ldGVycy53ZWJDb3JlTG9nZ2luZ0NoYW5uZWxzID0gV2Vi
Q29yZTo6bG9nTGV2ZWxTdHJpbmcoKTsKICAgICBwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdDaGFu
bmVscyA9IFdlYktpdDo6bG9nTGV2ZWxTdHJpbmcoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDgzNmIwNDAzZGE1N2IzNzQxZDExYjI2
ZWE4M2MzNzVkZTVmOThmZDIuLjVmZTkyOWRhY2I0MWRlNTI0MDVhMzRiOWZiMjM4Njg2NzRiYWM2
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTk2
LDYgKzk2LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5o
PgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvQ2FsbGJhY2tBZ2dy
ZWdhdG9yLmg+CisjaW5jbHVkZSA8d3RmL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW5jbHVkZSA8
d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNs
dWRlIDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgpAQCAtMjUxLDYgKzI1Miw3IEBAIFdlYlByb2Nl
c3NQb29sOjpXZWJQcm9jZXNzUG9vbChBUEk6OlByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiYgY29u
ZmlndXJhdGlvbikKICAgICByZXNvbHZlUGF0aHNGb3JTYW5kYm94RXh0ZW5zaW9ucygpOwogCiAj
aWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBXVEY6OmxvZ0No
YW5uZWxzKCkuaW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICAgICBXZWJDb3Jl
Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7CiAgICAg
V2ViS2l0Ojpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVjZXNzYXJ5KCk7
CiAjZW5kaWYgLy8gIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCmluZGV4
IGU0ZWMwNjNiNzBlZTdjNjBmNzE5NjQzZjE3ZWQ0YTc1OTNhYTdlMzEuLmRmZGJlYzI1N2I2NWMy
YmI1MDA4Y2M5YWVhMTg1Y2Q4YTQ2OGYyZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtMTAxLDYgKzEwMSw3IEBACiAjaW1w
b3J0IDxzdGRpby5oPgogI2ltcG9ydCA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPHd0Zi9M
YW5ndWFnZS5oPgorI2ltcG9ydCA8d3RmL0xvZ0luaXRpYWxpemF0aW9uLmg+CiAjaW1wb3J0IDx3
dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CiAjaW1w
b3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRzLmg+CkBAIC0yODEsNiArMjgyLDcgQEAgdm9pZCBX
ZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMmIHBhcmEKICAgICB9CiAKICNpZiAhTE9HX0RJU0FCTEVEIHx8ICFSRUxFQVNF
X0xPR19ESVNBQkxFRAorICAgIFdURjo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5l
bHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLnd0ZkxvZ2dpbmdDaGFubmVscyk7CiAgICAgV2ViQ29y
ZTo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0
ZXJzLndlYkNvcmVMb2dnaW5nQ2hhbm5lbHMpOwogICAgIFdlYktpdDo6bG9nQ2hhbm5lbHMoKS5p
bml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeShwYXJhbWV0ZXJzLndlYktpdExvZ2dpbmdD
aGFubmVscyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQppbmRleCBhM2UxNmI4ODg0YjJlYTczNTU1ZWU3NmVjNGNjODgwZDRiZGUxZmEyLi45NzZh
M2RlYjU3NzlkOGIyNjU1NWVjYzJmZjI0NmQzNGI0MTFjYzY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yNTIsNiArMjUyLDcgQEAKICNpbXBvcnQg
PHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW1wb3J0IDx3dGYvSGFzaFRyYWl0cy5oPgogI2ltcG9ydCA8
d3RmL0xhbmd1YWdlLmg+CisjaW1wb3J0IDx3dGYvTG9nSW5pdGlhbGl6YXRpb24uaD4KICNpbXBv
cnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJhcy5oPgogI2ltcG9y
dCA8d3RmL1Byb2Nlc3NQcml2aWxlZ2UuaD4KQEAgLTE0ODEsNiArMTQ4Miw3IEBAIC0gKHZvaWQp
X2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUg
Z3JvdXBOYW1lOihOU1N0CiAjZW5kaWYKICAgICBpZiAoIWRpZE9uZVRpbWVJbml0aWFsaXphdGlv
bikgewogI2lmICFMT0dfRElTQUJMRUQgfHwgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgICAg
IFdURjo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgpOwog
ICAgICAgICBXZWJDb3JlOjpsb2dDaGFubmVscygpLmluaXRpYWxpemVMb2dDaGFubmVsc0lmTmVj
ZXNzYXJ5KCk7CiAgICAgICAgIFdlYktpdDo6bG9nQ2hhbm5lbHMoKS5pbml0aWFsaXplTG9nQ2hh
bm5lbHNJZk5lY2Vzc2FyeSgpOwogI2VuZGlmCg==
</data>
<flag name="review"
          id="457892"
          type_id="1"
          status="+"
          setter="fujii"
    />
    <flag name="commit-queue"
          id="457895"
          type_id="3"
          status="-"
          setter="fujii"
    />
          </attachment>
      

    </bug>

</bugzilla>