<?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>218753</bug_id>
          
          <creation_ts>2020-11-10 08:19:29 -0800</creation_ts>
          <short_desc>Support AbortSignal in addEventListenerOptions to unsubscribe from events</short_desc>
          <delta_ts>2021-01-25 12:06:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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>https://dom.spec.whatwg.org/#add-an-event-listener</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Gruenbaum">benjamingr</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>alecflett</cc>
    
    <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>berto</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>cyb.ai.815</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>hta</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sam</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>smoley</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1706082</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Gruenbaum">benjamingr</who>
    <bug_when>2020-11-10 08:19:29 -0800</bug_when>
    <thetext>See https://github.com/whatwg/dom/issues/911 and the spec PR https://github.com/whatwg/dom/pull/919 

I am working on adding support for AbortController in various web APIs. One of those is adding support for passing `AbortSignal`s to `addEventListener` and have an easy way to remove a lot of listeners.

As per the WHATWG process - I am filing a WebKit bug.

Please feel free to ask any questions or make suggestions regarding this.

I will follow up with WPTs in that PR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706253</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-10 15:34:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/71258012&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721739</commentid>
    <comment_count>2</comment_count>
      <attachid>418185</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-22 15:26:04 -0800</bug_when>
    <thetext>Created attachment 418185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721742</commentid>
    <comment_count>3</comment_count>
      <attachid>418187</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-22 15:30:03 -0800</bug_when>
    <thetext>Created attachment 418187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721783</commentid>
    <comment_count>4</comment_count>
      <attachid>418199</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-22 16:33:20 -0800</bug_when>
    <thetext>Created attachment 418199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721785</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-01-22 16:34:32 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721797</commentid>
    <comment_count>6</comment_count>
      <attachid>418202</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-22 17:59:37 -0800</bug_when>
    <thetext>Created attachment 418202
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1721869</commentid>
    <comment_count>7</comment_count>
      <attachid>418202</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-01-23 12:22:01 -0800</bug_when>
    <thetext>Comment on attachment 418202
Patch

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

&gt; Source/WebCore/dom/AddEventListenerOptions.h:41
&gt; +    AddEventListenerOptions(bool capture = false, Optional&lt;bool&gt; passive = WTF::nullopt, bool once = false, RefPtr&lt;AbortSignal&gt;&amp;&amp; signal = nullptr)
&gt; +        : EventListenerOptions(capture)
&gt; +        , passive(passive)
&gt; +        , once(once)
&gt; +        , signal(WTFMove(signal))
&gt; +    {
&gt; +    }

It’s nice to have structs with default values but without constructors when we can. I guess there is code that depends on this?

&gt; Source/WebCore/dom/EventListener.h:37
&gt; +class EventListener : public RefCounted&lt;EventListener&gt;, public CanMakeWeakPtr&lt;EventListener&gt; {

I’m assuming there are not cases where an EventListener was:

1) not already doing the weak pointer thing
2) a small object allocated many, many times

But I didn’t audit all the uses the way I often would when asking myself a question like that.

&gt; Source/WebCore/dom/EventListenerOptions.h:33
&gt; +    EventListenerOptions(bool capture = false)
&gt; +        : capture(capture)
&gt; +    { }

It’s nice to have structs with default values but without constructors when we can. I guess there is code that depends on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722089</commentid>
    <comment_count>8</comment_count>
      <attachid>418202</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-25 08:58:15 -0800</bug_when>
    <thetext>Comment on attachment 418202
Patch

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

&gt;&gt; Source/WebCore/dom/AddEventListenerOptions.h:41
&gt;&gt; +    }
&gt; 
&gt; It’s nice to have structs with default values but without constructors when we can. I guess there is code that depends on this?

There are call sites that call addEventListener with a simple boolean like so:
addEventListener(type, listener, true)

Using struct initialization here would be a bit awkward here I think, especially considering it involves struct inheritance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722093</commentid>
    <comment_count>9</comment_count>
      <attachid>418299</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-25 09:07:30 -0800</bug_when>
    <thetext>Created attachment 418299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722185</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-25 12:06:31 -0800</bug_when>
    <thetext>Committed r271806: &lt;https://trac.webkit.org/changeset/271806&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418299.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418185</attachid>
            <date>2021-01-22 15:26:04 -0800</date>
            <delta_ts>2021-01-22 15:29:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218753-20210122152603.patch</filename>
            <type>text/plain</type>
            <size>83730</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiODYyNDAzMzNkNDE0N2QzYTk5NTRl
MTEzOWYwMTFjMTljZDczYmYuLmExMmY3OGQyZjlmNjQzOWUxOTA4YTJkNTYwODgyYTNlYjJhZWU3
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IEFib3J0U2lnbmFsIGluIGFkZEV2ZW50TGlz
dGVuZXJPcHRpb25zIHRvIHVuc3Vic2NyaWJlIGZyb20gZXZlbnRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg3NTMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzcxMjU4MDEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBpbml0aWFsaXplV2Vha1B0ckZhY3RvcnkoKSBwcm90ZWN0aW9uIGZ1bmN0
aW9uIHRvIENhbk1ha2VXZWFrUHRyIHNvIHRoYXQgYSBzdWJjbGFzcworICAgICAgICBjYW4gZWFn
ZXJseSBpbml0aWFsaXplIHRoZSBXZWFrUHRyRmFjdG9yeSBldmVuIGlmIGl0IGRvZXMgbm90IHN1
YmNsYXNzCisgICAgICAgIFdlYWtQdHJGYWN0b3J5PFQsIFdlYWtQdHJGYWN0b3J5SW5pdGlhbGl6
YXRpb246OkVhZ2VyPi4gTWVzc2FnZVBvcnQgdXNlZCB0byBzdWJjbGFzcworICAgICAgICBXZWFr
UHRyRmFjdG9yeTxULCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpFYWdlcj4gZm9yIHRo
cmVhZC1zYWZldHkgcmVhc29uIGJ1dCBpdAorICAgICAgICBub3cgc3ViY2xhc3NlcyBXZWFrUHRy
RmFjdG9yeTxULCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpMYXp5PiB2aWEgRXZlbnRU
YXJnZXQuCisKKyAgICAgICAgKiB3dGYvV2Vha1B0ci5oOgorICAgICAgICAoV1RGOjpDYW5NYWtl
V2Vha1B0cjo6aW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KToKKwogMjAyMS0wMS0yMSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYXR0ZW1wdCB0
byBmaXggV2F0Y2hPUyBidWlsZCBhZnRlciByMjcxNjczLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhmMzdmM2Qx
YjhmNjViMjEwMmUwNDdjMDQ0MzM0NDI1YmViMzRiNjQuLmM0ZGMwMjIyOThhMWQ0OWVkNWVjNzAy
NmI0NmE4ZDA5NzMzMjU0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OSBAQAorMjAyMS0wMS0y
MiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgQWJv
cnRTaWduYWwgaW4gYWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgdG8gdW5zdWJzY3JpYmUgZnJvbSBl
dmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODc1MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNTgwMTI+CisKKyAgICAgICAgU3VwcG9y
dCBBYm9ydFNpZ25hbCBpbiBhZGRFdmVudExpc3RlbmVyT3B0aW9ucyB0byB1bnN1YnNjcmliZSBm
cm9tIGV2ZW50czoKKyAgICAgICAgLSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1
ZXMvOTExCisgICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vcHVsbC85MTkK
KworICAgICAgICBCbGluayBhbHJlYWR5IGFkZGVkIHN1cHBvcnQgZm9yIHRoaXMuCisKKyAgICAg
ICAgQWRkRXZlbnRMaXN0ZW5lcl9BYm9ydFNpZ25hbAorCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMtc2lnbmFsLmFueS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53
b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAq
IEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJv
YXJkLmg6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0Lmg6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVj
aFJlY29nbml0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250
ZXh0Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAg
ICogTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBh
bmltYXRpb24vV2ViQW5pbWF0aW9uLmg6CisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIpOgorICAgICAgICAq
IGNzcy9NZWRpYVF1ZXJ5TGlzdC5oOgorICAgICAgICAqIGRvbS9BYm9ydFNpZ25hbC5oOgorICAg
ICAgICAqIGRvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oLgorICAgICAgICAo
V2ViQ29yZTo6QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM6OkFkZEV2ZW50TGlzdGVuZXJPcHRpb25z
KToKKyAgICAgICAgKiBkb20vQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oLgor
ICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyLmg6CisgICAgICAgICogZG9tL0V2ZW50TGlzdGVu
ZXJNYXAuY3BwOgorICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyT3B0aW9ucy5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5o
LgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMaXN0ZW5lck9wdGlvbnM6OkV2ZW50TGlzdGVuZXJP
cHRpb25zKToKKyAgICAgICAgKiBkb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5o
LgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdl
dDo6cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
VGFyZ2V0OjpzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50VGFyZ2V0Ojppbm5lckludm9rZUV2ZW50TGlzdGVuZXJzKToKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExp
c3RlbmVyKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaWRsOgorICAgICAgICAqIGRvbS9N
ZXNzYWdlUG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZXNzYWdlUG9ydDo6TWVzc2FnZVBv
cnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZVBvcnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIp
OgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydC5oOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRyeUFkZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6dHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW1v
dmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0ltYWdlRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvdHJh
Y2svVGV4dFRyYWNrQ3VlLmg6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JE
T01BZ2VudC5jcHA6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2Fj
aGUuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
Lmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVs
ZW1lbnQubW06CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxW
aWRlb0VsZW1lbnQubW06CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogc3Zn
L1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwOgorICAgICAg
ICAqIHN2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5oOgorCiAyMDIxLTAxLTIyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgQXZvaWQgZHVwbGljYXRlIGNhbGN1bGF0aW9ucyBpbiBSZW5kZXJCbG9jazo6Y29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzYwOWU5Nzk5OGMxN2FmYTYz
N2I1YzEzNTFlZjNiMjRlMDE0YmM5NC4uNDIxY2M4YzhkNmVhYjcxZmJjNWUwMDc0NWM1NmY1NDlm
ZTdhYTE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0yMiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgQWJvcnRTaWduYWwgaW4g
YWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgdG8gdW5zdWJzY3JpYmUgZnJvbSBldmVudHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzEyNTgwMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWlub3IgYnVpbGQgZml4ZXMuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbkFubm90YXRpb24ubW06CisKIDIwMjEtMDEtMjIg
IEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5d
IE5vIGVycm9yIGlzIHZpc2libGUgYWZ0ZXIgdXNlciBlbnRlcnMgdGhlIGluY29ycmVjdCBQSU4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBiMWM0ZjBhN2E1NzMzMWFjNWI5NDVjMmQ5
ZDdjZTFkMDUyZWVkMDI5Li5iNzVhZmM2NGI5MGNlZjI0NjBhN2JhZDkwZWI2YTQxMWM4ZTdkNWM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEt
MjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IEFi
b3J0U2lnbmFsIGluIGFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHRvIHVuc3Vic2NyaWJlIGZyb20g
ZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTg3NTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMjU4MDEyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1pbm9yIGJ1aWxkIGZpeGVzLgorCisg
ICAgICAgICogRE9NL0RPTU5vZGUubW06CisKIDIwMjEtMDEtMjEgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtBcHBsZSBQYXldIHVzZSB0aGUgZmlyc3QgaXRl
bSBpbiBgc2hpcHBpbmdPcHRpb25zYCBldmVuIHdoZW4gaXQncyBub3QgYHNlbGVjdGVkYApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvV2Vha1B0ci5oIGIvU291cmNlL1dURi93dGYvV2Vha1B0
ci5oCmluZGV4IGE4YjExYWI5NzU1NjJhNTc5MzM2YTE0ZWQyZGQyY2RhMmE0N2Y1YjguLmI2MTJl
ZTdlYzI2NzdjODMxYzNkMDFmNjYzM2E1MjM4ZmE4MjY1ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1dlYWtQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgKQEAgLTIwMyw2
ICsyMDMsMTEgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgbV93ZWFrUHRyRmFjdG9yeS5pbml0
aWFsaXplSWZOZWVkZWQoc3RhdGljX2Nhc3Q8VCY+KCp0aGlzKSk7CiAgICAgfQogCisgICAgdm9p
ZCBpbml0aWFsaXplV2Vha1B0ckZhY3RvcnkoKQorICAgIHsKKyAgICAgICAgbV93ZWFrUHRyRmFj
dG9yeS5pbml0aWFsaXplSWZOZWVkZWQoc3RhdGljX2Nhc3Q8VCY+KCp0aGlzKSk7CisgICAgfQor
CiBwcml2YXRlOgogICAgIFdlYWtQdHJGYWN0b3J5PFQsIENvdW50ZXI+IG1fd2Vha1B0ckZhY3Rv
cnk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0MzRlNDljMTBiMDcxZjJkYWFjYjMyMDQ1
YjAyNjdkNTI4NmIyMTk4Li40NWRiNTkxMzg0MDI0NGFjNDg5NzE0NjhkYmEwMTRkMTNjMjRmMTY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNzg1LDYgKzc4NSw3IEBAIHNldChXZWJDb3JlX05P
Tl9TVkdfSURMX0ZJTEVTCiAgICAgZG9tL0Fib3J0Q29udHJvbGxlci5pZGwKICAgICBkb20vQWJv
cnRTaWduYWwuaWRsCiAgICAgZG9tL0Fic3RyYWN0UmFuZ2UuaWRsCisgICAgZG9tL0FkZEV2ZW50
TGlzdGVuZXJPcHRpb25zLmlkbAogICAgIGRvbS9BbmltYXRpb25FdmVudC5pZGwKICAgICBkb20v
QXR0ci5pZGwKICAgICBkb20vQmVmb3JlTG9hZEV2ZW50LmlkbApAQCAtODQzLDYgKzg0NCw3IEBA
IHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgZG9tL0Vycm9yRXZlbnQuaWRsCiAg
ICAgZG9tL0V2ZW50LmlkbAogICAgIGRvbS9FdmVudEluaXQuaWRsCisgICAgZG9tL0V2ZW50TGlz
dGVuZXJPcHRpb25zLmlkbAogICAgIGRvbS9FdmVudE1vZGlmaWVySW5pdC5pZGwKICAgICBkb20v
RXZlbnRUYXJnZXQuaWRsCiAgICAgZG9tL0ZvY3VzRXZlbnQuaWRsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA3MjE1M2NiNDkyOTc0ZWUx
YjgzMzUzZTBhYWUwNzcxN2Y4Yzk2MmE0Li41MDE4NDIzYTlhZWQxNDY3M2VlZmUxOTAwYTFhZjQ1
YjAzOWQ5NGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKQEAgLTcwMCw2ICs3MDAsNyBAQCAkKFBST0pFQ1RfRElSKS9kb20vQWJvcnRBbGdv
cml0aG0uaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vQWJvcnRDb250cm9sbGVyLmlkbAogJChQUk9K
RUNUX0RJUikvZG9tL0Fib3J0U2lnbmFsLmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0Fic3RyYWN0
UmFuZ2UuaWRsCiskKFBST0pFQ1RfRElSKS9kb20vQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRs
CiAkKFBST0pFQ1RfRElSKS9kb20vQW5pbWF0aW9uRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9k
b20vQXR0ci5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9CZWZvcmVMb2FkRXZlbnQuaWRsCkBAIC03
NjAsNiArNzYxLDcgQEAgJChQUk9KRUNUX0RJUikvZG9tL0Vycm9yRXZlbnQuaWRsCiAkKFBST0pF
Q1RfRElSKS9kb20vRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vRXZlbnRJbml0LmlkbAog
JChQUk9KRUNUX0RJUikvZG9tL0V2ZW50TGlzdGVuZXIuaWRsCiskKFBST0pFQ1RfRElSKS9kb20v
RXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vRXZlbnRNb2RpZmll
ckluaXQuaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vRXZlbnROYW1lcy5pbgogJChQUk9KRUNUX0RJ
UikvZG9tL0V2ZW50VGFyZ2V0LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAzNzA5NDk4OTk4NTM2Yzc2NDY3NDU1NGQ3YTBkMDA3
YmZhNWMzYjgxLi45Y2ZjMjk4ZmNlZmVkMmQwNGZjM2FiMTc1YTYzNTU2Yzg5MzBjYmYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAt
NTIsNiArNTIsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0Fic3RyYWN0V29ya2VyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNBYnN0cmFjdFdvcmtlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FjY2Vzc2liaWxpdHlSb2xlLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBY2Nlc3NpYmlsaXR5Um9sZS5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FkZEV2ZW50TGlz
dGVuZXJPcHRpb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FkZHJlc3NFcnJvcnMuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FkZHJlc3NFcnJvcnMuaAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBZXNDYmNDZmJQYXJhbXMu
Y3BwCkBAIC03NDMsNiArNzQ1LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTRXZlbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNFdmVudEluaXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50SW5pdC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50TGlzdGVuZXJPcHRpb25zLmNwcAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudExpc3RlbmVyT3B0aW9u
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50
TW9kaWZpZXJJbml0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNFdmVudE1vZGlmaWVySW5pdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50U291cmNlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggYzczZjA2MDJhYzI3MDY0MjVjMjdlZWZiMmE3ZmI2Y2QwMzM3YTE3OC4uYzI3
ODljNDdiMDllMTI0OTNjNGM1NDc2NWE1YTAyNmRlODc2MjhkOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC02NTksNiArNjU5LDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAg
ICAkKFdlYkNvcmUpL2RvbS9BYm9ydENvbnRyb2xsZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9BYm9ydFNpZ25hbC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0Fic3RyYWN0UmFuZ2UuaWRs
IFwKKyAgICAkKFdlYkNvcmUpL2RvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwgXAogICAg
ICQoV2ViQ29yZSkvZG9tL0FuaW1hdGlvbkV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20v
QXR0ci5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0JlZm9yZUxvYWRFdmVudC5pZGwgXApAQCAt
NzE3LDYgKzcxOCw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9kb20v
RXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudEluaXQuaWRsIFwKICAgICAkKFdl
YkNvcmUpL2RvbS9FdmVudExpc3RlbmVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20vRXZlbnRM
aXN0ZW5lck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudE1vZGlmaWVySW5p
dC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50VGFyZ2V0LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9kb20vRm9jdXNFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZDhmYzE0MTc0
NTYzMjMxYWVmMTIxZTE5ZjcyNmQ2YTUxMzE3MTM0Ni4uZWQwNjZjMTFjYWMyMThhM2Q4ZmRlYmZm
MTY5MjY2MTZmYzI4NDNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0zOTYsOSArMzk2LDExIEBA
IHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBkaXNwbGF5L2Nzcy9E
aXNwbGF5UmVwbGFjZWRCb3guaAogICAgIGRpc3BsYXkvY3NzL0Rpc3BsYXlTdHlsZS5oCiAKKyAg
ICBkb20vQWJvcnRTaWduYWwuaAogICAgIGRvbS9BYnN0cmFjdFJhbmdlLmgKICAgICBkb20vQWN0
aXZlRE9NQ2FsbGJhY2suaAogICAgIGRvbS9BY3RpdmVET01PYmplY3QuaAorICAgIGRvbS9BZGRF
dmVudExpc3RlbmVyT3B0aW9ucy5oCiAgICAgZG9tL0F0dHIuaAogICAgIGRvbS9BdHRyaWJ1dGUu
aAogICAgIGRvbS9Cb3VuZGFyeVBvaW50LmgKQEAgLTQ0NCw2ICs0NDYsNyBAQCBzZXQoV2ViQ29y
ZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgZG9tL0V2ZW50SW5pdC5oCiAgICAgZG9t
L0V2ZW50TGlzdGVuZXIuaAogICAgIGRvbS9FdmVudExpc3RlbmVyTWFwLmgKKyAgICBkb20vRXZl
bnRMaXN0ZW5lck9wdGlvbnMuaAogICAgIGRvbS9FdmVudE1vZGlmaWVySW5pdC5oCiAgICAgZG9t
L0V2ZW50TmFtZXMuaAogICAgIGRvbS9FdmVudFF1ZXVlLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmgKaW5kZXggMzZkZTYyZTJiODg2
Zjk3MDk3MDQyYjhkNTUxZmY3NTkwZGY5YzRjYS4uYTZjNThiYzkyOWI1YmM3NTUyY2JkNjU1NGY0
ODI5NDdhMzQyODFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1j
bGlwYm9hcmQvQ2xpcGJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1j
bGlwYm9hcmQvQ2xpcGJvYXJkLmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgTmF2aWdhdG9yOwog
Y2xhc3MgUGFzdGVib2FyZDsKIGNsYXNzIFBhc3RlYm9hcmRDdXN0b21EYXRhOwogCi1jbGFzcyBD
bGlwYm9hcmQgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDbGlwYm9hcmQ+LCBwdWJsaWMgRXZl
bnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENhbk1ha2VXZWFrUHRyPENsaXBib2FyZD4g
eworY2xhc3MgQ2xpcGJvYXJkIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8Q2xpcGJvYXJkPiwg
cHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoQ2xpcGJvYXJkKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPENsaXBib2FyZD4gY3Jl
YXRlKE5hdmlnYXRvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKaW5kZXggMzAzNmFhOWY5ZThjNTVhZmU4ODE5
NDFhMWE1YWU4ZmNkMTFiYjMxMC4uODIxNzkwMzg1N2ViODIxNGEwMjlkMzM1ZGY4Yjg5ODQ0NmE0
NDIwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC02Nyw2ICs2Nyw4IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPE1lZGlhS2V5U2Vzc2lvbj4gY3JlYXRlKERvY3VtZW50JiwgV2Vha1B0cjxNZWRpYUtl
eXM+JiYsIE1lZGlhS2V5U2Vzc2lvblR5cGUsIGJvb2wgdXNlRGlzdGluY3RpdmVJZGVudGlmaWVy
LCBSZWY8Q0RNPiYmLCBSZWY8Q0RNSW5zdGFuY2VTZXNzaW9uPiYmKTsKICAgICB2aXJ0dWFsIH5N
ZWRpYUtleVNlc3Npb24oKTsKIAorICAgIHVzaW5nIENETUluc3RhbmNlU2Vzc2lvbkNsaWVudDo6
d2Vha1B0ckZhY3Rvcnk7CisgICAgdXNpbmcgV2Vha1ZhbHVlVHlwZSA9IENETUluc3RhbmNlU2Vz
c2lvbkNsaWVudDo6V2Vha1ZhbHVlVHlwZTsKICAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhS2V5
U2Vzc2lvbj46OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhS2V5U2Vzc2lvbj46OmRl
cmVmOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJS
ZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgK
aW5kZXggOWE0NjExYmNiZGE5YTI4NTY3MWM1OTNlZmY0OGE2ZDc3ZmY0NmZlNS4uNmExM2U1ZjRi
NTNlNDE3ZDdlNzRlZmFjZTVlMzM4NWQwYzhlZGUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaApAQCAtNjEsNyArNjEsNyBAQCBjbGFzcyBJREJD
b25uZWN0aW9uUHJveHk7CiBjbGFzcyBJREJDb25uZWN0aW9uVG9TZXJ2ZXI7CiB9CiAKLWNsYXNz
IElEQlJlcXVlc3QgOiBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIElE
QkFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPElEQlJlcXVlc3Q+
LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8SURCUmVxdWVzdD4geworY2xhc3MgSURCUmVxdWVzdCA6
IHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgSURCQWN0aXZlRE9NT2Jq
ZWN0LCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SURCUmVxdWVzdD4gewogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoSURCUmVxdWVzdCk7CiBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBO
dWxsUmVzdWx0VHlwZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhRGV2aWNlcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYURldmljZXMuaAppbmRleCA2ZjkwNjI4YWIwY2M4ZjBhMzQxMTEzNGY4Nzk3ZTY0YmZj
ODE2ZjM5Li4wMGYxMGEyN2FjYWIyMWJkYjVjYjljMmExNDVhODc2MTQzZTExNTk1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgKQEAg
LTU1LDcgKzU1LDcgQEAgc3RydWN0IE1lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50czsKIAog
dGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOwogCi1j
bGFzcyBNZWRpYURldmljZXMgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYURldmljZXM+
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0
YSwgcHVibGljIENhbk1ha2VXZWFrUHRyPE1lZGlhRGV2aWNlcz4geworY2xhc3MgTWVkaWFEZXZp
Y2VzIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFEZXZpY2VzPiwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoTWVkaWFEZXZpY2VzKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PE1lZGlhRGV2aWNlcz4gY3JlYXRlKERvY3VtZW50Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKaW5kZXggYWNjZTZl
OWJkZTRjNzdiMzMzZjliNjA2MzEzNzMwYzU3OTk0Zjk5ZC4uNTY5MTQzYWE3MmIzYWU2MjM5NTNk
ZTkzNWY3YWM0MWY4ZTVkN2EyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaApAQCAtNzcsNyArNzcsNiBAQCBjbGFz
cyBSVENQZWVyQ29ubmVjdGlvbiBmaW5hbAogICAgIDogcHVibGljIFJlZkNvdW50ZWQ8UlRDUGVl
ckNvbm5lY3Rpb24+CiAgICAgLCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YQogICAg
ICwgcHVibGljIEFjdGl2ZURPTU9iamVjdAotICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPFJU
Q1BlZXJDb25uZWN0aW9uPgogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgICwgcHJpdmF0
ZSBMb2dnZXJIZWxwZXIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCmluZGV4IDY4YWNhYzk2YjJlN2JkYTJh
MDVlZGY1YWNiNWZkOWFlNmY4ZDg5OTEuLmNkOTNkMjMxMTJiNTc1M2Q5MDE3YTg4YTkyYzI3ZDM0
MDBmYjhiYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKQEAgLTUxLDcgKzUxLDcgQEAgc3RydWN0IFBheW1lbnRE
ZXRhaWxzVXBkYXRlOwogc3RydWN0IFBheW1lbnRNZXRob2REYXRhOwogdGVtcGxhdGU8dHlwZW5h
bWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOwogCi1jbGFzcyBQYXltZW50UmVx
dWVzdCBmaW5hbCA6IHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBDYW5NYWtlV2Vha1B0
cjxQYXltZW50UmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJs
aWMgUmVmQ291bnRlZDxQYXltZW50UmVxdWVzdD4geworY2xhc3MgUGF5bWVudFJlcXVlc3QgZmlu
YWwgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5l
RGF0YSwgcHVibGljIFJlZkNvdW50ZWQ8UGF5bWVudFJlcXVlc3Q+IHsKICAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEKFBheW1lbnRSZXF1ZXN0KTsKIHB1YmxpYzoKICAgICB1c2luZyBBYm9ydFBy
b21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uaAppbmRleCAzNzkyMzJlYmM4ZTRmODAx
NGFhYjkyMWRjODQyNTQ5ZWFhNTE3MGNhLi5jMjAwYmFlNjVjYjg1M2FlMzFiYjZhYjIxZTIyMTMx
ZTE4MDRhMDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVl
Y2hSZWNvZ25pdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVj
aFJlY29nbml0aW9uLmgKQEAgLTQxLDYgKzQxLDkgQEAgY2xhc3MgU3BlZWNoUmVjb2duaXRpb24g
OiBwdWJsaWMgU3BlZWNoUmVjb2duaXRpb25Db25uZWN0aW9uQ2xpZW50LCBwdWJsaWMgQWN0aXYK
IHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNwZWVjaFJlY29nbml0aW9uPiBjcmVhdGUoRG9jdW1l
bnQmKTsKIAorICAgIHVzaW5nIFNwZWVjaFJlY29nbml0aW9uQ29ubmVjdGlvbkNsaWVudDo6d2Vh
a1B0ckZhY3Rvcnk7CisgICAgdXNpbmcgV2Vha1ZhbHVlVHlwZSA9IFNwZWVjaFJlY29nbml0aW9u
Q29ubmVjdGlvbkNsaWVudDo6V2Vha1ZhbHVlVHlwZTsKKwogICAgIGNvbnN0IFN0cmluZyYgbGFu
ZygpIGNvbnN0IHsgcmV0dXJuIG1fbGFuZzsgfQogICAgIHZvaWQgc2V0TGFuZyhTdHJpbmcmJiBs
YW5nKSB7IG1fbGFuZyA9IFdURk1vdmUobGFuZyk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaAppbmRleCA3OTgyMmRmNjVmNWRh
MzFiYjYxZDdmMTNiOTkxODIxYTA5MjFlN2I5Li44NWM3NzRmZGFkZWFkYmViZDhjN2ExYzIyNzEz
YTA3NzU1NTRmZmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0Jhc2VBdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0Jhc2VBdWRpb0NvbnRleHQuaApAQCAtOTUsNyArOTUsNiBAQCBjbGFzcyBCYXNlQXVkaW9Db250
ZXh0CiAgICAgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0CiAgICAgLCBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8QmFzZUF1ZGlvQ29udGV4dD4KICAgICAsIHB1YmxpYyBFdmVudFRhcmdldFdp
dGhJbmxpbmVEYXRhCi0gICAgLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8QmFzZUF1ZGlvQ29udGV4
dD4KICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAsIHB1YmxpYyBMb2dnZXJIZWxwZXIK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BV
RGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApp
bmRleCBjZmEzYjk1ZWEwYjMwZGRlMDM3ZDM2MGFlZWQ5M2ZhMjc1ZDJhOTQzLi5jOWNjM2M0ZTQz
NWM5MjY0YjI4MTRkM2Q2M2MyNDBmY2I2NjcwNmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtNzcsNyArNzcsNyBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CiB1c2luZyBFcnJvcklETFVu
aW9uID0gSURMVW5pb248SURMSW50ZXJmYWNlPEdQVU91dE9mTWVtb3J5RXJyb3I+LCBJRExJbnRl
cmZhY2U8R1BVVmFsaWRhdGlvbkVycm9yPj47CiB1c2luZyBFcnJvclByb21pc2UgPSBET01Qcm9t
aXNlRGVmZXJyZWQ8SURMTnVsbGFibGU8RXJyb3JJRExVbmlvbj4+OwogCi1jbGFzcyBXZWJHUFVE
ZXZpY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVEZXZpY2U+LCBwdWJsaWMgRXZlbnRUYXJn
ZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYkdQVURldmljZT4gewor
Y2xhc3MgV2ViR1BVRGV2aWNlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVRGV2aWNlPiwgcHVi
bGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoV2ViR1BVRGV2aWNlKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5XZWJHUFVEZXZpY2UoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaAppbmRleCBhZTJiOTY3
NWYzM2ExYzhjZDMxYzI5NzVmZjJiNTljZWU2OWIwNjg4Li5jNzYyZDQ2YWMwZTkwNGEzOTgzZDM5
N2Y2ODY1NjFkNGMxNjViMzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UlN5c3RlbS5oCkBAIC01Myw3ICs1Myw3IEBAIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiBjbGFzcyBXZWJYUlNlc3Npb247CiBzdHJ1Y3QgWFJTZXNzaW9uSW5pdDsKIAotY2xhc3MgV2Vi
WFJTeXN0ZW0gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJYUlN5c3RlbT4sIHB1YmxpYyBF
dmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8V2ViWFJTeXN0ZW0+IHsKK2NsYXNzIFdlYlhSU3lzdGVtIGZpbmFsIDog
cHVibGljIFJlZkNvdW50ZWQ8V2ViWFJTeXN0ZW0+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5s
aW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChXZWJYUlN5c3RlbSk7CiBwdWJsaWM6CiAgICAgdXNpbmcgSXNTZXNzaW9uU3VwcG9ydGVk
UHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggN2FhNTViYjQzNDY4ZDczYzc0ZDhlYmNkYzQ3MjBiYWJhMjhlNTJmNy4uNzI5NmNjZjNlZjll
ZmM3MTY5MmMxYzFiMTAwN2EwYTZlNzkyMDM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTI3MjIsNiAr
MjcyMiw3IEBAIEpTQWJvcnRTaWduYWwuY3BwCiBKU0Fic3RyYWN0UmFuZ2UuY3BwCiBKU0Fic3Ry
YWN0V29ya2VyLmNwcAogSlNBZGRyZXNzRXJyb3JzLmNwcAorSlNBZGRFdmVudExpc3RlbmVyT3B0
aW9ucy5jcHAKIEpTQWVzQ2JjQ2ZiUGFyYW1zLmNwcAogSlNBZXNDdHJQYXJhbXMuY3BwCiBKU0Fl
c0djbVBhcmFtcy5jcHAKQEAgLTI5NjEsNiArMjk2Miw3IEBAIEpTRXJyb3JDYWxsYmFjay5jcHAK
IEpTRXJyb3JFdmVudC5jcHAKIEpTRXZlbnQuY3BwCiBKU0V2ZW50SW5pdC5jcHAKK0pTRXZlbnRM
aXN0ZW5lck9wdGlvbnMuY3BwCiBKU0V2ZW50TW9kaWZpZXJJbml0LmNwcAogSlNFdmVudFNvdXJj
ZS5jcHAKIEpTRXZlbnRUYXJnZXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzFmN2M4MzgxMTlhMjM1MTczZDQwY2I4ODkx
YmM1YWJmOWMzNmVmZS4uMDUzYmQ4N2RhN2NkYTg0NTFhZjEzZWRiMzFjMTM4YWY2NjQ1OTVlMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMzAyLDYgKzMwMiw3IEBACiAJCTBGNDk2NkFCMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RP
TVBvaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjQ5NjZBNTFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludC5oICovOyB9OwogCQkwRjQ5NjZB
RDFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDk2NkE3MURCNDBDNDMwMEEyNzRCQiAvKiBK
U0RPTVBvaW50SW5pdC5oICovOyB9OwogCQkwRjQ5NjZBRjFEQjQwQzQzMDBBMjc0QkIgLyogSlNE
T01Qb2ludFJlYWRPbmx5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAwRjQ5NjZBOTFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludFJlYWRPbmx5Lmgg
Ki87IH07CisJCTBGNTNGQjg0MjEzQjdBNjQwMEM0MEQzNCAvKiBSZW5kZXJMYXllclNjcm9sbGFi
bGVBcmVhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAw
RjUzRkI4NDIxM0I3ODY0MDBDNDBEMzQgLyogUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBGNTREQ0U2
MTg4MTA1MUQwMDNFRURCQiAvKiBUZXh0QXV0b1NpemluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NERDRTQxODgxMDUxRDAwM0VFREJCIC8qIFRl
eHRBdXRvU2l6aW5nLmggKi87IH07CiAJCTBGNTRERDA4MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3Vj
aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NERE
MDUxODgxRDVGNTAwM0VFREJCIC8qIFRvdWNoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY1NEREMDkxODgxRDVGNTAwM0VFREJCIC8qIFRvdWNo
RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBG
NTRERDA2MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3VjaEV2ZW50LmggKi87IH07CkBAIC0xMjYyLDYg
KzEyNjMsOCBAQAogCQk0NkI5NTE5QTIwN0Q2MzU0MDBBN0QyREQgLyogUmVtb3RlRnJhbWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Qjk1MTkyMjA3
RDYzMkUwMEE3RDJERCAvKiBSZW1vdGVGcmFtZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2Qjk1QkY1MjIzMUNGRDYwMDUzQTUwNCAvKiBEZXZp
Y2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Qjk1QkY0MjIzMUNGQjgwMDUzQTUwNCAv
KiBEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuaCAqLzsgfTsKIAkJ
NDZCQ0JCQzIyMDg1MDA4RjAwNzEwNjM4IC8qIEpTUmVtb3RlRE9NV2luZG93QmFzZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCQ0JCQzAyMDg1MDA3
RjAwNzEwNjM4IC8qIEpTUmVtb3RlRE9NV2luZG93QmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ2QkQwNUM1MjVCQjZFNTkwMDIyNUYzMCAv
KiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDZCRDA1QzIyNUJCNkU0RTAwMjI1RjMwIC8qIEFkZEV2ZW50TGlz
dGVuZXJPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNDZCRDA1QzYyNUJCNkU2QzAwMjI1RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25z
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkJEMDVD
MzI1QkI2RTRFMDAyMjVGMzAgLyogRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkMwOTYyMTIzRDc4REQ2MDA2
NTdDMDkgLyogSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDMDk2MjAyM0Q3OERENjAwNjU3QzA5IC8qIEhUVFBD
b29raWVBY2NlcHRQb2xpY3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0NkMzNzY2MjIwODUxNzdEMDBDNzM4MjkgLyogSlNSZW1vdGVET01XaW5k
b3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzM3
NjYxMjA4NTE3NkQwMEM3MzgyOSAvKiBKU1JlbW90ZURPTVdpbmRvdy5oICovOyB9OwogCQk0NkM2
OTZDQjFFNzIwNUY3MDA1OTc5MzcgLyogQ1BVTW9uaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDNjk2QzkxRTcyMDVFNDAwNTk3OTM3IC8qIENQ
VU1vbml0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMjM5OSw3ICsyNDAyLDcgQEAKIAkJN0NDOTcyMkUxRjkzRTMzNjAwMDRENENGIC8qIFNl
dHRpbmdzQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0NDNjYwOTkxRjkzMDU3ODAwRDUwMEU5IC8qIFNldHRpbmdzQmFzZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDQ0VCRkMwMUREOEY2QUIw
MDJDNDBCOCAvKiBTVkdMZW5ndGhWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0NFNThENTMxREQ3QjA5MzAwMTI4NTUyIC8qIFNWR0xlbmd0aFZh
bHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
N0NEMEUyQjgxRjgwQTQ4MjAwMTZBNENFIC8qIEFib3J0Q29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NEMEUyQjUxRjgwQTQ4MjAwMTZB
NENFIC8qIEFib3J0Q29udHJvbGxlci5oICovOyB9OwotCQk3Q0QwRTJCRjFGODBBNTZFMDAxNkE0
Q0UgLyogQWJvcnRTaWduYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDRDBFMkJDMUY4MEE1NkUwMDE2QTRDRSAvKiBBYm9ydFNpZ25hbC5oICovOyB9
OworCQk3Q0QwRTJCRjFGODBBNTZFMDAxNkE0Q0UgLyogQWJvcnRTaWduYWwuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRDBFMkJDMUY4MEE1NkUwMDE2
QTRDRSAvKiBBYm9ydFNpZ25hbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTdDRDFFNjkzMjRBQkY2MjQwMDg5QzQxOSAvKiBDb2xvclNlcmlhbGl6
YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
RDFFNjkxMjRBQkY2MjQwMDg5QzQxOSAvKiBDb2xvclNlcmlhbGl6YXRpb24uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Q0Q0OTRDRDFBODZFQjFE
MDAwQTg3RUMgLyogUmVuZGVyQXR0YWNobWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0NENDk0Q0IxQTg2RUIxRDAwMEE4N0VDIC8qIFJlbmRlckF0
dGFjaG1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk3Q0Q1OERGQjFGOTU2NUE1MDAxMTI3OTEgLyogU2V0dGluZ3MuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRUI1N0U5MUY5NTY1MTUwMDA5N0FF
QyAvKiBTZXR0aW5ncy5oICovOyB9OwpAQCAtNDA4Nyw3ICs0MDkwLDYgQEAKIAkJQkNFQTQ4NzYw
OTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckltYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VBNDgzNzA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVy
SW1hZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCQ0VBNDg3ODA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVySW5saW5lLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VBNDgzOTA5N0Q5MzAyMDA5NEM5
RTQgLyogUmVuZGVySW5saW5lLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQkNFQTQ4N0EwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckxheWVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VBNDgzQjA5
N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyTGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwRjUzRkI4NDIxM0I3QTY0MDBDNDBEMzQgLyogUmVu
ZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY1M0ZCODQyMTNCNzg2NDAwQzQwRDM0IC8qIFJlbmRlckxheWVyU2Ny
b2xsYWJsZUFyZWEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlCQ0VBNDg4MDA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VBNDg0MTA5N0Q5MzAy
MDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFQTQ4ODcwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRo
ZW1lTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
Q0VBNDg0ODA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyVGhlbWVNYWMuaCAqLzsgfTsKIAkJQkNF
QTQ4OEEwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRoZW1lLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VBNDg0QjA5N0Q5MzAyMDA5NEM5RTQgLyog
UmVuZGVyVGhlbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNTA4OSw2ICs1MDkxLDcgQEAKIAkJRTQyNUE0OUExODI5MkI4NDAwMjBDRkNGIC8q
IENvbGxlY3Rpb25JbmRleENhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFNDI1QTQ5OTE4MjkyQjg0MDAyMENGQ0YgLyogQ29sbGVjdGlvbkluZGV4
Q2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFNDI5NUZBNDEyQjA2MTRFMDBEMUFDRTAgLyogUmVzb3VyY2VMb2FkUHJpb3JpdHkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0Mjk1RkEzMTJCMDYx
NEUwMEQxQUNFMCAvKiBSZXNvdXJjZUxvYWRQcmlvcml0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0MkU3NkRDMUM3QUY3NzYwMEUzNjE0RCAv
KiBTdHlsZVVwZGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTQyRTc2REIxQzdBRjc3NjAwRTM2MTREIC8qIFN0eWxlVXBkYXRlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRTQyRUUzQTcxNzU3NkU1
NTAwRUVFOENGIC8qIEZvbnRHZW5lcmljRmFtaWxpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NEVFM0E3MTc1NzZFNTUwMEVFRThDRiAvKiBGb250
R2VuZXJpY0ZhbWlsaWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRTQzMTA1QkIxNjc1MEYxNjAwREIyRkI4IC8qIE5vZGVUcmF2ZXJzYWwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MzEwNUJBMTY3
NTBGMTYwMERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQzQTAyM0IxN0VCMzcwQTAwNENERDI1IC8qIFJl
bmRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEU0M0EwMjNBMTdFQjM3MEEwMDRDREQyNSAvKiBSZW5kZXJFbGVtZW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQzQUY4RTcxQUM1QjdF
QzAwQ0E3MTdFIC8qIENhY2hlVmFsaWRhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTQzQUY4RTUxQUM1QjdERDAwQ0E3MTdFIC8qIENhY2hlVmFs
aWRhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC01MTEyLDcgKzUxMTUsNiBAQAogCQlFNDQ2MTQzQzBDRDY4OUNDMDBGQURBNzUgLyogSlNI
VE1MU291cmNlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTRCNDIzNzIwQ0JGQjZFMDAwQUYyRUNFIC8qIEpTSFRNTFNvdXJjZUVsZW1lbnQu
aCAqLzsgfTsKIAkJRTQ0NjE0NTIwQ0Q2OEEzNTAwRkFEQTc1IC8qIFJlbmRlclZpZGVvLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNEI0MUUzNDBDQkZC
NjA5MDBBRjJFQ0UgLyogUmVuZGVyVmlkZW8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0
b3JDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNDRCNEJCMjE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggKi87IH07Ci0J
CUU0MkVFM0E3MTc1NzZFNTUwMEVFRThDRiAvKiBGb250R2VuZXJpY0ZhbWlsaWVzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDRFRTNBNzE3NTc2RTU1
MDBFRUU4Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NEZBMTg1MUJDQTZCNUEwMDkxQjZFRiAvKiBD
b21wb3NlZFRyZWVJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTQ0RkExODQxQkNBNkI1QTAwOTFCNkVGIC8qIENvbXBvc2VkVHJlZUl0ZXJh
dG9yLmggKi87IH07CiAJCUU0NTFDNjMxMjM5NDAyNzkwMDk5MzE5MCAvKiBMYXlvdXRVbml0cy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY3MzkxOEMy
MTA2Q0VERDAwNkFGMjYyIC8qIExheW91dFVuaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ1MUM2MzIyMzk0MDMxQTAwOTkzMTkwIC8qIE1h
cmdpblR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2RkU3QUEyNjIxQzM3QjYzMDAyOTZEQ0QgLyogTWFyZ2luVHlwZXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODE4OCw2ICs4MTkwLDEwIEBA
CiAJCTQ2QkNCQkMwMjA4NTAwN0YwMDcxMDYzOCAvKiBKU1JlbW90ZURPTVdpbmRvd0Jhc2UuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNSZW1vdGVET01XaW5kb3dCYXNlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QkNCQkMxMjA4NTAwODAwMDcxMDYzOCAv
KiBKU1JlbW90ZURPTVdpbmRvd0Jhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNSZW1vdGVET01XaW5kb3dCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDZCQ0JCQzMyMDg1MDBBNzAwNzEwNjM4IC8qIFJlbW90ZURPTVdpbmRvdy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlRE9NV2luZG93LmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDZCRDA1QzAyNUJCNkU0RDAwMjI1RjMwIC8qIEV2ZW50TGlzdGVu
ZXJPcHRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBFdmVudExpc3RlbmVyT3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ2QkQwNUMyMjVCQjZFNEUwMDIyNUYzMCAvKiBBZGRFdmVudExp
c3RlbmVyT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkJEMDVDMzI1QkI2RTRFMDAyMjVGMzAg
LyogRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRMaXN0ZW5lck9w
dGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZCRDA1QzQyNUJCNkU0RjAw
MjI1RjMwIC8qIEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBZGRFdmVudExpc3Rl
bmVyT3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QzA5NjIwMjNE
NzhERDYwMDY1N0MwOSAvKiBIVFRQQ29va2llQWNjZXB0UG9saWN5LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEhUVFBDb29raWVBY2NlcHRQb2xpY3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDZDMzc2NUYyMDg1MTc2QzAwQzczODI5IC8qIEpTUmVtb3RlRE9NV2luZG93LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVtb3RlRE9NV2luZG93LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZDMzc2NjEyMDg1MTc2RDAwQzczODI5IC8qIEpT
UmVtb3RlRE9NV2luZG93LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUmVt
b3RlRE9NV2luZG93Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NzU4LDggKzk3
NjQsOCBAQAogCQk2RTUzODhFMTI0NThBRTFEMDA3NkFFMDMgLyogV2ViR0xDb2xvckJ1ZmZlckZs
b2F0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBXZWJHTENvbG9yQnVmZmVyRmxvYXQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2RTU3NkJDMzI0RUI1MDlDMDA5NEQ0QUEgLyogSlNIVE1MQ2FudmFzRWxl
bWVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hU
TUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NkU2N0QyQTgxMjgwRThCRDAwODc1OEY3IC8qIEV4dGVuc2lvbnNHTC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBFeHRlbnNpb25zR0wuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNkU3Q0EzMEEyNUI0RDI4QTAwNEE5MTNFIC8qIEpTV2ViR0xNdWx0aURyYXcuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gSlNXZWJHTE11bHRpRHJhdy5oOyBwYXRoID0gSlNXZWJHTE11bHRpRHJh
dy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2RTdDQTMwQjI1QjREMzI4MDA0QTkx
M0UgLyogSlNXZWJHTE11bHRpRHJhdy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBKU1dlYkdMTXVs
dGlEcmF3LmNwcDsgcGF0aCA9IEpTV2ViR0xNdWx0aURyYXcuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk2RTdDQTMwQTI1QjREMjhBMDA0QTkxM0UgLyogSlNXZWJHTE11bHRpRHJh
dy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYkdMTXVsdGlEcmF3Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTZFN0NBMzBCMjVCNEQzMjgwMDRBOTEzRSAvKiBKU1dlYkdMTXVsdGlEcmF3
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xNdWx0aURyYXcuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2RTg0RTlERTE3NjY4QkFEMDA4MTVCNjggLyogUmFzdGVyU2hh
cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmFzdGVyU2hhcGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RTg0RTlERjE3NjY4QkFEMDA4MTVC
NjggLyogUmFzdGVyU2hhcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmFz
dGVyU2hhcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkU4QUNERTkyMzM0NUNB
RjAwMjRBQUY1IC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVFVEMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUVUQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yOTkwMSw2ICsyOTkwNyw4IEBACiAJCQkJN0M1MjIyOTgxRTFEQUUxNjAwMkNC
OEY3IC8qIEFjdGl2ZURPTUNhbGxiYWNrLmggKi8sCiAJCQkJRTFDNERFNkQwRUE3NUM2NTAwMjND
Q0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5jcHAgKi8sCiAJCQkJRTFDNERFNjgwRUE3NUMxRTAwMjND
Q0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oICovLAorCQkJCTQ2QkQwNUMyMjVCQjZFNEUwMDIyNUYz
MCAvKiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oICovLAorCQkJCTQ2QkQwNUM0MjVCQjZFNEYw
MDIyNUYzMCAvKiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwgKi8sCiAJCQkJRTNBRTZDRDEy
MjUyRjI3MDAwQzcwQjUwIC8qIEFsbERlc2NlbmRhbnRzQ29sbGVjdGlvbi5jcHAgKi8sCiAJCQkJ
ODNCQjVDODcxRDVENkYzQTAwNUE3MUY0IC8qIEFsbERlc2NlbmRhbnRzQ29sbGVjdGlvbi5oICov
LAogCQkJCTMxOTg0N0ZFMUExRDgxNjcwMEExMzMxOCAvKiBBbmltYXRpb25FdmVudC5jcHAgKi8s
CkBAIC0zMDExMyw2ICszMDEyMSw4IEBACiAJCQkJODVBRkE3NDEwQUFGMjk4NDAwRTg0MzA1IC8q
IEV2ZW50TGlzdGVuZXIuaWRsICovLAogCQkJCUFENDQ5NUYxMTQxRkMwODkwMDU0MUVERiAvKiBF
dmVudExpc3RlbmVyTWFwLmNwcCAqLywKIAkJCQlBRDQ0OTVGMjE0MUZDMDg5MDA1NDFFREYgLyog
RXZlbnRMaXN0ZW5lck1hcC5oICovLAorCQkJCTQ2QkQwNUMzMjVCQjZFNEUwMDIyNUYzMCAvKiBF
dmVudExpc3RlbmVyT3B0aW9ucy5oICovLAorCQkJCTQ2QkQwNUMwMjVCQjZFNEQwMDIyNUYzMCAv
KiBFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwgKi8sCiAJCQkJOUI5MURDQ0MyMzgzNzkyRDAwMEVF
RTBGIC8qIEV2ZW50TG9vcC5jcHAgKi8sCiAJCQkJOUIwQUJDQTEyMzY3OUFCMzAwQjQ1MDg1IC8q
IEV2ZW50TG9vcC5oICovLAogCQkJCTgzRkU3Q0EzMURBOUYxNjUwMDM3MjM3QyAvKiBFdmVudE1v
ZGlmaWVySW5pdC5oICovLApAQCAtMzEwNjUsNiArMzEwNzUsNyBAQAogCQkJCUUxQzRERTY5MEVB
NzVDMUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTcy
NEVFNTUwMURDODBEN0YwMEE5MUZGQiAvKiBBY3Rpdml0eVN0YXRlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk3MjRFRTU1MTFEQzgwRDg0MDBBOTFGRkIgLyogQWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2Vy
dmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NkJEMDVDNTI1QkI2RTU5MDAyMjVGMzAgLyogQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNjc3RTBFMjEzRTAy
QTAwMEEwOEMzNCAvKiBBZGRyZXNzRXJyb3JzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Y3RTQ5
MTEzN0NEN0M3MDAxRERBRTcgLyogQWRqdXN0Vmlld1NpemVPck5vdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODREMEM0MDYxMTE1RjFFQTAwMThBQTM0IC8qIEFmZmluZVRyYW5zZm9ybS5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zMjAwNiw2ICszMjAxNyw3IEBACiAJCQkJOTcwQjcyOEExNDRGRkFDNjAw
RjAwQTM3IC8qIEV2ZW50SW50ZXJmYWNlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RkJDNDUw
OUJBMDBCOTAwRTIzMEIxIC8qIEV2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUFE
NDQ5NUY0MTQxRkMwODkwMDU0MUVERiAvKiBFdmVudExpc3RlbmVyTWFwLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0NkJEMDVDNjI1QkI2RTZDMDAyMjVGMzAgLyogRXZlbnRMaXN0ZW5lck9wdGlvbnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ2RjAyQTFBMjM3MzdGODMwMDEwNkE2NCAvKiBFdmVudExv
b3AuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzRkU3Q0E4MURBOUYxQjYwMDM3MjM3QyAvKiBFdmVu
dE1vZGlmaWVySW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5ODg1QzQwOEI3RTNEMTAwRTcw
N0M0IC8qIEV2ZW50TmFtZXMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9u
L1dlYkFuaW1hdGlvbi5oCmluZGV4IDQ5Yjc4Zjc1NDBmNDVhMTM1NGVlYThkOWMxZTZiMjY2Zjk4
YzMwOTUuLjRhMWJlZWQzYjM1YzU3OTM2MDdjNjE1MDVkZTU3MTQ0YjNkZGViNDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgY2xhc3Mg
UmVuZGVyU3R5bGU7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CiAKLWNsYXNzIFdlYkFuaW1hdGlvbiA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYkFuaW1hdGlvbj4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxXZWJBbmlt
YXRpb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURP
TU9iamVjdCB7CitjbGFzcyBXZWJBbmltYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJBbmlt
YXRpb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURP
TU9iamVjdCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJBbmltYXRpb24pOwogcHVi
bGljOgogICAgIHN0YXRpYyBSZWY8V2ViQW5pbWF0aW9uPiBjcmVhdGUoRG9jdW1lbnQmLCBBbmlt
YXRpb25FZmZlY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwCmluZGV4IDY3
NGU4ZTFlZGQ5MzYxNDY3YTlkYTljYWI1MzEzYmM2YzFhZTllNjkuLjQ1YWFlOTlkODI5NmVkYTkw
OGNiNmM3NGE4YmM2MDZlMzQzMDE5YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0
LmNwcApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1l
ZGlhUXVlcnlMaXN0LmgiCiAKKyNpbmNsdWRlICJBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIgog
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgogCkBAIC02Niw3ICs2Nyw3IEBAIHZvaWQgTWVkaWFRdWVyeUxpc3Q6OmFkZExpc3RlbmVyKFJl
ZlB0cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyKQogICAgIGlmICghbGlzdGVuZXIpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIGFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNoYW5nZUV2
ZW50LCBsaXN0ZW5lci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICBhZGRFdmVudExpc3RlbmVyKGV2
ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgbGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSwgeyB9KTsK
IH0KIAogdm9pZCBNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIoUmVmUHRyPEV2ZW50TGlz
dGVuZXI+JiYgbGlzdGVuZXIpCkBAIC03NCw3ICs3NSw3IEBAIHZvaWQgTWVkaWFRdWVyeUxpc3Q6
OnJlbW92ZUxpc3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyKQogICAgIGlm
ICghbGlzdGVuZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIo
ZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCAqbGlzdGVuZXIpOworICAgIHJlbW92ZUV2ZW50TGlz
dGVuZXIoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCAqbGlzdGVuZXIsIHsgfSk7CiB9CiAKIHZv
aWQgTWVkaWFRdWVyeUxpc3Q6OmV2YWx1YXRlKE1lZGlhUXVlcnlFdmFsdWF0b3ImIGV2YWx1YXRv
ciwgYm9vbCYgbm90aWZpY2F0aW9uTmVlZGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3Qu
aAppbmRleCBiNzBhYTU1NjZiYzk3NTQwMWU3ZGJmOGU1MWI2YTk3MGRiNTVlN2Y1Li4xM2Y1Mzk2
ZGQ4NDIwZTBjZDI0Y2Q4YjczOTUxNGFjNWQwNDJmOGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUxpc3QuaApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyByZXRy
aWV2ZSB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gbWVkaWEgcXVlcnkgYW5kIHRvIGFk
ZC9yZW1vdmUgbGlzdGVuZXJzIHRoYXQKIC8vIHdpbGwgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSB2
YWx1ZSBvZiB0aGUgcXVlcnkgY2hhbmdlcy4KIAotY2xhc3MgTWVkaWFRdWVyeUxpc3QgZmluYWwg
OiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdD4sIHB1YmxpYyBFdmVudFRhcmdldFdp
dGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFRdWVyeUxpc3Q+LCBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0IHsKK2NsYXNzIE1lZGlhUXVlcnlMaXN0IGZpbmFsIDogcHVibGlj
IFJlZkNvdW50ZWQ8TWVkaWFRdWVyeUxpc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5l
RGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChNZWRpYVF1ZXJ5TGlzdCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZWRpYVF1ZXJ5TGlz
dD4gY3JlYXRlKERvY3VtZW50JiwgTWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVkaWFRdWVyeVNl
dD4mJiwgYm9vbCBtYXRjaGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BYm9y
dFNpZ25hbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0U2lnbmFsLmgKaW5kZXggZGJkOTM2
OGU1ODU4ZTk2OGFiZTlkNzhjNWZlNzVlNjcyOTc5MGI4YS4uMzIyM2NjNzVkN2JkYjVkYTU0N2Jm
YTU2ODczY2NmZGU3NmM1M2JlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0
U2lnbmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0U2lnbmFsLmgKQEAgLTM4LDgg
KzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWJvcnRBbGdvcml0aG07CiBjbGFz
cyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi1jbGFzcyBBYm9ydFNpZ25hbCBmaW5hbCA6IHB1
YmxpYyBSZWZDb3VudGVkPEFib3J0U2lnbmFsPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGlu
ZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxBYm9ydFNpZ25hbD4sIHByaXZhdGUgQ29udGV4
dERlc3RydWN0aW9uT2JzZXJ2ZXIgewotICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoQWJvcnRT
aWduYWwpOworY2xhc3MgQWJvcnRTaWduYWwgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxBYm9y
dFNpZ25hbD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwcml2YXRlIENvbnRl
eHREZXN0cnVjdGlvbk9ic2VydmVyIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0VYUE9S
VChBYm9ydFNpZ25hbCwgV0VCQ09SRV9FWFBPUlQpOwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8
QWJvcnRTaWduYWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2IxMzRm
YWJhYmExNTAwZjUwYzk3ZGNlZDQ4OWJlZTllNDc2MGRhOAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oCkBAIC0wLDAgKzEsNDgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWJvcnRTaWduYWwuaCIKKyNpbmNsdWRlICJFdmVudExp
c3RlbmVyT3B0aW9ucy5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3N0cnVjdCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA6IEV2ZW50TGlzdGVu
ZXJPcHRpb25zIHsKKyAgICBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyhib29sIGNhcHR1cmUgPSBm
YWxzZSwgT3B0aW9uYWw8Ym9vbD4gcGFzc2l2ZSA9IFdURjo6bnVsbG9wdCwgYm9vbCBvbmNlID0g
ZmFsc2UsIFJlZlB0cjxBYm9ydFNpZ25hbD4mJiBzaWduYWwgPSBudWxscHRyKQorICAgICAgICA6
IEV2ZW50TGlzdGVuZXJPcHRpb25zKGNhcHR1cmUpCisgICAgICAgICwgcGFzc2l2ZShwYXNzaXZl
KQorICAgICAgICAsIG9uY2Uob25jZSkKKyAgICAgICAgLCBzaWduYWwoV1RGTW92ZShzaWduYWwp
KQorICAgIHsKKyAgICB9CisKKyAgICBPcHRpb25hbDxib29sPiBwYXNzaXZlOworICAgIGJvb2wg
b25jZSB7IGZhbHNlIH07CisgICAgUmVmUHRyPEFib3J0U2lnbmFsPiBzaWduYWw7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0FkZEV2ZW50TGlz
dGVuZXJPcHRpb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYWUwYTBlYWY5ZDZiNGNlYTRlNjRjY2Q2Mzdm
ZDBiYjQwNjMzYjUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0FkZEV2
ZW50TGlzdGVuZXJPcHRpb25zLmlkbApAQCAtMCwwICsxLDMwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5IEFkZEV2ZW50TGlz
dGVuZXJPcHRpb25zIDogRXZlbnRMaXN0ZW5lck9wdGlvbnMgeworICAgIGJvb2xlYW4gcGFzc2l2
ZTsKKyAgICBib29sZWFuIG9uY2UgPSBmYWxzZTsKKyAgICBBYm9ydFNpZ25hbCBzaWduYWw7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmgKaW5kZXggOWQ2YWNmYzk0YjI2OTQ3MDRlMzEw
ZjhjNjNiMjlmODY1OTM3ZTM0OS4uM2U0NjcxYTJlZDA1OWM1OWU2YzFhZmEwMTEzNWFkYTM3YWI2
ZjJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lci5oCkBAIC0yMSw2ICsyMSw3IEBACiAj
cHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3Rm
L1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBKU09iamVjdDsKQEAgLTMzLDcg
KzM0LDcgQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIGNsYXNzIEV2ZW50OwogY2xh
c3MgRXZlbnRUYXJnZXQ7CiAKLWNsYXNzIEV2ZW50TGlzdGVuZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxFdmVudExpc3RlbmVyPiB7CitjbGFzcyBFdmVudExpc3RlbmVyIDogcHVibGljIFJlZkNvdW50
ZWQ8RXZlbnRMaXN0ZW5lcj4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxFdmVudExpc3RlbmVyPiB7
CiBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgSlNFdmVudExpc3RlbmVyVHlwZSwg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAKaW5kZXggMGIwOWQwODJjMzZl
ZGRkODRiOWNkZTk4ODI1MjcyZGI1Zjk2ZTViZC4uZmMzNjNhZTMzYWY5Mjc2ZmZjNWNhNmEyYjZi
MWNmMjc1YmE4MDA5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVu
ZXJNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyTWFwLmNwcApA
QCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkV2ZW50TGlz
dGVuZXJNYXAuaCIKIAorI2luY2x1ZGUgIkFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmgiCiAjaW5j
bHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUgPHd0Zi9N
YWluVGhyZWFkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5l
ck9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyT3B0aW9ucy5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEwMWI0NGJjZTI4NWE2N2RlZmFhNmZlZTU2YjdjM2Q2MjUwNWIxOTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaApA
QCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3Qg
RXZlbnRMaXN0ZW5lck9wdGlvbnMgeworICAgIEV2ZW50TGlzdGVuZXJPcHRpb25zKGJvb2wgY2Fw
dHVyZSA9IGZhbHNlKQorICAgICAgICA6IGNhcHR1cmUoY2FwdHVyZSkKKyAgICB7IH0KKworICAg
IGJvb2wgY2FwdHVyZSB7IGZhbHNlIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
MGJiOTQyMjUzODQ4MmM0Y2MzNzQ2NTA0MTY5N2QzMWM2ZWYzMTRiCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbApAQCAtMCwwICsx
LDI4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitkaWN0aW9uYXJ5IEV2ZW50TGlzdGVuZXJPcHRpb25zIHsKKyAgICBib29sZWFuIGNhcHR1cmUg
PSBmYWxzZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAppbmRleCAzNTRiZWU5OTg5
MWI0OGFkZTdkZWRlMmNkYWQ5OTFiYjlhZGZmNGQ1Li4zMWE4MWVhYjE5ZmMyZTAxMzk1NWI5NmZh
OGM5NzUwMzJlYzM0ZWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKQEAgLTMyLDYg
KzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5oIgog
CisjaW5jbHVkZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJET01XcmFw
cGVyV29ybGQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJn
ZXRDb25jcmV0ZS5oIgpAQCAtODEsMTkgKzgyLDI4IEBAIGJvb2wgRXZlbnRUYXJnZXQ6OmFkZEV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5l
CiAgICAgbGlzdGVuZXItPmNoZWNrVmFsaWRpdHlGb3JFdmVudFRhcmdldCgqdGhpcyk7CiAjZW5k
aWYKIAorICAgIGlmIChvcHRpb25zLnNpZ25hbCAmJiBvcHRpb25zLnNpZ25hbC0+YWJvcnRlZCgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBhdXRvIHBhc3NpdmUgPSBvcHRpb25zLnBh
c3NpdmU7CiAKICAgICBpZiAoIXBhc3NpdmUuaGFzVmFsdWUoKSAmJiBRdWlya3M6OnNob3VsZE1h
a2VFdmVudExpc3RlbmVyUGFzc2l2ZSgqdGhpcywgZXZlbnRUeXBlLCBsaXN0ZW5lci5nZXQoKSkp
CiAgICAgICAgIHBhc3NpdmUgPSB0cnVlOwogCiAgICAgYm9vbCBsaXN0ZW5lckNyZWF0ZWRGcm9t
U2NyaXB0ID0gbGlzdGVuZXItPnR5cGUoKSA9PSBFdmVudExpc3RlbmVyOjpKU0V2ZW50TGlzdGVu
ZXJUeXBlICYmICFsaXN0ZW5lci0+d2FzQ3JlYXRlZEZyb21NYXJrdXAoKTsKLSAgICBhdXRvIGxp
c3RlbmVyUmVmID0gbGlzdGVuZXIuY29weVJlZigpOwogCi0gICAgaWYgKCFlbnN1cmVFdmVudFRh
cmdldERhdGEoKS5ldmVudExpc3RlbmVyTWFwLmFkZChldmVudFR5cGUsIFdURk1vdmUobGlzdGVu
ZXIpLCB7IG9wdGlvbnMuY2FwdHVyZSwgcGFzc2l2ZS52YWx1ZU9yKGZhbHNlKSwgb3B0aW9ucy5v
bmNlIH0pKQorICAgIGlmICghZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkuZXZlbnRMaXN0ZW5lck1h
cC5hZGQoZXZlbnRUeXBlLCBsaXN0ZW5lci5jb3B5UmVmKCksIHsgb3B0aW9ucy5jYXB0dXJlLCBw
YXNzaXZlLnZhbHVlT3IoZmFsc2UpLCBvcHRpb25zLm9uY2UgfSkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAorICAgIGlmIChvcHRpb25zLnNpZ25hbCkgeworICAgICAgICBvcHRpb25zLnNpZ25h
bC0+YWRkQWxnb3JpdGhtKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwgZXZlbnRUeXBl
LCBsaXN0ZW5lciA9IG1ha2VXZWFrUHRyKGxpc3RlbmVyLmdldCgpKSwgY2FwdHVyZSA9IG9wdGlv
bnMuY2FwdHVyZV0geworICAgICAgICAgICAgaWYgKHdlYWtUaGlzICYmIGxpc3RlbmVyKQorICAg
ICAgICAgICAgICAgIHdlYWtUaGlzLT5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgKmxp
c3RlbmVyLCBjYXB0dXJlKTsKKyAgICAgICAgfSk7CisgICAgfQorCiAgICAgaWYgKGxpc3RlbmVy
Q3JlYXRlZEZyb21TY3JpcHQpCi0gICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
QWRkRXZlbnRMaXN0ZW5lcigqdGhpcywgZXZlbnRUeXBlLCBsaXN0ZW5lclJlZi5nZXQoKSwgb3B0
aW9ucy5jYXB0dXJlKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRBZGRF
dmVudExpc3RlbmVyKCp0aGlzLCBldmVudFR5cGUsIGxpc3RlbmVyLmdldCgpLCBvcHRpb25zLmNh
cHR1cmUpOwogCiAgICAgaWYgKGV2ZW50TmFtZXMoKS5pc1doZWVsRXZlbnRUeXBlKGV2ZW50VHlw
ZSkpCiAgICAgICAgIGludmFsaWRhdGVFdmVudExpc3RlbmVyUmVnaW9ucygpOwpAQCAtMTE2LDEy
ICsxMjYsMTIgQEAgdm9pZCBFdmVudFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdz
KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHQKICAgICBXVEY6OnZpc2l0KHZpc2l0
b3IsIHZhcmlhbnQpOwogfQogCi12b2lkIEV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVy
Rm9yQmluZGluZ3MoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RXZlbnRMaXN0
ZW5lcj4mJiBsaXN0ZW5lciwgTGlzdGVuZXJPcHRpb25zT3JCb29sZWFuJiYgdmFyaWFudCkKK3Zv
aWQgRXZlbnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXJGb3JCaW5kaW5ncyhjb25zdCBBdG9t
U3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyLCBFdmVu
dExpc3RlbmVyT3B0aW9uc09yQm9vbGVhbiYmIHZhcmlhbnQpCiB7CiAgICAgaWYgKCFsaXN0ZW5l
cikKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byB2aXNpdG9yID0gV1RGOjptYWtlVmlzaXRv
cihbJl0oY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKSB7CisgICAgYXV0byB2aXNpdG9y
ID0gV1RGOjptYWtlVmlzaXRvcihbJl0oY29uc3QgRXZlbnRMaXN0ZW5lck9wdGlvbnMmIG9wdGlv
bnMpIHsKICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsICpsaXN0ZW5lciwg
b3B0aW9ucyk7CiAgICAgfSwgWyZdKGJvb2wgY2FwdHVyZSkgewogICAgICAgICByZW1vdmVFdmVu
dExpc3RlbmVyKGV2ZW50VHlwZSwgKmxpc3RlbmVyLCBjYXB0dXJlKTsKQEAgLTEzMCw3ICsxNDAs
NyBAQCB2b2lkIEV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyRm9yQmluZGluZ3MoY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZQogICAgIFdURjo6dmlzaXQodmlzaXRvciwgdmFy
aWFudCk7CiB9CiAKLWJvb2wgRXZlbnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgTGlz
dGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9vbCBFdmVudFRhcmdldDo6cmVtb3ZlRXZlbnRMaXN0
ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVy
LCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBhdXRvKiBkYXRh
ID0gZXZlbnRUYXJnZXREYXRhKCk7CiAgICAgaWYgKCFkYXRhKQpAQCAtMTcwLDcgKzE4MCw3IEBA
IGJvb2wgRXZlbnRUYXJnZXQ6OnNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0
cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8CiAKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQot
ICAgIHJldHVybiBhZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIucmVsZWFzZU5v
bk51bGwoKSk7CisgICAgcmV0dXJuIGFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5l
ci5yZWxlYXNlTm9uTnVsbCgpLCB7IH0pOwogfQogCiBFdmVudExpc3RlbmVyKiBFdmVudFRhcmdl
dDo6YXR0cmlidXRlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIERP
TVdyYXBwZXJXb3JsZCYgaXNvbGF0ZWRXb3JsZCkKQEAgLTMxOSw3ICszMjksNyBAQCB2b2lkIEV2
ZW50VGFyZ2V0Ojppbm5lckludm9rZUV2ZW50TGlzdGVuZXJzKEV2ZW50JiBldmVudCwgRXZlbnRM
aXN0ZW5lclZlY3RvciBsaQogCiAgICAgICAgIC8vIERvIHRoaXMgYmVmb3JlIGludm9jYXRpb24g
dG8gYXZvaWQgcmVlbnRyYW5jeSBpc3N1ZXMuCiAgICAgICAgIGlmIChyZWdpc3RlcmVkTGlzdGVu
ZXItPmlzT25jZSgpKQotICAgICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudC50eXBl
KCksIHJlZ2lzdGVyZWRMaXN0ZW5lci0+Y2FsbGJhY2soKSwgTGlzdGVuZXJPcHRpb25zKHJlZ2lz
dGVyZWRMaXN0ZW5lci0+dXNlQ2FwdHVyZSgpKSk7CisgICAgICAgICAgICByZW1vdmVFdmVudExp
c3RlbmVyKGV2ZW50LnR5cGUoKSwgcmVnaXN0ZXJlZExpc3RlbmVyLT5jYWxsYmFjaygpLCByZWdp
c3RlcmVkTGlzdGVuZXItPnVzZUNhcHR1cmUoKSk7CiAKICAgICAgICAgaWYgKHJlZ2lzdGVyZWRM
aXN0ZW5lci0+aXNQYXNzaXZlKCkpCiAgICAgICAgICAgICBldmVudC5zZXRJblBhc3NpdmVMaXN0
ZW5lcih0cnVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5kZXggY2ZjYjJjYjM1NDBkNDM0
NmQ2MTA0MmIzNTJmN2JjYThhYmM1MjNmYy4uNDA5NTliMWU2ZWUxNTFmMmY3YzY2N2VhMzQ1N2E3
YmE4NzJjN2Q5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTMxLDYgKzMxLDcgQEAK
ICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lck1hcC5oIgorI2luY2x1ZGUg
IkV2ZW50TGlzdGVuZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXRJbnRlcmZhY2Vz
LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJTY3JpcHRXcmFwcGFibGUu
aCIKQEAgLTM4LDkgKzM5LDExIEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1ZhcmlhbnQuaD4KKyNpbmNsdWRlIDx3
dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0cnVjdCBBZGRFdmVudExp
c3RlbmVyT3B0aW9uczsKIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKIAogc3RydWN0IEV2ZW50VGFy
Z2V0RGF0YSB7CkBAIC01MSw3ICs1NCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzRmlyaW5nRXZl
bnRMaXN0ZW5lcnMgeyBmYWxzZSB9OwogfTsKIAotY2xhc3MgRXZlbnRUYXJnZXQgOiBwdWJsaWMg
U2NyaXB0V3JhcHBhYmxlIHsKK2NsYXNzIEV2ZW50VGFyZ2V0IDogcHVibGljIFNjcmlwdFdyYXBw
YWJsZSwgcHVibGljIENhbk1ha2VXZWFrUHRyPEV2ZW50VGFyZ2V0PiB7CiAgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChFdmVudFRhcmdldCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxFdmVu
dFRhcmdldD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKQEAgLTYyLDQwICs2NSwy
MSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdl
dEludGVyZmFjZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0dWFsIGJv
b2wgaXNOb2RlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGlzUGF5bWVudFJlcXVlc3QoKSBj
b25zdDsKLQotICAgIHN0cnVjdCBMaXN0ZW5lck9wdGlvbnMgewotICAgICAgICBMaXN0ZW5lck9w
dGlvbnMoYm9vbCBjYXB0dXJlID0gZmFsc2UpCi0gICAgICAgICAgICA6IGNhcHR1cmUoY2FwdHVy
ZSkKLSAgICAgICAgeyB9Ci0KLSAgICAgICAgYm9vbCBjYXB0dXJlIHsgZmFsc2UgfTsKLSAgICB9
OwotCi0gICAgc3RydWN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIDogTGlzdGVuZXJPcHRpb25z
IHsKLSAgICAgICAgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMoYm9vbCBjYXB0dXJlID0gZmFsc2Us
IE9wdGlvbmFsPGJvb2w+IHBhc3NpdmUgPSBXVEY6Om51bGxvcHQsIGJvb2wgb25jZSA9IGZhbHNl
KQotICAgICAgICAgICAgOiBMaXN0ZW5lck9wdGlvbnMoY2FwdHVyZSkKLSAgICAgICAgICAgICwg
cGFzc2l2ZShwYXNzaXZlKQotICAgICAgICAgICAgLCBvbmNlKG9uY2UpCi0gICAgICAgIHsgfQot
Ci0gICAgICAgIE9wdGlvbmFsPGJvb2w+IHBhc3NpdmU7Ci0gICAgICAgIGJvb2wgb25jZSB7IGZh
bHNlIH07Ci0gICAgfTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIGJvb2wgaXNOb2RlKCkg
Y29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIGlzUGF5bWVudFJlcXVlc3Qo
KSBjb25zdDsKIAogICAgIHVzaW5nIEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zT3JCb29sZWFuID0g
VmFyaWFudDxBZGRFdmVudExpc3RlbmVyT3B0aW9ucywgYm9vbD47CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBhZGRFdmVudExpc3RlbmVyRm9yQmluZGluZ3MoY29uc3QgQXRvbVN0cmluZyYgZXZl
bnRUeXBlLCBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnNP
ckJvb2xlYW4mJik7Ci0gICAgdXNpbmcgTGlzdGVuZXJPcHRpb25zT3JCb29sZWFuID0gVmFyaWFu
dDxMaXN0ZW5lck9wdGlvbnMsIGJvb2w+OwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVtb3Zl
RXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVm
UHRyPEV2ZW50TGlzdGVuZXI+JiYsIExpc3RlbmVyT3B0aW9uc09yQm9vbGVhbiYmKTsKKyAgICB1
c2luZyBFdmVudExpc3RlbmVyT3B0aW9uc09yQm9vbGVhbiA9IFZhcmlhbnQ8RXZlbnRMaXN0ZW5l
ck9wdGlvbnMsIGJvb2w+OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVtb3ZlRXZlbnRMaXN0
ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHRyPEV2ZW50
TGlzdGVuZXI+JiYsIEV2ZW50TGlzdGVuZXJPcHRpb25zT3JCb29sZWFuJiYpOwogICAgIFdFQkNP
UkVfRVhQT1JUIEV4Y2VwdGlvbk9yPGJvb2w+IGRpc3BhdGNoRXZlbnRGb3JCaW5kaW5ncyhFdmVu
dCYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIGFkZEV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3Qg
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmID0geyB9KTsKLSAgICB2aXJ0dWFsIGJvb2wgcmVtb3Zl
RXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIm
LCBjb25zdCBMaXN0ZW5lck9wdGlvbnMmID0geyB9KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0
dWFsIGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJl
ZjxFdmVudExpc3RlbmVyPiYmLCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYpOworICAg
IFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IEV2ZW50TGlzdGVuZXJP
cHRpb25zJiA9IHsgfSk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQWxsRXZlbnRMaXN0ZW5l
cnMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hFdmVudChFdmVudCYpOwotICAgIHZpcnR1
YWwgdm9pZCB1bmNhdWdodEV4Y2VwdGlvbkluRXZlbnRIYW5kbGVyKCk7CisgICAgV0VCQ09SRV9F
WFBPUlQgdmlydHVhbCB2b2lkIHJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgdmlydHVhbCB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIHZvaWQgdW5jYXVnaHRFeGNlcHRpb25JbkV2ZW50SGFuZGxlcigpOwog
CiAgICAgLy8gVXNlZCBmb3IgbGVnYWN5ICJvbmV2ZW50IiBhdHRyaWJ1dGVzLgogICAgIGJvb2wg
c2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJl
ZlB0cjxFdmVudExpc3RlbmVyPiYmLCBET01XcmFwcGVyV29ybGQmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRUYXJnZXQuaWRsCmluZGV4IDVmYWUxOGJhZGQ5ZjA2Nzg3YWY3YWVkNTdmYTM2YWZjZjJhMmYz
MGUuLjM2OTBlZDYwMTBlMTQwNjFhOWI2M2Y4ZWQxMzlkNDYxZDY5YjAzZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0LmlkbApAQCAtMzIsMTIgKzMyLDMgQEAKICAgICBbSW1wbGVtZW50ZWRB
cz1yZW1vdmVFdmVudExpc3RlbmVyRm9yQmluZGluZ3NdIHVuZGVmaW5lZCByZW1vdmVFdmVudExp
c3RlbmVyKFtBdG9tU3RyaW5nXSBET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5lcj8gY2FsbGJh
Y2ssIG9wdGlvbmFsIChFdmVudExpc3RlbmVyT3B0aW9ucyBvciBib29sZWFuKSBvcHRpb25zID0g
ZmFsc2UpOwogICAgIFtJbXBsZW1lbnRlZEFzPWRpc3BhdGNoRXZlbnRGb3JCaW5kaW5ncywgTWF5
VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChFdmVudCBldmVudCk7CiB9Owot
Ci1kaWN0aW9uYXJ5IEV2ZW50TGlzdGVuZXJPcHRpb25zIHsKLSAgICBib29sZWFuIGNhcHR1cmUg
PSBmYWxzZTsKLX07Ci0KLWRpY3Rpb25hcnkgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgOiBFdmVu
dExpc3RlbmVyT3B0aW9ucyB7Ci0gICAgYm9vbGVhbiBwYXNzaXZlOwotICAgIGJvb2xlYW4gb25j
ZSA9IGZhbHNlOwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9y
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCmluZGV4IGI0MTgyODVk
ZTFmZDAzY2YxOThmMWExOGU3MzU5ZTgxYjc4MDY3OTMuLjIxZGQ1ZjBiN2FkMWI2MDc0NjA3NWQ4
ZjZmOWYyZmU0NDA2NjAyMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdl
UG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmNwcApAQCAtMTA0
LDYgKzEwNCw5IEBAIE1lc3NhZ2VQb3J0OjpNZXNzYWdlUG9ydChTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBNCiAgICAgTG9ja2VyPExvY2s+IGxv
Y2tlcihhbGxNZXNzYWdlUG9ydHNMb2NrKTsKICAgICBhbGxNZXNzYWdlUG9ydHMoKS5zZXQobV9p
ZGVudGlmaWVyLCB0aGlzKTsKIAorICAgIC8vIE1ha2Ugc3VyZSB0aGUgV2Vha1B0ckZhY3Rvcnkg
Z2V0cyBpbml0aWFsaXplZCBlYWdlcmx5IG9uIHRoZSB0aHJlYWQgdGhlIE1lc3NhZ2VQb3J0IGdl
dHMgY29uc3RydWN0ZWQgb24gZm9yIHRocmVhZC1zYWZldHkgcmVhc29ucy4KKyAgICBpbml0aWFs
aXplV2Vha1B0ckZhY3RvcnkoKTsKKwogICAgIG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+Y3Jl
YXRlZE1lc3NhZ2VQb3J0KCp0aGlzKTsKICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKIApAQCAtNDE5
LDcgKzQyMiw3IEBAIGJvb2wgTWVzc2FnZVBvcnQ6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRv
bVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lCiAgICAgcmV0dXJuIEV2ZW50VGFy
Z2V0V2l0aElubGluZURhdGE6OmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBXVEZNb3ZlKGxp
c3RlbmVyKSwgb3B0aW9ucyk7CiB9CiAKLWJvb2wgTWVzc2FnZVBvcnQ6OnJlbW92ZUV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5l
ciwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9vbCBNZXNzYWdlUG9ydDo6cmVt
b3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVu
ZXImIGxpc3RlbmVyLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAg
ICBhdXRvIHJlc3VsdCA9IEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGE6OnJlbW92ZUV2ZW50TGlz
dGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQ
b3J0LmgKaW5kZXggYzZiZjhkMWUzZWNlYzQxZWNmMGFjNjY2MDgzY2I3YjYxYmQ4YzJhNS4uOWI0
Y2NiYmQ1NmQ5MWVkZTFkNDcwNGY3ZGNjMGY3OWYwNDQ1OGU2NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3Nh
Z2VQb3J0LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBG
cmFtZTsKIAotY2xhc3MgTWVzc2FnZVBvcnQgZmluYWwgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0
LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENhbk1ha2VXZWFrUHRy
PE1lc3NhZ2VQb3J0LCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpFYWdlcj4geworY2xh
c3MgTWVzc2FnZVBvcnQgZmluYWwgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZl
bnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTWVzc2Fn
ZVBvcnQpOwogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoTWVzc2FnZVBvcnQpOwogcHVibGlj
OgpAQCAtOTksNyArOTksNyBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IE1lc3NhZ2VQb3J0KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIGxvY2Fs
LCBjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHJlbW90ZSk7CiAKICAgICBib29sIGFkZEV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5l
cj4mJiwgY29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBmaW5hbDsKLSAgICBib29sIHJl
bW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3Rl
bmVyJiwgY29uc3QgTGlzdGVuZXJPcHRpb25zJikgZmluYWw7CisgICAgYm9vbCByZW1vdmVFdmVu
dExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNv
bnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJikgZmluYWw7CiAKICAgICAvLyBBY3RpdmVET01PYmpl
Y3QKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKaW5kZXggNGNiMjdmNjA3MDZlZDQzNmJkYzZiZTQ0Y2FhNzZhZGRhNWI4MTA5
Yy4uMGEzODI3NTUyMDY2YmI2NTY3MzhjMDU1OGY3OWE5MThhODIyMzU4NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmNwcApAQCAtMjEyOCw3ICsyMTI4LDcgQEAgdm9pZCBOb2RlOjptb3ZlTm9kZVRvTmV3RG9jdW1l
bnQoRG9jdW1lbnQmIG9sZERvY3VtZW50LCBEb2N1bWVudCYgbmV3RG9jdW1lbnQpCiAgICAgICAg
IGRvd25jYXN0PEVsZW1lbnQ+KCp0aGlzKS5kaWRNb3ZlVG9OZXdEb2N1bWVudChvbGREb2N1bWVu
dCwgbmV3RG9jdW1lbnQpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgdHJ5QWRkRXZlbnRMaXN0
ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxF
dmVudExpc3RlbmVyPiYmIGxpc3RlbmVyLCBjb25zdCBFdmVudFRhcmdldDo6QWRkRXZlbnRMaXN0
ZW5lck9wdGlvbnMmIG9wdGlvbnMpCitzdGF0aWMgaW5saW5lIGJvb2wgdHJ5QWRkRXZlbnRMaXN0
ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxF
dmVudExpc3RlbmVyPiYmIGxpc3RlbmVyLCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYg
b3B0aW9ucykKIHsKICAgICBpZiAoIXRhcmdldE5vZGUtPkV2ZW50VGFyZ2V0OjphZGRFdmVudExp
c3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIuY29weVJlZigpLCBvcHRpb25zKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMjE2NCw3ICsyMTY0LDcgQEAgYm9vbCBOb2RlOjphZGRFdmVudExp
c3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYg
bGkKICAgICByZXR1cm4gdHJ5QWRkRXZlbnRMaXN0ZW5lcih0aGlzLCBldmVudFR5cGUsIFdURk1v
dmUobGlzdGVuZXIpLCBvcHRpb25zKTsKIH0KIAotc3RhdGljIGlubGluZSBib29sIHRyeVJlbW92
ZUV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbVN0cmluZyYgZXZlbnRU
eXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZlbnRUYXJnZXQ6Okxpc3RlbmVy
T3B0aW9ucyYgb3B0aW9ucykKK3N0YXRpYyBpbmxpbmUgYm9vbCB0cnlSZW1vdmVFdmVudExpc3Rl
bmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRM
aXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQog
ewogICAgIGlmICghdGFyZ2V0Tm9kZS0+RXZlbnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIo
ZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9ucykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAg
LTIxOTYsNyArMjE5Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCB0cnlSZW1vdmVFdmVudExpc3Rl
bmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21TdHJpbmcmIGV2CiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKLWJvb2wgTm9kZTo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBjb25zdCBMaXN0ZW5lck9wdGlv
bnMmIG9wdGlvbnMpCitib29sIE5vZGU6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0
cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZlbnRMaXN0
ZW5lck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgcmV0dXJuIHRyeVJlbW92ZUV2ZW50TGlzdGVu
ZXIodGhpcywgZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRl
eCAyOWUyOGM5YTE5NjI3ZTBlZDJmN2NlNzI3NDdmMmE2ZDY5YWQwMzYxLi4zMjJhZWU2MGEwMTFj
NGRhZDI2ODdiOTM3YmU3NzkzMTEzMzQzYjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTY5LDcgKzY5LDcg
QEAgY2xhc3MgVG91Y2hFdmVudDsKIAogdXNpbmcgTm9kZU9yU3RyaW5nID0gVmFyaWFudDxSZWZQ
dHI8Tm9kZT4sIFN0cmluZz47CiAKLWNsYXNzIE5vZGUgOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
Tm9kZT4sIHB1YmxpYyBFdmVudFRhcmdldCB7CitjbGFzcyBOb2RlIDogcHVibGljIEV2ZW50VGFy
Z2V0IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKE5vZGUpOwogCiAgICAgZnJpZW5kIGNs
YXNzIERvY3VtZW50OwpAQCAtNDQ3LDcgKzQ0Nyw3IEBAIHB1YmxpYzoKICAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7IC8vIElt
cGxlbWVudGVkIGluIERvY3VtZW50LmgKIAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgYWRkRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVy
PiYmLCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYpIG92ZXJyaWRlOwotICAgIGJvb2wg
cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlz
dGVuZXImLCBjb25zdCBMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlkZTsKKyAgICBib29sIHJlbW92
ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVy
JiwgY29uc3QgRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlkZTsKIAogICAgIHVzaW5nIEV2
ZW50VGFyZ2V0OjpkaXNwYXRjaEV2ZW50OwogICAgIHZvaWQgZGlzcGF0Y2hFdmVudChFdmVudCYp
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXgg
OTRmZTRmMmJhMzRjOThhNmEwNWJlYWYzNWRhNzViYzE5YTFhMmZlNi4uODIwODkxNmE5OWQ5N2Vl
Mzk4OTBjMzgxNjRlYWQ0MTc0NjI0NTgyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCkBAIC01Nzk1LDcgKzU3OTUsNyBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6
OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRM
aQogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIEhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZUV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBs
aXN0ZW5lciwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9vbCBIVE1MTWVkaWFF
bGVtZW50OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
RXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRp
b25zKQogewogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKSAmJiBFTkFCTEUoRU5D
UllQVEVEX01FRElBKQogICAgIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLndlYmtpdG5l
ZWRrZXlFdmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggYzdi
ZTcwNmRkZmQ3MjhmNWY1MjdlZWRjNDVhNDVmYTRkODczMGNlYi4uMTI0MzJiZDViOTZiYjZjMTE2
NTAzM2FiM2Y3NjVhODFiZWVmNzY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTQwMiw3ICs0MDIsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkKICAgICB2b2lkIHdlYmtpdFNob3dQbGF5YmFja1RhcmdldFBpY2tlcigp
OwogICAgIGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUs
IFJlZjxFdmVudExpc3RlbmVyPiYmLCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYpIG92
ZXJyaWRlOwotICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlk
ZTsKKyAgICBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRU
eXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlk
ZTsKIAogICAgIHZvaWQgd2lyZWxlc3NSb3V0ZXNBdmFpbGFibGVEaWRDaGFuZ2UoKSBvdmVycmlk
ZTsKICAgICB2b2lkIHNldFdpcmVsZXNzUGxheWJhY2tUYXJnZXQoUmVmPE1lZGlhUGxheWJhY2tU
YXJnZXQ+JiYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFn
ZURvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAKaW5k
ZXggYTU0NmUxZDA2NzVlMjY1YzM5ODBmYzY1N2ZkNjc5YjM0NWUyN2JmOS4uNDUzOGNmNzY5MDUx
MjA5Y2EzOTkyNzJjMGQ5YWM4MjYzN2ZkMWY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9JbWFnZURvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRG9j
dW1lbnQuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSW1hZ2VEb2N1bWVudC5oIgogCisjaW5jbHVkZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMu
aCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1
ZGUgIkNocm9tZUNsaWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UZXh0VHJhY2tDdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3Vl
LmgKaW5kZXggYmQ5NzZlNGMzOWZhNTE3ZDU2MGY1NWI5YmNlYWZkMTlkMzE5ZmJlZC4uYjUwMzgx
YzVhZGZjZjZmNTBmZWQzNWQ0YTg5ZDFlNzgxNzUzZDM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL1RleHRUcmFja0N1ZS5oCkBAIC02Miw3ICs2Miw3IEBAIHByaXZhdGU6CiAgICAgV2Vh
a1B0cjxUZXh0VHJhY2tDdWU+IG1fY3VlOwogfTsKIAotY2xhc3MgVGV4dFRyYWNrQ3VlIDogcHVi
bGljIFJlZkNvdW50ZWQ8VGV4dFRyYWNrQ3VlPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGlu
ZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxUZXh0VHJhY2tDdWU+IHsKK2NsYXNzIFRleHRU
cmFja0N1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRUcmFja0N1ZT4sIHB1YmxpYyBFdmVudFRh
cmdldFdpdGhJbmxpbmVEYXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFRleHRUcmFj
a0N1ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEF0b21TdHJpbmcmIGN1ZVNoYWRvd1Bz
ZXVkb0lkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5z
cGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IGZiOTkzMWQ5MTk5OTJmZjE4NjgxYTQ1ZTE3OTFmYjk2
YWNlMDg0ZWMuLjVjYjU4YjljOTlkOWQ2OWEwZWRiMDM1ZTRiZWNkMzRiOTE2ZjI3M2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdl
bnQuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaCIKKyNpbmNsdWRlICJBZGRFdmVudExp
c3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkF0dHIuaCIKICNpbmNsdWRlICJDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJDU1NQYXJzZXIuaCIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmggYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oCmluZGV4
IGQwOWQyZTQ3NmM1MjZlYWIyYTI3NTdhYWExZWI5MDIwMTQxOWZlY2MuLmFlMTg2YWVlZmU0Mjk5
Y2NhZTNkOTY4NDNiZDVhMGRlYjVhM2I4MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaApAQCAtMzQsNyArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlSG9zdDsKIGNsYXNzIEZy
YW1lOwogCi1jbGFzcyBET01BcHBsaWNhdGlvbkNhY2hlIGZpbmFsIDogcHVibGljIFJlZkNvdW50
ZWQ8RE9NQXBwbGljYXRpb25DYWNoZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRh
LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHksIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxET01BcHBs
aWNhdGlvbkNhY2hlPiB7CitjbGFzcyBET01BcHBsaWNhdGlvbkNhY2hlIGZpbmFsIDogcHVibGlj
IFJlZkNvdW50ZWQ8RE9NQXBwbGljYXRpb25DYWNoZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJ
bmxpbmVEYXRhLCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgewogICAgIFdURl9NQUtFX0lTT19B
TExPQ0FURUQoRE9NQXBwbGljYXRpb25DYWNoZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxE
T01BcHBsaWNhdGlvbkNhY2hlPiBjcmVhdGUoRE9NV2luZG93JiB3aW5kb3cpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgRE9NQXBwbGljYXRpb25DYWNoZSh3aW5kb3cpKTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuY3BwCmluZGV4IDc2NWFjNDcxZmZmOWQ1MzRhOWJmZjkxYTliM2UxOWFiOGJiZTI0
MjQuLjczNjg0YjRlMmVhOTc4NTE4MTk2NjdiZTY4NDljNTkzNjc0OTJkYTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5jcHAKQEAgLTIxNDUsNyArMjE0NSw3IEBAIHZvaWQgRE9NV2luZG93Ojpy
ZXNldEFsbEdlb2xvY2F0aW9uUGVybWlzc2lvbigpCiAjZW5kaWYKIH0KIAotYm9vbCBET01XaW5k
b3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVu
dExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9v
bCBET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRU
eXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZlbnRMaXN0ZW5lck9wdGlvbnMm
IG9wdGlvbnMpCiB7CiAgICAgaWYgKCFFdmVudFRhcmdldDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihl
dmVudFR5cGUsIGxpc3RlbmVyLCBvcHRpb25zLmNhcHR1cmUpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCBhYzI3ODRmODk3N2QxMWE4MTdlMzI5OTYy
YmZmMDU2MzE2MWQ0YjBhLi4wZTM1MTE3ZjVhZDhhYjhmZGRmNGRkZjY2NjkwMTdjMDFmODljNDUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTExMSw3ICsxMTEsNiBAQCBzdHJ1Y3QgV2lu
ZG93UG9zdE1lc3NhZ2VPcHRpb25zIDogcHVibGljIFBvc3RNZXNzYWdlT3B0aW9ucyB7CiAvLyBG
SVhNRTogUmVuYW1lIERPTVdpbmRvdyB0byBMb2NhbFdpbmRvdyBhbmQgQWJzdHJhY3RET01XaW5k
b3cgdG8gRE9NV2luZG93LgogY2xhc3MgRE9NV2luZG93IGZpbmFsCiAgICAgOiBwdWJsaWMgQWJz
dHJhY3RET01XaW5kb3cKLSAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxET01XaW5kb3c+CiAg
ICAgLCBwdWJsaWMgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIKICAgICAsIHB1YmxpYyBCYXNl
NjRVdGlsaXRpZXMKICAgICAsIHB1YmxpYyBTdXBwbGVtZW50YWJsZTxET01XaW5kb3c+IHsKQEAg
LTMxNCw3ICszMTMsNyBAQCBwdWJsaWM6CiAgICAgLy8gRXZlbnRzCiAgICAgLy8gRXZlbnRUYXJn
ZXQgQVBJCiAgICAgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50
VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25z
JikgZmluYWw7Ci0gICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcm
IGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYpIGZpbmFs
OworICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYpIGZpbmFsOwog
ICAgIHZvaWQgcmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKSBmaW5hbDsKIAogICAgIHVzaW5nIEV2
ZW50VGFyZ2V0OjpkaXNwYXRjaEV2ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5t
bQppbmRleCA1ZTYwMWQzN2E1N2UzODM5YzhiY2M1YmM1YTNiMWQ0NTQxNDAxMTM1Li4xMDUyYmU3
MGEzNzhlODQ3ZDNhZTI5OTQ2NGEzMTEzNGJiNzg2YjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1l
ZGlhRWxlbWVudC5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSkK
IAorI2ltcG9ydCAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbXBvcnQgIkF1ZGlvVHJh
Y2tMaXN0LmgiCiAjaW1wb3J0ICJFdmVudC5oIgogI2ltcG9ydCAiRXZlbnRMaXN0ZW5lci5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVu
TW9kZWxWaWRlb0VsZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRl
b0Z1bGxzY3JlZW5Nb2RlbFZpZGVvRWxlbWVudC5tbQppbmRleCA0Y2E0YzJjYmM2MGQwYTM1NGM1
YjM0YTY2MzNlNmJlNzg0NTgyNzEyLi43MzFhOWZmZmQ2ZDZlYWM2NDE5MjkxNDkxYWZhNTM1OTAy
MTkzZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb0Z1
bGxzY3JlZW5Nb2RlbFZpZGVvRWxlbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5Nb2RlbFZpZGVvRWxlbWVudC5tbQpAQCAtMjgsNiArMjgs
NyBAQAogCiAjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQogCisjaW1wb3J0ICJB
ZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIgogI2ltcG9ydCAiRE9NV2luZG93LmgiCiAjaW1wb3J0
ICJFdmVudC5oIgogI2ltcG9ydCAiRXZlbnRMaXN0ZW5lci5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnQuY3BwCmluZGV4IGNhYWM1NTc4MzIyMDc0OTUwZTQ4YjU0NTkxY2I5OWY1ZjE3Njk4ZjkuLmQ0
ODBlNWY2YWUwNzIyNTc4OWEyMWIwNTQ4Y2IzNjY0MDcwNTFmZTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
RWxlbWVudC5jcHAKQEAgLTM4MSw3ICszODEsNyBAQCBib29sIFNWR0VsZW1lbnQ6OmFkZEV2ZW50
TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcgog
ICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFNWR0VsZW1lbnQ6OnJlbW92ZUV2ZW50TGlzdGVu
ZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwg
Y29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9vbCBTVkdFbGVtZW50OjpyZW1vdmVF
dmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYg
bGlzdGVuZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQogewogICAgIGlm
IChjb250YWluaW5nU2hhZG93Um9vdCgpKQogICAgICAgICByZXR1cm4gTm9kZTo6cmVtb3ZlRXZl
bnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCBvcHRpb25zKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5oCmluZGV4IGFlNmMwNzY1ZjQzZDIyMzBkNDU4OWJjMDZlMDhjMDk4NGY5ODc3MzQuLmE4
NGM5YmY3MmY3MTUxOTRhOTM2MThmMDJkYjVmODNkM2M3YjhkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Vs
ZW1lbnQuaApAQCAtMTEyLDcgKzExMiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaGF2
ZUxvYWRlZFJlcXVpcmVkUmVzb3VyY2VzKCk7CiAKICAgICBib29sIGFkZEV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3Qg
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlkZTsKLSAgICBib29sIHJlbW92ZUV2ZW50
TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29u
c3QgTGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CisgICAgYm9vbCByZW1vdmVFdmVudExpc3Rl
bmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IEV2
ZW50TGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CiAKICAgICBib29sIGhhc1RhZ05hbWUoY29u
c3QgU1ZHUXVhbGlmaWVkTmFtZSYgbmFtZSkgY29uc3QgeyByZXR1cm4gaGFzTG9jYWxOYW1lKG5h
bWUubG9jYWxOYW1lKCkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
UmVmRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCmlu
ZGV4IDEzMjkyYmM2Y2M1MDAzMWQ5ODU0NzE4ZWU0YWQ0YWJhMzcyM2FkZmEuLjc2OWFhMWExMmRm
ZWNiOTVlODZjNjE4OTIwMGMxZDdlYjYyODY2NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZF
bGVtZW50LmNwcApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIlNWR1RSZWZFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJBZGRFdmVudExpc3RlbmVyT3B0aW9u
cy5oIgogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgi
CiAjaW5jbHVkZSAiTXV0YXRpb25FdmVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5p
bWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcAppbmRleCAwNDMyMTI4Yzk4MTJlOTViNjBlYzcxN2E2
ZThmNzk1OWU5ZmM0MmFiLi42ODE5MWI5NGE0MDAxMDVmYjI2YTE2OTJlNmYwMmRiNTc4Y2JhZWNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNw
cApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR1NN
SUxFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIgogI2lu
Y2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkV2ZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZmU3MjBl
OTM1ZWU5ZjMyYWNjN2Q4ZDhlY2I1ZjUzMWFjYjFkOWYyMS4uN2VmZDY4ZjZmODY3MjZjYWNiNjU5
ZjA0NjUyMGNmNGQxYjVhNWNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApA
QCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUg
IkFjdGl2aXR5U3RhdGUuaCIKKyNpbmNsdWRlICJBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIgog
I2luY2x1ZGUgIkFuaW1hdGlvblRpbWVsaW5lLmgiCiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNo
ZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJBdWRpb1Nlc3Npb24uaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCmluZGV4
IDVjNGI5NzAyYzQwYmE1OGExZTZiYzk1ZWZkMDY3ZjA4OTg5OTk3MDAuLmViYmU5NWU4OTI0Yzhm
MWQ3Mzc1MjVkZWExNjMwYjFmYWQ1NmZiMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApAQCAtMjgsNiArMjgs
NyBAQAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9i
amVjdC5oIgorI2luY2x1ZGUgIkFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAi
RXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIkpTRE9NUHJv
bWlzZURlZmVycmVkLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luQW5ub3RhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BERi9QREZQbHVnaW5Bbm5vdGF0aW9uLm1tCmluZGV4IGJiMDllZDM4NDNmZGIx
NTBjYmRlMTBjMTM5OGVjMTUyN2RhNjliOTkuLmNhZWYzZTE5MDBjMjgzYzFiMzYwNTM5NDEyMjhl
ZTBlNzE2ZDY3NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BERi9QREZQbHVnaW5Bbm5vdGF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BERi9QREZQbHVnaW5Bbm5vdGF0aW9uLm1tCkBAIC0zNCw2ICszNCw3IEBACiAj
aW1wb3J0ICJQREZQbHVnaW5DaG9pY2VBbm5vdGF0aW9uLmgiCiAjaW1wb3J0ICJQREZQbHVnaW5U
ZXh0QW5ub3RhdGlvbi5oIgogI2ltcG9ydCA8UXVhcnR6L1F1YXJ0ei5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oPgogI2ltcG9ydCA8V2ViQ29yZS9DU1NQcmlt
aXRpdmVWYWx1ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0NvbG9yTWFjLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9ET00vRE9NTm9kZS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01Ob2Rl
Lm1tCmluZGV4IDJjZDliMzMxYWVhOGYxMGY3ZjkxMTRjNDRhMTFjZGEzZDhjZTgxYWQuLjVkMTRi
YTE0OTZlMjk0ZDI1NjE2MmY4MzgyYTMxZWMwODJiNjNkZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01Ob2RlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0RPTS9ET01Ob2RlLm1tCkBAIC0zMyw2ICszMyw3IEBACiAjaW1wb3J0ICJET01Ob2RlTGlz
dEludGVybmFsLmgiCiAjaW1wb3J0ICJFeGNlcHRpb25IYW5kbGVycy5oIgogI2ltcG9ydCAiT2Jq
Q0V2ZW50TGlzdGVuZXIuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NSW1wbGVtZW50YXRpb24uaD4KICNpbXBvcnQgPFdl
YkNvcmUvRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9KU0V4ZWNTdGF0ZS5oPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMjMxNmVkNjIzZDQ4NmFkNjk3MTVmM2FiN2YyZGVh
Y2U1NjY2NjA0OS4uMzhhZDMyOGY1NTMzZjkwMWQzODllMGE2NjUyYmIwOGQzZTUwYmYyMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjIg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IEFib3J0
U2lnbmFsIGluIGFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHRvIHVuc3Vic2NyaWJlIGZyb20gZXZl
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg3
NTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMjU4MDEyPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydCB0ZXN0IGNvdmVyYWdlIGZyb20g
V1BULgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRM
aXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNp
Z25hbC5hbnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS5qczogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMtc2lnbmFsLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwu
YW55Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy93M2MtaW1wb3J0LmxvZzoKKwogMjAyMS0wMS0yMiAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1vcmUgZGVzY3JpcHRpdmUgbWVzc2FnZXMg
dG8gc2V0TG9jYWxEZXNjcmlwdGlvbi9zZXRSZW1vdGVEZXNjcmlwdGlvbiBlcnJvciBjYXNlcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmVlMzljZTUxYTMzMjcwMzg4YjJlODExODY0MDJkYzdhMDFjYjY2OTgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMSBAQAorCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRM
aXN0ZW5lciBvcHRpb25zIHNob3VsZCBhbGxvdyByZW1vdmluZyBhIGxpc3RlbmVyCitQQVNTIFBh
c3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciBkb2VzIG5vdCBwcmV2ZW50
IHJlbW92ZUV2ZW50TGlzdGVuZXIKK1BBU1MgUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0byBhZGRF
dmVudExpc3RlbmVyIHdvcmtzIHdpdGggdGhlIG9uY2UgZmxhZworUEFTUyBSZW1vdmluZyBhIG9u
Y2UgbGlzdGVuZXIgd29ya3Mgd2l0aCBhIHBhc3NlZCBzaWduYWwKK1BBU1MgUGFzc2luZyBhbiBB
Ym9ydFNpZ25hbCB0byBtdWx0aXBsZSBsaXN0ZW5lcnMKK1BBU1MgUGFzc2luZyBhbiBBYm9ydFNp
Z25hbCB0byBhZGRFdmVudExpc3RlbmVyIHdvcmtzIHdpdGggdGhlIGNhcHR1cmUgZmxhZworUEFT
UyBBYm9ydGluZyBmcm9tIGEgbGlzdGVuZXIgZG9lcyBub3QgY2FsbCBmdXR1cmUgbGlzdGVuZXJz
CitQQVNTIEFkZGluZyB0aGVuIGFib3J0aW5nIGEgbGlzdGVuZXIgaW4gYW5vdGhlciBsaXN0ZW5l
ciBkb2VzIG5vdCBjYWxsIGl0CitQQVNTIEFib3J0aW5nIGZyb20gYSBuZXN0ZWQgbGlzdGVuZXIg
c2hvdWxkIHJlbW92ZSBpdAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2ln
bmFsLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkuaHRtbApAQCAtMCww
ICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFz
dHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyODcx
MDYxZjNiOTE2N2NmYTI4ZTUzNmI4NjA4ODQ0Njg0NDI3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS5qcwpAQCAtMCwwICsxLDEzMyBAQAorJ3Vz
ZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBsZXQgY291bnQgPSAwOworICBmdW5j
dGlvbiBoYW5kbGVyKCkgeworICAgIGNvdW50Kys7CisgIH0KKyAgY29uc3QgZXQgPSBuZXcgRXZl
bnRUYXJnZXQoKTsKKyAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsK
KyAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9s
bGVyLnNpZ25hbCB9KTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7Cisg
IGFzc2VydF9lcXVhbHMoY291bnQsIDEsICJBZGRpbmcgYSBzaWduYWwgc3RpbGwgYWRkcyBhIGxp
c3RlbmVyIik7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3Nl
cnRfZXF1YWxzKGNvdW50LCAyLCAiVGhlIGxpc3RlbmVyIHdhcyBub3QgYWRkZWQgd2l0aCB0aGUg
b25jZSBmbGFnIik7CisgIGNvbnRyb2xsZXIuYWJvcnQoKTsKKyAgZXQuZGlzcGF0Y2hFdmVudChu
ZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQsIDIsICJBYm9ydGluZyBv
biB0aGUgY29udHJvbGxlciByZW1vdmVzIHRoZSBsaXN0ZW5lciIpOworICBldC5hZGRFdmVudExp
c3RlbmVyKCd0ZXN0JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsIH0pOwor
ICBldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgndGVzdCcpKTsKKyAgYXNzZXJ0X2VxdWFscyhj
b3VudCwgMiwgIlBhc3NpbmcgYW4gYWJvcnRlZCBzaWduYWwgbmV2ZXIgYWRkcyB0aGUgaGFuZGxl
ciIpOworfSwgIlBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciBvcHRp
b25zIHNob3VsZCBhbGxvdyByZW1vdmluZyBhIGxpc3RlbmVyIik7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7CisgICAgY291bnQr
KzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVudFRhcmdldCgpOworICBjb25zdCBjb250cm9s
bGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOworICBldC5hZGRFdmVudExpc3RlbmVyKCd0ZXN0
JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsIH0pOworICBldC5yZW1vdmVF
dmVudExpc3RlbmVyKCd0ZXN0JywgaGFuZGxlcik7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2
ZW50KCd0ZXN0JykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAwLCAiVGhlIGxpc3RlbmVyIHdh
cyBzdGlsbCByZW1vdmVkIik7Cit9LCAiUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0byBhZGRFdmVu
dExpc3RlbmVyIGRvZXMgbm90IHByZXZlbnQgcmVtb3ZlRXZlbnRMaXN0ZW5lciIpOworCit0ZXN0
KGZ1bmN0aW9uKCkgeworICBsZXQgY291bnQgPSAwOworICBmdW5jdGlvbiBoYW5kbGVyKCkgewor
ICAgIGNvdW50Kys7CisgIH0KKyAgY29uc3QgZXQgPSBuZXcgRXZlbnRUYXJnZXQoKTsKKyAgY29u
c3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAgZXQuYWRkRXZlbnRMaXN0
ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCwgb25jZTog
dHJ1ZSB9KTsKKyAgY29udHJvbGxlci5hYm9ydCgpOworICBldC5kaXNwYXRjaEV2ZW50KG5ldyBF
dmVudCgndGVzdCcpKTsKKyAgYXNzZXJ0X2VxdWFscyhjb3VudCwgMCwgIlRoZSBsaXN0ZW5lciB3
YXMgc3RpbGwgcmVtb3ZlZCIpOworfSwgIlBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZl
bnRMaXN0ZW5lciB3b3JrcyB3aXRoIHRoZSBvbmNlIGZsYWciKTsKKwordGVzdChmdW5jdGlvbigp
IHsKKyAgbGV0IGNvdW50ID0gMDsKKyAgZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAgICBjb3VudCsr
OworICB9CisgIGNvbnN0IGV0ID0gbmV3IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0IGNvbnRyb2xs
ZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3Qn
LCBoYW5kbGVyLCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsIG9uY2U6IHRydWUgfSk7Cisg
IGV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoYW5kbGVyKTsKKyAgZXQuZGlzcGF0Y2hF
dmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQsIDAsICJUaGUg
bGlzdGVuZXIgd2FzIHN0aWxsIHJlbW92ZWQiKTsKK30sICJSZW1vdmluZyBhIG9uY2UgbGlzdGVu
ZXIgd29ya3Mgd2l0aCBhIHBhc3NlZCBzaWduYWwiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAg
bGV0IGNvdW50ID0gMDsKKyAgZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAgICBjb3VudCsrOworICB9
CisgIGNvbnN0IGV0ID0gbmV3IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0IGNvbnRyb2xsZXIgPSBu
ZXcgQWJvcnRDb250cm9sbGVyKCk7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZpcnN0JywgaGFu
ZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLCBvbmNlOiB0cnVlIH0pOworICBldC5h
ZGRFdmVudExpc3RlbmVyKCdzZWNvbmQnLCBoYW5kbGVyLCB7IHNpZ25hbDogY29udHJvbGxlci5z
aWduYWwsIG9uY2U6IHRydWUgfSk7CisgIGNvbnRyb2xsZXIuYWJvcnQoKTsKKyAgZXQuZGlzcGF0
Y2hFdmVudChuZXcgRXZlbnQoJ2ZpcnN0JykpOworICBldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVu
dCgnc2Vjb25kJykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAwLCAiVGhlIGxpc3RlbmVyIHdh
cyBzdGlsbCByZW1vdmVkIik7Cit9LCAiUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0byBtdWx0aXBs
ZSBsaXN0ZW5lcnMiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgbGV0IGNvdW50ID0gMDsKKyAg
ZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAgICBjb3VudCsrOworICB9CisgIGNvbnN0IGV0ID0gbmV3
IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVy
KCk7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoYW5kbGVyLCB7IHNpZ25hbDogY29u
dHJvbGxlci5zaWduYWwsIGNhcHR1cmU6IHRydWUgfSk7CisgIGNvbnRyb2xsZXIuYWJvcnQoKTsK
KyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMo
Y291bnQsIDAsICJUaGUgbGlzdGVuZXIgd2FzIHN0aWxsIHJlbW92ZWQiKTsKK30sICJQYXNzaW5n
IGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgd29ya3Mgd2l0aCB0aGUgY2FwdHVy
ZSBmbGFnIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0
aW9uIGhhbmRsZXIoKSB7CisgICAgY291bnQrKzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVu
dFRhcmdldCgpOworICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOwor
ICBldC5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgKCkgPT4geworICAgIGNvbnRyb2xsZXIuYWJv
cnQoKTsKKyAgfSwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsIH0pOworICBldC5hZGRFdmVu
dExpc3RlbmVyKCd0ZXN0JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsIH0p
OworICBldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgndGVzdCcpKTsKKyAgYXNzZXJ0X2VxdWFs
cyhjb3VudCwgMCwgIlRoZSBsaXN0ZW5lciB3YXMgc3RpbGwgcmVtb3ZlZCIpOworfSwgIkFib3J0
aW5nIGZyb20gYSBsaXN0ZW5lciBkb2VzIG5vdCBjYWxsIGZ1dHVyZSBsaXN0ZW5lcnMiKTsKKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgbGV0IGNvdW50ID0gMDsKKyAgZnVuY3Rpb24gaGFuZGxlcigp
IHsKKyAgICBjb3VudCsrOworICB9CisgIGNvbnN0IGV0ID0gbmV3IEV2ZW50VGFyZ2V0KCk7Cisg
IGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgIGV0LmFkZEV2ZW50
TGlzdGVuZXIoJ3Rlc3QnLCAoKSA9PiB7CisgICAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcs
IGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTsKKyAgICBjb250cm9sbGVy
LmFib3J0KCk7CisgIH0sIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTsKKyAgZXQuZGlz
cGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQsIDAs
ICJUaGUgbGlzdGVuZXIgd2FzIHN0aWxsIHJlbW92ZWQiKTsKK30sICJBZGRpbmcgdGhlbiBhYm9y
dGluZyBhIGxpc3RlbmVyIGluIGFub3RoZXIgbGlzdGVuZXIgZG9lcyBub3QgY2FsbCBpdCIpOwor
Cit0ZXN0KGZ1bmN0aW9uKCkgeworICBjb25zdCBldCA9IG5ldyBFdmVudFRhcmdldCgpOworICBj
b25zdCBhYyA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAgbGV0IGNvdW50ID0gMDsKKyAgZXQu
YWRkRXZlbnRMaXN0ZW5lcignZm9vJywgKCkgPT4geworICAgIGV0LmFkZEV2ZW50TGlzdGVuZXIo
J2ZvbycsICgpID0+IHsKKyAgICAgIGNvdW50Kys7CisgICAgICBpZiAoY291bnQgPiA1KSBhYy5h
Ym9ydCgpOworICAgICAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2ZvbycpKTsKKyAgICB9
LCB7IHNpZ25hbDogYWMuc2lnbmFsIH0pOworICAgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50
KCdmb28nKSk7CisgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcg
RXZlbnQoJ2ZvbycpKTsKK30sICJBYm9ydGluZyBmcm9tIGEgbmVzdGVkIGxpc3RlbmVyIHNob3Vs
ZCByZW1vdmUgaXQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwu
YW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFu
eS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlMzljZTUxYTMzMjcwMzg4YjJlODEx
ODY0MDJkYzdhMDFjYjY2OTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMtc2lnbmFsLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworUEFT
UyBQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgb3B0aW9ucyBzaG91
bGQgYWxsb3cgcmVtb3ZpbmcgYSBsaXN0ZW5lcgorUEFTUyBQYXNzaW5nIGFuIEFib3J0U2lnbmFs
IHRvIGFkZEV2ZW50TGlzdGVuZXIgZG9lcyBub3QgcHJldmVudCByZW1vdmVFdmVudExpc3RlbmVy
CitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciB3b3JrcyB3
aXRoIHRoZSBvbmNlIGZsYWcKK1BBU1MgUmVtb3ZpbmcgYSBvbmNlIGxpc3RlbmVyIHdvcmtzIHdp
dGggYSBwYXNzZWQgc2lnbmFsCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gbXVsdGlw
bGUgbGlzdGVuZXJzCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0
ZW5lciB3b3JrcyB3aXRoIHRoZSBjYXB0dXJlIGZsYWcKK1BBU1MgQWJvcnRpbmcgZnJvbSBhIGxp
c3RlbmVyIGRvZXMgbm90IGNhbGwgZnV0dXJlIGxpc3RlbmVycworUEFTUyBBZGRpbmcgdGhlbiBh
Ym9ydGluZyBhIGxpc3RlbmVyIGluIGFub3RoZXIgbGlzdGVuZXIgZG9lcyBub3QgY2FsbCBpdAor
UEFTUyBBYm9ydGluZyBmcm9tIGEgbmVzdGVkIGxpc3RlbmVyIHNob3VsZCByZW1vdmUgaXQKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29ya2VyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53b3JrZXIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29ya2VyLmh0bWwKQEAgLTAs
MCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJh
c3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3czYy1pbXBvcnQubG9nCmluZGV4
IDI3ZGJhY2FjNzYwZmZlZWMzMDRhZWYyYTg0ODE1ZDUxZjU4NDk2ZjcuLjRhNDM5OTZhMTg1ZjRm
MDRmMDAxZmU3MDFkMDU2ZTkzNDUwNDcxMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy93M2MtaW1wb3J0LmxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
dzNjLWltcG9ydC5sb2cKQEAgLTE2LDYgKzE2LDcgQEAgTm9uZQogTGlzdCBvZiBmaWxlczoKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMtb25jZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXBh
c3NpdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55LmpzCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0N1c3RvbUV2
ZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvRXZlbnQtY2FuY2VsQnViYmxlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtY29uc3RhbnRzLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418187</attachid>
            <date>2021-01-22 15:30:03 -0800</date>
            <delta_ts>2021-01-22 16:37:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218753-20210122153002.patch</filename>
            <type>text/plain</type>
            <size>83818</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiODYyNDAzMzNkNDE0N2QzYTk5NTRl
MTEzOWYwMTFjMTljZDczYmYuLmExMmY3OGQyZjlmNjQzOWUxOTA4YTJkNTYwODgyYTNlYjJhZWU3
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IEFib3J0U2lnbmFsIGluIGFkZEV2ZW50TGlz
dGVuZXJPcHRpb25zIHRvIHVuc3Vic2NyaWJlIGZyb20gZXZlbnRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg3NTMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzcxMjU4MDEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBpbml0aWFsaXplV2Vha1B0ckZhY3RvcnkoKSBwcm90ZWN0aW9uIGZ1bmN0
aW9uIHRvIENhbk1ha2VXZWFrUHRyIHNvIHRoYXQgYSBzdWJjbGFzcworICAgICAgICBjYW4gZWFn
ZXJseSBpbml0aWFsaXplIHRoZSBXZWFrUHRyRmFjdG9yeSBldmVuIGlmIGl0IGRvZXMgbm90IHN1
YmNsYXNzCisgICAgICAgIFdlYWtQdHJGYWN0b3J5PFQsIFdlYWtQdHJGYWN0b3J5SW5pdGlhbGl6
YXRpb246OkVhZ2VyPi4gTWVzc2FnZVBvcnQgdXNlZCB0byBzdWJjbGFzcworICAgICAgICBXZWFr
UHRyRmFjdG9yeTxULCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpFYWdlcj4gZm9yIHRo
cmVhZC1zYWZldHkgcmVhc29uIGJ1dCBpdAorICAgICAgICBub3cgc3ViY2xhc3NlcyBXZWFrUHRy
RmFjdG9yeTxULCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpMYXp5PiB2aWEgRXZlbnRU
YXJnZXQuCisKKyAgICAgICAgKiB3dGYvV2Vha1B0ci5oOgorICAgICAgICAoV1RGOjpDYW5NYWtl
V2Vha1B0cjo6aW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KToKKwogMjAyMS0wMS0yMSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYXR0ZW1wdCB0
byBmaXggV2F0Y2hPUyBidWlsZCBhZnRlciByMjcxNjczLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhmMzdmM2Qx
YjhmNjViMjEwMmUwNDdjMDQ0MzM0NDI1YmViMzRiNjQuLmM0ZGMwMjIyOThhMWQ0OWVkNWVjNzAy
NmI0NmE4ZDA5NzMzMjU0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OSBAQAorMjAyMS0wMS0y
MiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgQWJv
cnRTaWduYWwgaW4gYWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgdG8gdW5zdWJzY3JpYmUgZnJvbSBl
dmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODc1MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNTgwMTI+CisKKyAgICAgICAgU3VwcG9y
dCBBYm9ydFNpZ25hbCBpbiBhZGRFdmVudExpc3RlbmVyT3B0aW9ucyB0byB1bnN1YnNjcmliZSBm
cm9tIGV2ZW50czoKKyAgICAgICAgLSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1
ZXMvOTExCisgICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vcHVsbC85MTkK
KworICAgICAgICBCbGluayBhbHJlYWR5IGFkZGVkIHN1cHBvcnQgZm9yIHRoaXMuCisKKyAgICAg
ICAgQWRkRXZlbnRMaXN0ZW5lcl9BYm9ydFNpZ25hbAorCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMtc2lnbmFsLmFueS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53
b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAq
IEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJv
YXJkLmg6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0Lmg6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVj
aFJlY29nbml0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250
ZXh0Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAg
ICogTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBh
bmltYXRpb24vV2ViQW5pbWF0aW9uLmg6CisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIpOgorICAgICAgICAq
IGNzcy9NZWRpYVF1ZXJ5TGlzdC5oOgorICAgICAgICAqIGRvbS9BYm9ydFNpZ25hbC5oOgorICAg
ICAgICAqIGRvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oLgorICAgICAgICAo
V2ViQ29yZTo6QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM6OkFkZEV2ZW50TGlzdGVuZXJPcHRpb25z
KToKKyAgICAgICAgKiBkb20vQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oLgor
ICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyLmg6CisgICAgICAgICogZG9tL0V2ZW50TGlzdGVu
ZXJNYXAuY3BwOgorICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyT3B0aW9ucy5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5o
LgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMaXN0ZW5lck9wdGlvbnM6OkV2ZW50TGlzdGVuZXJP
cHRpb25zKToKKyAgICAgICAgKiBkb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5o
LgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdl
dDo6cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
VGFyZ2V0OjpzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50VGFyZ2V0Ojppbm5lckludm9rZUV2ZW50TGlzdGVuZXJzKToKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExp
c3RlbmVyKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaWRsOgorICAgICAgICAqIGRvbS9N
ZXNzYWdlUG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZXNzYWdlUG9ydDo6TWVzc2FnZVBv
cnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZVBvcnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIp
OgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydC5oOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRyeUFkZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6dHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW1v
dmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0ltYWdlRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvdHJh
Y2svVGV4dFRyYWNrQ3VlLmg6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JE
T01BZ2VudC5jcHA6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2Fj
aGUuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
Lmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVs
ZW1lbnQubW06CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxW
aWRlb0VsZW1lbnQubW06CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogc3Zn
L1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwOgorICAgICAg
ICAqIHN2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5oOgorCiAyMDIxLTAxLTIyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgQXZvaWQgZHVwbGljYXRlIGNhbGN1bGF0aW9ucyBpbiBSZW5kZXJCbG9jazo6Y29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzYwOWU5Nzk5OGMxN2FmYTYz
N2I1YzEzNTFlZjNiMjRlMDE0YmM5NC4uNDIxY2M4YzhkNmVhYjcxZmJjNWUwMDc0NWM1NmY1NDlm
ZTdhYTE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0yMiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgQWJvcnRTaWduYWwgaW4g
YWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgdG8gdW5zdWJzY3JpYmUgZnJvbSBldmVudHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzEyNTgwMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWlub3IgYnVpbGQgZml4ZXMuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbkFubm90YXRpb24ubW06CisKIDIwMjEtMDEtMjIg
IEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5d
IE5vIGVycm9yIGlzIHZpc2libGUgYWZ0ZXIgdXNlciBlbnRlcnMgdGhlIGluY29ycmVjdCBQSU4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBiMWM0ZjBhN2E1NzMzMWFjNWI5NDVjMmQ5
ZDdjZTFkMDUyZWVkMDI5Li5iNzVhZmM2NGI5MGNlZjI0NjBhN2JhZDkwZWI2YTQxMWM4ZTdkNWM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEt
MjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IEFi
b3J0U2lnbmFsIGluIGFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHRvIHVuc3Vic2NyaWJlIGZyb20g
ZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTg3NTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMjU4MDEyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1pbm9yIGJ1aWxkIGZpeGVzLgorCisg
ICAgICAgICogRE9NL0RPTU5vZGUubW06CisKIDIwMjEtMDEtMjEgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtBcHBsZSBQYXldIHVzZSB0aGUgZmlyc3QgaXRl
bSBpbiBgc2hpcHBpbmdPcHRpb25zYCBldmVuIHdoZW4gaXQncyBub3QgYHNlbGVjdGVkYApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvV2Vha1B0ci5oIGIvU291cmNlL1dURi93dGYvV2Vha1B0
ci5oCmluZGV4IGE4YjExYWI5NzU1NjJhNTc5MzM2YTE0ZWQyZGQyY2RhMmE0N2Y1YjguLjE0MzJj
MmYyNWI3NDdiNTJlYzZmZmQ1NjFmNTQ5MDhhM2Y0MDY0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1dlYWtQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgKQEAgLTIwMCw3
ICsyMDAsMTIgQEAgcHJvdGVjdGVkOgogICAgIENhbk1ha2VXZWFrUHRyKCkKICAgICB7CiAgICAg
ICAgIGlmIChpbml0aWFsaXphdGlvbk1vZGUgPT0gV2Vha1B0ckZhY3RvcnlJbml0aWFsaXphdGlv
bjo6RWFnZXIpCi0gICAgICAgICAgICBtX3dlYWtQdHJGYWN0b3J5LmluaXRpYWxpemVJZk5lZWRl
ZChzdGF0aWNfY2FzdDxUJj4oKnRoaXMpKTsKKyAgICAgICAgICAgIGluaXRpYWxpemVXZWFrUHRy
RmFjdG9yeSgpOworICAgIH0KKworICAgIHZvaWQgaW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KCkK
KyAgICB7CisgICAgICAgIG1fd2Vha1B0ckZhY3RvcnkuaW5pdGlhbGl6ZUlmTmVlZGVkKHN0YXRp
Y19jYXN0PFQmPigqdGhpcykpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggNDM0ZTQ5YzEwYjA3MWYyZGFhY2IzMjA0NWIwMjY3ZDUyODZiMjE5OC4uNDVkYjU5MTM4
NDAyNDRhYzQ4OTcxNDY4ZGJhMDE0ZDEzYzI0ZjE2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTc4NSw2ICs3ODUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGRvbS9B
Ym9ydENvbnRyb2xsZXIuaWRsCiAgICAgZG9tL0Fib3J0U2lnbmFsLmlkbAogICAgIGRvbS9BYnN0
cmFjdFJhbmdlLmlkbAorICAgIGRvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKICAgICBk
b20vQW5pbWF0aW9uRXZlbnQuaWRsCiAgICAgZG9tL0F0dHIuaWRsCiAgICAgZG9tL0JlZm9yZUxv
YWRFdmVudC5pZGwKQEAgLTg0Myw2ICs4NDQsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9G
SUxFUwogICAgIGRvbS9FcnJvckV2ZW50LmlkbAogICAgIGRvbS9FdmVudC5pZGwKICAgICBkb20v
RXZlbnRJbml0LmlkbAorICAgIGRvbS9FdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKICAgICBkb20v
RXZlbnRNb2RpZmllckluaXQuaWRsCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmlkbAogICAgIGRvbS9G
b2N1c0V2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKaW5kZXggNzIxNTNjYjQ5Mjk3NGVlMWI4MzM1M2UwYWFlMDc3MTdmOGM5NjJhNC4u
NTAxODQyM2E5YWVkMTQ2NzNlZWZlMTkwMGExYWY0NWIwMzlkOTRhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC03MDAsNiArNzAwLDcg
QEAgJChQUk9KRUNUX0RJUikvZG9tL0Fib3J0QWxnb3JpdGhtLmlkbAogJChQUk9KRUNUX0RJUikv
ZG9tL0Fib3J0Q29udHJvbGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9BYm9ydFNpZ25hbC5p
ZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9BYnN0cmFjdFJhbmdlLmlkbAorJChQUk9KRUNUX0RJUikv
ZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0FuaW1h
dGlvbkV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0F0dHIuaWRsCiAkKFBST0pFQ1RfRElS
KS9kb20vQmVmb3JlTG9hZEV2ZW50LmlkbApAQCAtNzYwLDYgKzc2MSw3IEBAICQoUFJPSkVDVF9E
SVIpL2RvbS9FcnJvckV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0V2ZW50LmlkbAogJChQ
Uk9KRUNUX0RJUikvZG9tL0V2ZW50SW5pdC5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9FdmVudExp
c3RlbmVyLmlkbAorJChQUk9KRUNUX0RJUikvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbAog
JChQUk9KRUNUX0RJUikvZG9tL0V2ZW50TW9kaWZpZXJJbml0LmlkbAogJChQUk9KRUNUX0RJUikv
ZG9tL0V2ZW50TmFtZXMuaW4KICQoUFJPSkVDVF9ESVIpL2RvbS9FdmVudFRhcmdldC5pZGwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXgg
MzcwOTQ5ODk5ODUzNmM3NjQ2NzQ1NTRkN2EwZDAwN2JmYTVjM2I4MS4uOWNmYzI5OGZjZWZlZDJk
MDRmYzNhYjE3NWE2MzU1NmM4OTMwY2JmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTUyLDYgKzUyLDggQEAgJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBYnN0cmFjdFdvcmtlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWJzdHJhY3RXb3Jr
ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBY2Nl
c3NpYmlsaXR5Um9sZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQWNjZXNzaWJpbGl0eVJvbGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWRkRXZlbnRMaXN0ZW5lck9w
dGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNB
ZGRyZXNzRXJyb3JzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBZGRyZXNzRXJyb3JzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQWVzQ2JjQ2ZiUGFyYW1zLmNwcApAQCAtNzQzLDYgKzc0NSw4IEBAICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnQuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnRJbml0LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudElu
aXQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVu
dExpc3RlbmVyT3B0aW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRXZlbnRMaXN0ZW5lck9wdGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudE1vZGlmaWVySW5pdC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnRNb2RpZmllckluaXQu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudFNv
dXJjZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGM3M2YwNjAyYWMyNzA2
NDI1YzI3ZWVmYjJhN2ZiNmNkMDMzN2ExNzguLmMyNzg5YzQ3YjA5ZTEyNDkzYzRjNTQ3NjVhNWEw
MjZkZTg3NjI4ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjU5LDYgKzY1
OSw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRDb250
cm9sbGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRTaWduYWwuaWRsIFwKICAgICAk
KFdlYkNvcmUpL2RvbS9BYnN0cmFjdFJhbmdlLmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20vQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9BbmltYXRpb25F
dmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0F0dHIuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9CZWZvcmVMb2FkRXZlbnQuaWRsIFwKQEAgLTcxNyw2ICs3MTgsNyBAQCBKU19CSU5ESU5H
X0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9kb20vRXZlbnRJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRXZlbnRMaXN0ZW5lci5p
ZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9kb20vRXZlbnRNb2RpZmllckluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9FdmVudFRhcmdldC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCmluZGV4IGQ4ZmMxNDE3NDU2MzIzMWFlZjEyMWUxOWY3MjZkNmE1MTMx
NzEzNDYuLmVkMDY2YzExY2FjMjE4YTNkOGZkZWJmZjE2OTI2NjE2ZmMyODQzZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQpAQCAtMzk2LDkgKzM5NiwxMSBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1F
V09SS19IRUFERVJTCiAgICAgZGlzcGxheS9jc3MvRGlzcGxheVJlcGxhY2VkQm94LmgKICAgICBk
aXNwbGF5L2Nzcy9EaXNwbGF5U3R5bGUuaAogCisgICAgZG9tL0Fib3J0U2lnbmFsLmgKICAgICBk
b20vQWJzdHJhY3RSYW5nZS5oCiAgICAgZG9tL0FjdGl2ZURPTUNhbGxiYWNrLmgKICAgICBkb20v
QWN0aXZlRE9NT2JqZWN0LmgKKyAgICBkb20vQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaAogICAg
IGRvbS9BdHRyLmgKICAgICBkb20vQXR0cmlidXRlLmgKICAgICBkb20vQm91bmRhcnlQb2ludC5o
CkBAIC00NDQsNiArNDQ2LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVS
UwogICAgIGRvbS9FdmVudEluaXQuaAogICAgIGRvbS9FdmVudExpc3RlbmVyLmgKICAgICBkb20v
RXZlbnRMaXN0ZW5lck1hcC5oCisgICAgZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmgKICAgICBk
b20vRXZlbnRNb2RpZmllckluaXQuaAogICAgIGRvbS9FdmVudE5hbWVzLmgKICAgICBkb20vRXZl
bnRRdWV1ZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBi
b2FyZC9DbGlwYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L0NsaXBib2FyZC5oCmluZGV4IDM2ZGU2MmUyYjg4NmY5NzA5NzA0MmI4ZDU1MWZmNzU5MGRmOWM0
Y2EuLmE2YzU4YmM5MjliNWJjNzU1MmNiZDY1NTRmNDgyOTQ3YTM0MjgxZDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oCkBAIC00
MCw3ICs0MCw3IEBAIGNsYXNzIE5hdmlnYXRvcjsKIGNsYXNzIFBhc3RlYm9hcmQ7CiBjbGFzcyBQ
YXN0ZWJvYXJkQ3VzdG9tRGF0YTsKIAotY2xhc3MgQ2xpcGJvYXJkIGZpbmFsIDogcHVibGljIFJl
ZkNvdW50ZWQ8Q2xpcGJvYXJkPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1
YmxpYyBDYW5NYWtlV2Vha1B0cjxDbGlwYm9hcmQ+IHsKK2NsYXNzIENsaXBib2FyZCBmaW5hbCA6
IHB1YmxpYyBSZWZDb3VudGVkPENsaXBib2FyZD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxp
bmVEYXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKENsaXBib2FyZCk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxDbGlwYm9hcmQ+IGNyZWF0ZShOYXZpZ2F0b3ImKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lv
bi5oCmluZGV4IDMwMzZhYTlmOWU4YzU1YWZlODgxOTQxYTFhNWFlOGZjZDExYmIzMTAuLjgyMTc5
MDM4NTdlYjgyMTRhMDI5ZDMzNWRmOGI4OTg0NDZhNDQyMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaApAQCAt
NjcsNiArNjcsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZWRpYUtleVNlc3Npb24+IGNy
ZWF0ZShEb2N1bWVudCYsIFdlYWtQdHI8TWVkaWFLZXlzPiYmLCBNZWRpYUtleVNlc3Npb25UeXBl
LCBib29sIHVzZURpc3RpbmN0aXZlSWRlbnRpZmllciwgUmVmPENETT4mJiwgUmVmPENETUluc3Rh
bmNlU2Vzc2lvbj4mJik7CiAgICAgdmlydHVhbCB+TWVkaWFLZXlTZXNzaW9uKCk7CiAKKyAgICB1
c2luZyBDRE1JbnN0YW5jZVNlc3Npb25DbGllbnQ6OndlYWtQdHJGYWN0b3J5OworICAgIHVzaW5n
IFdlYWtWYWx1ZVR5cGUgPSBDRE1JbnN0YW5jZVNlc3Npb25DbGllbnQ6OldlYWtWYWx1ZVR5cGU7
CiAgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+OjpyZWY7CiAgICAgdXNpbmcg
UmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+OjpkZXJlZjsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCmluZGV4IDlhNDYxMWJjYmRhOWEyODU2NzFj
NTkzZWZmNDhhNmQ3N2ZmNDZmZTUuLjZhMTNlNWY0YjUzZTQxN2Q3ZTc0ZWZhY2U1ZTMzODVkMGM4
ZWRlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJl
cXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0
LmgKQEAgLTYxLDcgKzYxLDcgQEAgY2xhc3MgSURCQ29ubmVjdGlvblByb3h5OwogY2xhc3MgSURC
Q29ubmVjdGlvblRvU2VydmVyOwogfQogCi1jbGFzcyBJREJSZXF1ZXN0IDogcHVibGljIEV2ZW50
VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBJREJBY3RpdmVET01PYmplY3QsIHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxJREJSZXF1ZXN0PiwgcHVibGljIENhbk1ha2VXZWFrUHRyPElE
QlJlcXVlc3Q+IHsKK2NsYXNzIElEQlJlcXVlc3QgOiBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5s
aW5lRGF0YSwgcHVibGljIElEQkFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPElEQlJlcXVlc3Q+IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKElEQlJlcXVl
c3QpOwogcHVibGljOgogICAgIGVudW0gY2xhc3MgTnVsbFJlc3VsdFR5cGUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgKaW5kZXggNmY5
MDYyOGFiMGNjOGYwYTM0MTExMzRmODc5N2U2NGJmYzgxNmYzOS4uMDBmMTBhMjdhY2FiMjFiZGI1
Y2I5YzJhMTQ1YTg3NjE0M2UxMTU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCkBAIC01NSw3ICs1NSw3IEBAIHN0cnVjdCBNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+
IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKIAotY2xhc3MgTWVkaWFEZXZpY2VzIGZpbmFsIDog
cHVibGljIFJlZkNvdW50ZWQ8TWVkaWFEZXZpY2VzPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwg
cHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxN
ZWRpYURldmljZXM+IHsKK2NsYXNzIE1lZGlhRGV2aWNlcyBmaW5hbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPE1lZGlhRGV2aWNlcz4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBFdmVudFRh
cmdldFdpdGhJbmxpbmVEYXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKE1lZGlhRGV2
aWNlcyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZWRpYURldmljZXM+IGNyZWF0ZShEb2N1
bWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5oCmluZGV4IGFjY2U2ZTliZGU0Yzc3YjMzM2Y5YjYwNjMxMzczMGM1
Nzk5NGY5OWQuLjU2OTE0M2FhNzJiM2FlNjIzOTUzZGU5MzVmN2FjNDFmOGU1ZDdhMjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLmgKQEAgLTc3LDcgKzc3LDYgQEAgY2xhc3MgUlRDUGVlckNvbm5lY3Rpb24gZmluYWwK
ICAgICA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ1BlZXJDb25uZWN0aW9uPgogICAgICwgcHVibGlj
IEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEKICAgICAsIHB1YmxpYyBBY3RpdmVET01PYmplY3QK
LSAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxSVENQZWVyQ29ubmVjdGlvbj4KICNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKICAgICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
cXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
cXVlc3QuaAppbmRleCA2OGFjYWM5NmIyZTdiZGEyYTA1ZWRmNWFjYjVmZDlhZTZmOGQ4OTkxLi5j
ZDkzZDIzMTEyYjU3NTNkOTAxN2E4OGE5MmMyN2QzNDAwZmI4YmFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCkBA
IC01MSw3ICs1MSw3IEBAIHN0cnVjdCBQYXltZW50RGV0YWlsc1VwZGF0ZTsKIHN0cnVjdCBQYXlt
ZW50TWV0aG9kRGF0YTsKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKIAotY2xhc3MgUGF5bWVudFJlcXVlc3QgZmluYWwgOiBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UGF5bWVudFJlcXVlc3Q+LCBwdWJsaWMg
RXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIFJlZkNvdW50ZWQ8UGF5bWVudFJlcXVl
c3Q+IHsKK2NsYXNzIFBheW1lbnRSZXF1ZXN0IGZpbmFsIDogcHVibGljIEFjdGl2ZURPTU9iamVj
dCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBSZWZDb3VudGVkPFBh
eW1lbnRSZXF1ZXN0PiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQYXltZW50UmVxdWVz
dCk7CiBwdWJsaWM6CiAgICAgdXNpbmcgQWJvcnRQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVk
PHZvaWQ+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNo
UmVjb2duaXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29n
bml0aW9uLmgKaW5kZXggMzc5MjMyZWJjOGU0ZjgwMTRhYWI5MjFkYzg0MjU0OWVhYTUxNzBjYS4u
YzIwMGJhZTY1Y2I4NTNhZTMxYmI2YWIyMWUyMjEzMWUxODA0YTA2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5oCkBAIC00MSw2ICs0
MSw5IEBAIGNsYXNzIFNwZWVjaFJlY29nbml0aW9uIDogcHVibGljIFNwZWVjaFJlY29nbml0aW9u
Q29ubmVjdGlvbkNsaWVudCwgcHVibGljIEFjdGl2CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxT
cGVlY2hSZWNvZ25pdGlvbj4gY3JlYXRlKERvY3VtZW50Jik7CiAKKyAgICB1c2luZyBTcGVlY2hS
ZWNvZ25pdGlvbkNvbm5lY3Rpb25DbGllbnQ6OndlYWtQdHJGYWN0b3J5OworICAgIHVzaW5nIFdl
YWtWYWx1ZVR5cGUgPSBTcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb25DbGllbnQ6OldlYWtWYWx1
ZVR5cGU7CisKICAgICBjb25zdCBTdHJpbmcmIGxhbmcoKSBjb25zdCB7IHJldHVybiBtX2xhbmc7
IH0KICAgICB2b2lkIHNldExhbmcoU3RyaW5nJiYgbGFuZykgeyBtX2xhbmcgPSBXVEZNb3ZlKGxh
bmcpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFz
ZUF1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVk
aW9Db250ZXh0LmgKaW5kZXggNzk4MjJkZjY1ZjVkYTMxYmI2MWQ3ZjEzYjk5MTgyMWEwOTIxZTdi
OS4uODVjNzc0ZmRhZGVhZGJlYmQ4YzdhMWMyMjcxM2EwNzc1NTU0ZmZkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmgKQEAgLTk1
LDcgKzk1LDYgQEAgY2xhc3MgQmFzZUF1ZGlvQ29udGV4dAogICAgIDogcHVibGljIEFjdGl2ZURP
TU9iamVjdAogICAgICwgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEJhc2VBdWRpb0NvbnRl
eHQ+CiAgICAgLCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YQotICAgICwgcHVibGlj
IENhbk1ha2VXZWFrUHRyPEJhc2VBdWRpb0NvbnRleHQ+CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECiAgICAgLCBwdWJsaWMgTG9nZ2VySGVscGVyCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKaW5kZXggY2ZhM2I5NWVhMGIzMGRkZTAzN2Qz
NjBhZWVkOTNmYTI3NWQyYTk0My4uYzljYzNjNGU0MzVjOTI2NGIyODE0ZDNkNjNjMjQwZmNiNjY3
MDZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgK
QEAgLTc3LDcgKzc3LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJv
bWlzZURlZmVycmVkOwogdXNpbmcgRXJyb3JJRExVbmlvbiA9IElETFVuaW9uPElETEludGVyZmFj
ZTxHUFVPdXRPZk1lbW9yeUVycm9yPiwgSURMSW50ZXJmYWNlPEdQVVZhbGlkYXRpb25FcnJvcj4+
OwogdXNpbmcgRXJyb3JQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETE51bGxhYmxlPEVy
cm9ySURMVW5pb24+PjsKIAotY2xhc3MgV2ViR1BVRGV2aWNlIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViR1BVRGV2aWNlPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBD
YW5NYWtlV2Vha1B0cjxXZWJHUFVEZXZpY2U+IHsKK2NsYXNzIFdlYkdQVURldmljZSA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYkdQVURldmljZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVE
YXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYkdQVURldmljZSk7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+V2ViR1BVRGV2aWNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSU3lzdGVtLmgKaW5kZXggYWUyYjk2NzVmMzNhMWM4Y2QzMWMyOTc1ZmYyYjU5Y2Vl
NjliMDY4OC4uYzc2MmQ0NmFjMGU5MDRhMzk4M2QzOTdmNjg2NTYxZDRjMTY1YjM1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaApAQCAtNTMsNyArNTMsNyBA
QCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2ViWFJTZXNzaW9uOwogc3Ry
dWN0IFhSU2Vzc2lvbkluaXQ7CiAKLWNsYXNzIFdlYlhSU3lzdGVtIGZpbmFsIDogcHVibGljIFJl
ZkNvdW50ZWQ8V2ViWFJTeXN0ZW0+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYlhSU3lzdGVt
PiB7CitjbGFzcyBXZWJYUlN5c3RlbSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSU3lz
dGVtPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01P
YmplY3QgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV2ViWFJTeXN0ZW0pOwogcHVibGlj
OgogICAgIHVzaW5nIElzU2Vzc2lvblN1cHBvcnRlZFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDdhYTU1YmI0MzQ2OGQ3M2M3NGQ4ZWJj
ZGM0NzIwYmFiYTI4ZTUyZjcuLjcyOTZjY2YzZWY5ZWZjNzE2OTJjMWMxYjEwMDdhMGE2ZTc5MjAz
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yNzIyLDYgKzI3MjIsNyBAQCBKU0Fib3J0U2lnbmFsLmNw
cAogSlNBYnN0cmFjdFJhbmdlLmNwcAogSlNBYnN0cmFjdFdvcmtlci5jcHAKIEpTQWRkcmVzc0Vy
cm9ycy5jcHAKK0pTQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuY3BwCiBKU0Flc0NiY0NmYlBhcmFt
cy5jcHAKIEpTQWVzQ3RyUGFyYW1zLmNwcAogSlNBZXNHY21QYXJhbXMuY3BwCkBAIC0yOTYxLDYg
KzI5NjIsNyBAQCBKU0Vycm9yQ2FsbGJhY2suY3BwCiBKU0Vycm9yRXZlbnQuY3BwCiBKU0V2ZW50
LmNwcAogSlNFdmVudEluaXQuY3BwCitKU0V2ZW50TGlzdGVuZXJPcHRpb25zLmNwcAogSlNFdmVu
dE1vZGlmaWVySW5pdC5jcHAKIEpTRXZlbnRTb3VyY2UuY3BwCiBKU0V2ZW50VGFyZ2V0LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDcxZjdjODM4MTE5YTIzNTE3M2Q0MGNiODg5MWJjNWFiZjljMzZlZmUuLjA1M2JkODdkYTdj
ZGE4NDUxYWYxM2VkYjMxYzEzOGFmNjY0NTk1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMwMiw2ICszMDIsNyBAQAogCQkw
RjQ5NjZBQjFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0OTY2QTUxREI0MEM0MzAwQTI3NEJCIC8q
IEpTRE9NUG9pbnQuaCAqLzsgfTsKIAkJMEY0OTY2QUQxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9N
UG9pbnRJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjQ5NjZBNzFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludEluaXQuaCAqLzsgfTsKIAkJ
MEY0OTY2QUYxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0OTY2QTkxREI0MEM0MzAw
QTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5oICovOyB9OworCQkwRjUzRkI4NDIxM0I3QTY0
MDBDNDBEMzQgLyogUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1M0ZCODQyMTNCNzg2NDAwQzQwRDM0IC8q
IFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjU0RENFNjE4ODEwNTFEMDAzRUVEQkIgLyogVGV4dEF1
dG9TaXppbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGNTREQ0U0MTg4MTA1MUQwMDNFRURCQiAvKiBUZXh0QXV0b1NpemluZy5oICovOyB9OwogCQkw
RjU0REQwODE4ODFENUY1MDAzRUVEQkIgLyogVG91Y2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTRERDA1MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3Vj
aC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBG
NTRERDA5MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3VjaEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU0REQwNjE4ODFENUY1MDAzRUVEQkIgLyog
VG91Y2hFdmVudC5oICovOyB9OwpAQCAtMTI2Miw2ICsxMjYzLDggQEAKIAkJNDZCOTUxOUEyMDdE
NjM1NDAwQTdEMkREIC8qIFJlbW90ZUZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI5NTE5MjIwN0Q2MzJFMDBBN0QyREQgLyogUmVtb3RlRnJh
bWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
NkI5NUJGNTIyMzFDRkQ2MDA1M0E1MDQgLyogRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nl
c3NDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NkI5NUJGNDIyMzFDRkI4MDA1M0E1MDQgLyogRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rp
b25BY2Nlc3NDb250cm9sbGVyLmggKi87IH07CiAJCTQ2QkNCQkMyMjA4NTAwOEYwMDcxMDYzOCAv
KiBKU1JlbW90ZURPTVdpbmRvd0Jhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2QkNCQkMwMjA4NTAwN0YwMDcxMDYzOCAvKiBKU1JlbW90ZURPTVdp
bmRvd0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk0NkJEMDVDNTI1QkI2RTU5MDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QkQwNUMy
MjVCQjZFNEUwMDIyNUYzMCAvKiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ2QkQwNUM2MjVCQjZFNkMw
MDIyNUYzMCAvKiBFdmVudExpc3RlbmVyT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCRDA1QzMyNUJCNkU0RTAwMjI1RjMwIC8qIEV2ZW50
TGlzdGVuZXJPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDZDMDk2MjEyM0Q3OERENjAwNjU3QzA5IC8qIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2
QzA5NjIwMjNENzhERDYwMDY1N0MwOSAvKiBIVFRQQ29va2llQWNjZXB0UG9saWN5LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZDMzc2NjIyMDg1
MTc3RDAwQzczODI5IC8qIEpTUmVtb3RlRE9NV2luZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMzNzY2MTIwODUxNzZEMDBDNzM4MjkgLyogSlNS
ZW1vdGVET01XaW5kb3cuaCAqLzsgfTsKIAkJNDZDNjk2Q0IxRTcyMDVGNzAwNTk3OTM3IC8qIENQ
VU1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2QzY5NkM5MUU3MjA1RTQwMDU5NzkzNyAvKiBDUFVNb25pdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTIzOTksNyArMjQwMiw3IEBACiAJ
CTdDQzk3MjJFMUY5M0UzMzYwMDA0RDRDRiAvKiBTZXR0aW5nc0Jhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQzY2MDk5MUY5MzA1NzgwMEQ1MDBF
OSAvKiBTZXR0aW5nc0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3Q0NFQkZDMDFERDhGNkFCMDAyQzQwQjggLyogU1ZHTGVuZ3RoVmFsdWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRTU4RDUz
MUREN0IwOTMwMDEyODU1MiAvKiBTVkdMZW5ndGhWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDRDBFMkI4MUY4MEE0ODIwMDE2QTRDRSAv
KiBBYm9ydENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDRDBFMkI1MUY4MEE0ODIwMDE2QTRDRSAvKiBBYm9ydENvbnRyb2xsZXIuaCAq
LzsgfTsKLQkJN0NEMEUyQkYxRjgwQTU2RTAwMTZBNENFIC8qIEFib3J0U2lnbmFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0QwRTJCQzFGODBBNTZF
MDAxNkE0Q0UgLyogQWJvcnRTaWduYWwuaCAqLzsgfTsKKwkJN0NEMEUyQkYxRjgwQTU2RTAwMTZB
NENFIC8qIEFib3J0U2lnbmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3Q0QwRTJCQzFGODBBNTZFMDAxNkE0Q0UgLyogQWJvcnRTaWduYWwuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Q0QxRTY5MzI0
QUJGNjI0MDA4OUM0MTkgLyogQ29sb3JTZXJpYWxpemF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0QxRTY5MTI0QUJGNjI0MDA4OUM0MTkgLyog
Q29sb3JTZXJpYWxpemF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJN0NENDk0Q0QxQTg2RUIxRDAwMEE4N0VDIC8qIFJlbmRlckF0dGFjaG1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRDQ5
NENCMUE4NkVCMUQwMDBBODdFQyAvKiBSZW5kZXJBdHRhY2htZW50LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0NENThERkIxRjk1NjVBNTAwMTEy
NzkxIC8qIFNldHRpbmdzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3Q0VCNTdFOTFGOTU2NTE1MDAwOTdBRUMgLyogU2V0dGluZ3MuaCAqLzsgfTsKQEAg
LTQwODcsNyArNDA5MCw2IEBACiAJCUJDRUE0ODc2MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJJ
bWFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNF
QTQ4MzcwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckltYWdlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFQTQ4NzgwOTdEOTMwMjAwOTRDOUU0
IC8qIFJlbmRlcklubGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkNFQTQ4MzkwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlcklubGluZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRUE0ODdBMDk3
RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJMYXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFQTQ4M0IwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckxh
eWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
MEY1M0ZCODQyMTNCN0E2NDAwQzQwRDM0IC8qIFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTNGQjg0MjEz
Qjc4NjQwMEM0MEQzNCAvKiBSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFQTQ4ODAwOTdEOTMwMjAw
OTRDOUU0IC8qIFJlbmRlck9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNFQTQ4NDEwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlck9iamVjdC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRUE0
ODg3MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJUaGVtZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFQTQ4NDgwOTdEOTMwMjAwOTRDOUU0IC8q
IFJlbmRlclRoZW1lTWFjLmggKi87IH07CiAJCUJDRUE0ODhBMDk3RDkzMDIwMDk0QzlFNCAvKiBS
ZW5kZXJUaGVtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNFQTQ4NEIwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRoZW1lLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTUwODksNiArNTA5MSw3IEBA
CiAJCUU0MjVBNDlBMTgyOTJCODQwMDIwQ0ZDRiAvKiBDb2xsZWN0aW9uSW5kZXhDYWNoZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyNUE0OTkxODI5
MkI4NDAwMjBDRkNGIC8qIENvbGxlY3Rpb25JbmRleENhY2hlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQyOTVGQTQxMkIwNjE0RTAwRDFBQ0Uw
IC8qIFJlc291cmNlTG9hZFByaW9yaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNDI5NUZBMzEyQjA2MTRFMDBEMUFDRTAgLyogUmVzb3VyY2VMb2Fk
UHJpb3JpdHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFNDJFNzZEQzFDN0FGNzc2MDBFMzYxNEQgLyogU3R5bGVVcGRhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MkU3NkRCMUM3QUY3NzYwMEUz
NjE0RCAvKiBTdHlsZVVwZGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUU0MkVFM0E3MTc1NzZFNTUwMEVFRThDRiAvKiBGb250R2VuZXJpY0Zh
bWlsaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
NDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0MzEwNUJCMTY3NTBG
MTYwMERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDMxMDVCQTE2NzUwRjE2MDBEQjJGQjggLyogTm9kZVRyYXZl
cnNhbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUU0M0EwMjNCMTdFQjM3MEEwMDRDREQyNSAvKiBSZW5kZXJFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDNBMDIzQTE3RUIzNzBBMDA0Q0RE
MjUgLyogUmVuZGVyRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUU0M0FGOEU3MUFDNUI3RUMwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0M0FG
OEU1MUFDNUI3REQwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNTExMiw3ICs1MTE1LDYgQEAKIAkJ
RTQ0NjE0M0MwQ0Q2ODlDQzAwRkFEQTc1IC8qIEpTSFRNTFNvdXJjZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QjQyMzcyMENCRkI2RTAw
MEFGMkVDRSAvKiBKU0hUTUxTb3VyY2VFbGVtZW50LmggKi87IH07CiAJCUU0NDYxNDUyMENENjhB
MzUwMEZBREE3NSAvKiBSZW5kZXJWaWRlby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTRCNDFFMzQwQ0JGQjYwOTAwQUYyRUNFIC8qIFJlbmRlclZpZGVv
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ0
QjRCQjQxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0QjRCQjIxNDE2NTBENzAwMkIxRDhC
IC8qIFNlbGVjdG9yQ2hlY2tlci5oICovOyB9OwotCQlFNDJFRTNBNzE3NTc2RTU1MDBFRUU4Q0Yg
LyogRm9udEdlbmVyaWNGYW1pbGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTQ0RUUzQTcxNzU3NkU1NTAwRUVFOENGIC8qIEZvbnRHZW5lcmljRmFt
aWxpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFNDRGQTE4NTFCQ0E2QjVBMDA5MUI2RUYgLyogQ29tcG9zZWRUcmVlSXRlcmF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NEZBMTg0MUJDQTZC
NUEwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5oICovOyB9OwogCQlFNDUxQzYzMTIz
OTQwMjc5MDA5OTMxOTAgLyogTGF5b3V0VW5pdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNzM5MThDMjEwNkNFREQwMDZBRjI2MiAvKiBMYXlvdXRV
bml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUU0NTFDNjMyMjM5NDAzMUEwMDk5MzE5MCAvKiBNYXJnaW5UeXBlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZFN0FBMjYyMUMzN0I2MzAwMjk2RENE
IC8qIE1hcmdpblR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTgxODgsNiArODE5MCwxMCBAQAogCQk0NkJDQkJDMDIwODUwMDdGMDA3MTA2
MzggLyogSlNSZW1vdGVET01XaW5kb3dCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTUmVtb3RlRE9NV2luZG93QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NkJDQkJDMTIwODUwMDgwMDA3MTA2MzggLyogSlNSZW1vdGVET01XaW5kb3dCYXNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVtb3RlRE9NV2luZG93
QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QkNCQkMzMjA4NTAwQTcw
MDcxMDYzOCAvKiBSZW1vdGVET01XaW5kb3cuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJl
bW90ZURPTVdpbmRvdy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QkQwNUMw
MjVCQjZFNEQwMDIyNUYzMCAvKiBFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRM
aXN0ZW5lck9wdGlvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkJEMDVD
MjI1QkI2RTRFMDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDZCRDA1QzMyNUJCNkU0RTAwMjI1RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25zLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEV2ZW50TGlzdGVuZXJPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQ2QkQwNUM0MjVCQjZFNEYwMDIyNUYzMCAvKiBBZGRFdmVudExpc3RlbmVy
T3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NkMwOTYyMDIzRDc4REQ2MDA2NTdDMDkgLyogSFRUUENvb2tp
ZUFjY2VwdFBvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVFRQQ29va2llQWNjZXB0UG9saWN5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QzM3NjVGMjA4NTE3NkMwMEM3MzgyOSAv
KiBKU1JlbW90ZURPTVdpbmRvdy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1JlbW90ZURPTVdpbmRvdy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2QzM3NjYxMjA4NTE3NkQwMEM3MzgyOSAvKiBKU1JlbW90ZURPTVdpbmRvdy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlbW90ZURPTVdpbmRvdy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtOTc1OCw4ICs5NzY0LDggQEAKIAkJNkU1Mzg4RTEyNDU4QUUx
RDAwNzZBRTAzIC8qIFdlYkdMQ29sb3JCdWZmZXJGbG9hdC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR0xDb2xvckJ1
ZmZlckZsb2F0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkU1NzZCQzMyNEVC
NTA5QzAwOTRENEFBIC8qIEpTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFNjdEMkE4MTI4MEU4QkQwMDg3NThGNyAv
KiBFeHRlbnNpb25zR0wuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXh0ZW5z
aW9uc0dMLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZFN0NBMzBBMjVCNEQyOEEw
MDRBOTEzRSAvKiBKU1dlYkdMTXVsdGlEcmF3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTV2ViR0xNdWx0
aURyYXcuaDsgcGF0aCA9IEpTV2ViR0xNdWx0aURyYXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNkU3Q0EzMEIyNUI0RDMyODAwNEE5MTNFIC8qIEpTV2ViR0xNdWx0aURyYXcuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gSlNXZWJHTE11bHRpRHJhdy5jcHA7IHBhdGggPSBKU1dlYkdM
TXVsdGlEcmF3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkU3Q0EzMEEyNUI0
RDI4QTAwNEE5MTNFIC8qIEpTV2ViR0xNdWx0aURyYXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJH
TE11bHRpRHJhdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2RTdDQTMwQjI1QjRE
MzI4MDA0QTkxM0UgLyogSlNXZWJHTE11bHRpRHJhdy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1dlYkdMTXVsdGlEcmF3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkU4NEU5
REUxNzY2OEJBRDAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJhc3RlclNoYXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNkU4NEU5REYxNzY2OEJBRDAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJhc3RlclNoYXBlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTZFOEFDREU5MjMzNDVDQUYwMDI0QUFGNSAvKiBXZWJHTENvbXByZXNz
ZWRUZXh0dXJlRVRDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVFVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjk5MDEsNiArMjk5MDcs
OCBAQAogCQkJCTdDNTIyMjk4MUUxREFFMTYwMDJDQjhGNyAvKiBBY3RpdmVET01DYWxsYmFjay5o
ICovLAogCQkJCUUxQzRERTZEMEVBNzVDNjUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuY3Bw
ICovLAogCQkJCUUxQzRERTY4MEVBNzVDMUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuaCAq
LywKKwkJCQk0NkJEMDVDMjI1QkI2RTRFMDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMuaCAqLywKKwkJCQk0NkJEMDVDNDI1QkI2RTRGMDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5l
ck9wdGlvbnMuaWRsICovLAogCQkJCUUzQUU2Q0QxMjI1MkYyNzAwMEM3MEI1MCAvKiBBbGxEZXNj
ZW5kYW50c0NvbGxlY3Rpb24uY3BwICovLAogCQkJCTgzQkI1Qzg3MUQ1RDZGM0EwMDVBNzFGNCAv
KiBBbGxEZXNjZW5kYW50c0NvbGxlY3Rpb24uaCAqLywKIAkJCQkzMTk4NDdGRTFBMUQ4MTY3MDBB
MTMzMTggLyogQW5pbWF0aW9uRXZlbnQuY3BwICovLApAQCAtMzAxMTMsNiArMzAxMjEsOCBAQAog
CQkJCTg1QUZBNzQxMEFBRjI5ODQwMEU4NDMwNSAvKiBFdmVudExpc3RlbmVyLmlkbCAqLywKIAkJ
CQlBRDQ0OTVGMTE0MUZDMDg5MDA1NDFFREYgLyogRXZlbnRMaXN0ZW5lck1hcC5jcHAgKi8sCiAJ
CQkJQUQ0NDk1RjIxNDFGQzA4OTAwNTQxRURGIC8qIEV2ZW50TGlzdGVuZXJNYXAuaCAqLywKKwkJ
CQk0NkJEMDVDMzI1QkI2RTRFMDAyMjVGMzAgLyogRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCAqLywK
KwkJCQk0NkJEMDVDMDI1QkI2RTREMDAyMjVGMzAgLyogRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRs
ICovLAogCQkJCTlCOTFEQ0NDMjM4Mzc5MkQwMDBFRUUwRiAvKiBFdmVudExvb3AuY3BwICovLAog
CQkJCTlCMEFCQ0ExMjM2NzlBQjMwMEI0NTA4NSAvKiBFdmVudExvb3AuaCAqLywKIAkJCQk4M0ZF
N0NBMzFEQTlGMTY1MDAzNzIzN0MgLyogRXZlbnRNb2RpZmllckluaXQuaCAqLywKQEAgLTMxMDY1
LDYgKzMxMDc1LDcgQEAKIAkJCQlFMUM0REU2OTBFQTc1QzFFMDAyM0NDRDYgLyogQWN0aXZlRE9N
T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MjRFRTU1MDFEQzgwRDdGMDBBOTFGRkIgLyog
QWN0aXZpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzI0RUU1NTExREM4MEQ4NDAwQTkx
RkZCIC8qIEFjdGl2aXR5U3RhdGVDaGFuZ2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDZCRDA1QzUyNUJCNkU1OTAwMjI1RjMwIC8qIEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMTY3N0UwRTIxM0UwMkEwMDBBMDhDMzQgLyogQWRkcmVzc0Vycm9y
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGN0U0OTExMzdDRDdDNzAwMUREQUU3IC8qIEFkanVz
dFZpZXdTaXplT3JOb3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0RDBDNDA2MTExNUYxRUEwMDE4
QUEzNCAvKiBBZmZpbmVUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovLApAQCAtMzIwMDYsNiArMzIw
MTcsNyBAQAogCQkJCTk3MEI3MjhBMTQ0RkZBQzYwMEYwMEEzNyAvKiBFdmVudEludGVyZmFjZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzNUZCQzQ1MDlCQTAwQjkwMEUyMzBCMSAvKiBFdmVudExp
c3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDQ0OTVGNDE0MUZDMDg5MDA1NDFFREYgLyog
RXZlbnRMaXN0ZW5lck1hcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZCRDA1QzYyNUJCNkU2QzAw
MjI1RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkYw
MkExQTIzNzM3RjgzMDAxMDZBNjQgLyogRXZlbnRMb29wLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
M0ZFN0NBODFEQTlGMUI2MDAzNzIzN0MgLyogRXZlbnRNb2RpZmllckluaXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzOTg4NUM0MDhCN0UzRDEwMEU3MDdDNCAvKiBFdmVudE5hbWVzLmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAppbmRleCA0OWI3
OGY3NTQwZjQ1YTEzNTRlZWE4ZDljMWU2YjI2NmY5OGMzMDk1Li40YTFiZWVkM2IzNWM1NzkzNjA3
YzYxNTA1ZGU1NzE0NGIzZGRlYjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1h
dGlvbi5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJveHlXaXRoUmVzb2x2ZUNhbGxiYWNr
OwogCi1jbGFzcyBXZWJBbmltYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJBbmltYXRpb24+
LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViQW5pbWF0aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworY2xhc3MgV2ViQW5pbWF0
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViQW5pbWF0aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoV2ViQW5pbWF0aW9uKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYkFu
aW1hdGlvbj4gY3JlYXRlKERvY3VtZW50JiwgQW5pbWF0aW9uRWZmZWN0Kik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlMaXN0LmNwcAppbmRleCA2NzRlOGUxZWRkOTM2MTQ2N2E5ZGE5Y2FiNTMx
M2JjNmMxYWU5ZTY5Li40NWFhZTk5ZDgyOTZlZGE5MDhjYjZjNzRhOGJjNjA2ZTM0MzAxOWE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TGlzdC5oIgogCisjaW5jbHVk
ZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAj
aW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIApAQCAtNjYsNyArNjcsNyBAQCB2b2lk
IE1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0
ZW5lcikKICAgICBpZiAoIWxpc3RlbmVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBhZGRFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgbGlzdGVuZXIucmVsZWFzZU5vbk51
bGwoKSk7CisgICAgYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQsIGxp
c3RlbmVyLnJlbGVhc2VOb25OdWxsKCksIHsgfSk7CiB9CiAKIHZvaWQgTWVkaWFRdWVyeUxpc3Q6
OnJlbW92ZUxpc3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyKQpAQCAtNzQs
NyArNzUsNyBAQCB2b2lkIE1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5lcihSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKICAgICBpZiAoIWxpc3RlbmVyKQogICAgICAgICByZXR1
cm47CiAKLSAgICByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwg
Kmxpc3RlbmVyKTsKKyAgICByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VF
dmVudCwgKmxpc3RlbmVyLCB7IH0pOwogfQogCiB2b2lkIE1lZGlhUXVlcnlMaXN0OjpldmFsdWF0
ZShNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3IsIGJvb2wmIG5vdGlmaWNhdGlvbk5lZWRl
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKaW5kZXggYjcwYWE1NTY2YmM5NzU0MDFl
N2RiZjhlNTFiNmE5NzBkYjU1ZTdmNS4uMTNmNTM5NmRkODQyMGUwY2QyNGNkOGI3Mzk1MTRhYzVk
MDQyZjhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKQEAgLTMyLDcgKzMyLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gcmV0cmlldmUgdGhlIGN1cnJlbnQgdmFsdWUgb2Yg
dGhlIGdpdmVuIG1lZGlhIHF1ZXJ5IGFuZCB0byBhZGQvcmVtb3ZlIGxpc3RlbmVycyB0aGF0CiAv
LyB3aWxsIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgdmFsdWUgb2YgdGhlIHF1ZXJ5IGNoYW5nZXMu
CiAKLWNsYXNzIE1lZGlhUXVlcnlMaXN0IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFR
dWVyeUxpc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENhbk1h
a2VXZWFrUHRyPE1lZGlhUXVlcnlMaXN0PiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CitjbGFz
cyBNZWRpYVF1ZXJ5TGlzdCBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhUXVlcnlMaXN0
PiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmpl
Y3QgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoTWVkaWFRdWVyeUxpc3QpOwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8TWVkaWFRdWVyeUxpc3Q+IGNyZWF0ZShEb2N1bWVudCYsIE1lZGlh
UXVlcnlNYXRjaGVyJiwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIGJvb2wgbWF0Y2hlcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWJvcnRTaWduYWwuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9BYm9ydFNpZ25hbC5oCmluZGV4IGRiZDkzNjhlNTg1OGU5NjhhYmU5ZDc4YzVmZTc1ZTY3
Mjk3OTBiOGEuLjMyMjNjYzc1ZDdiZGI1ZGE1NDdiZmE1Njg3M2NjZmRlNzZjNTNiZWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BYm9ydFNpZ25hbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9BYm9ydFNpZ25hbC5oCkBAIC0zOCw4ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEFib3J0QWxnb3JpdGhtOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IAotY2xhc3MgQWJvcnRTaWduYWwgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxBYm9ydFNpZ25h
bD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8QWJvcnRTaWduYWw+LCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKLSAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEFib3J0U2lnbmFsKTsKK2NsYXNzIEFib3J0U2lnbmFs
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8QWJvcnRTaWduYWw+LCBwdWJsaWMgRXZlbnRUYXJn
ZXRXaXRoSW5saW5lRGF0YSwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7Cisg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9FWFBPUlQoQWJvcnRTaWduYWwsIFdFQkNPUkVfRVhQ
T1JUKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEFib3J0U2lnbmFsPiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3Rl
bmVyT3B0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiMTM0ZmFiYWJhMTUwMGY1MGM5N2RjZWQ0ODliZWU5
ZTQ3NjBkYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWRkRXZlbnRM
aXN0ZW5lck9wdGlvbnMuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFi
b3J0U2lnbmFsLmgiCisjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKKyNpbmNsdWRl
IDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQWRkRXZl
bnRMaXN0ZW5lck9wdGlvbnMgOiBFdmVudExpc3RlbmVyT3B0aW9ucyB7CisgICAgQWRkRXZlbnRM
aXN0ZW5lck9wdGlvbnMoYm9vbCBjYXB0dXJlID0gZmFsc2UsIE9wdGlvbmFsPGJvb2w+IHBhc3Np
dmUgPSBXVEY6Om51bGxvcHQsIGJvb2wgb25jZSA9IGZhbHNlLCBSZWZQdHI8QWJvcnRTaWduYWw+
JiYgc2lnbmFsID0gbnVsbHB0cikKKyAgICAgICAgOiBFdmVudExpc3RlbmVyT3B0aW9ucyhjYXB0
dXJlKQorICAgICAgICAsIHBhc3NpdmUocGFzc2l2ZSkKKyAgICAgICAgLCBvbmNlKG9uY2UpCisg
ICAgICAgICwgc2lnbmFsKFdURk1vdmUoc2lnbmFsKSkKKyAgICB7CisgICAgfQorCisgICAgT3B0
aW9uYWw8Ym9vbD4gcGFzc2l2ZTsKKyAgICBib29sIG9uY2UgeyBmYWxzZSB9OworICAgIFJlZlB0
cjxBYm9ydFNpZ25hbD4gc2lnbmFsOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2FlMGEwZWFmOWQ2YjRjZWE0ZTY0Y2NkNjM3ZmQwYmI0MDYzM2I1MQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKQEAg
LTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworZGljdGlvbmFyeSBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA6IEV2ZW50TGlzdGVu
ZXJPcHRpb25zIHsKKyAgICBib29sZWFuIHBhc3NpdmU7CisgICAgYm9vbGVhbiBvbmNlID0gZmFs
c2U7CisgICAgQWJvcnRTaWduYWwgc2lnbmFsOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5l
ci5oCmluZGV4IDlkNmFjZmM5NGIyNjk0NzA0ZTMxMGY4YzYzYjI5Zjg2NTkzN2UzNDkuLjNlNDY3
MWEyZWQwNTljNTllNmMxYWZhMDExMzVhZGEzN2FiNmYyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TGlzdGVuZXIuaApAQCAtMjEsNiArMjEsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewogY2xhc3MgSlNPYmplY3Q7CkBAIC0zMyw3ICszNCw3IEBAIGNsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiBjbGFzcyBFdmVudDsKIGNsYXNzIEV2ZW50VGFyZ2V0OwogCi1jbGFzcyBF
dmVudExpc3RlbmVyIDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRMaXN0ZW5lcj4geworY2xhc3Mg
RXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50TGlzdGVuZXI+LCBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8RXZlbnRMaXN0ZW5lcj4gewogcHVibGljOgogICAgIGVudW0gVHlwZSB7
CiAgICAgICAgIEpTRXZlbnRMaXN0ZW5lclR5cGUsIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlz
dGVuZXJNYXAuY3BwCmluZGV4IDBiMDlkMDgyYzM2ZWRkZDg0YjljZGU5ODgyNTI3MmRiNWY5NmU1
YmQuLmZjMzYzYWUzM2FmOTI3NmZmYzVjYTZhMmI2YjFjZjI3NWJhODAwOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyTWFwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJFdmVudExpc3RlbmVyTWFwLmgiCiAKKyNpbmNsdWRlICJB
ZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAi
RXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDFiNDRiY2UyODVhNjdk
ZWZhYTZmZWU1NmI3YzNkNjI1MDViMTkxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEV2ZW50TGlzdGVuZXJPcHRpb25zIHsKKyAg
ICBFdmVudExpc3RlbmVyT3B0aW9ucyhib29sIGNhcHR1cmUgPSBmYWxzZSkKKyAgICAgICAgOiBj
YXB0dXJlKGNhcHR1cmUpCisgICAgeyB9CisKKyAgICBib29sIGNhcHR1cmUgeyBmYWxzZSB9Owor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExp
c3RlbmVyT3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBiYjk0MjI1Mzg0ODJjNGNjMzc0NjUwNDE2
OTdkMzFjNmVmMzE0YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dExpc3RlbmVyT3B0aW9ucy5pZGwKQEAgLTAsMCArMSwyOCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZGljdGlvbmFyeSBFdmVudExpc3RlbmVy
T3B0aW9ucyB7CisgICAgYm9vbGVhbiBjYXB0dXJlID0gZmFsc2U7Cit9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5jcHAKaW5kZXggMzU0YmVlOTk4OTFiNDhhZGU3ZGVkZTJjZGFkOTkxYmI5YWRm
ZjRkNS4uMzFhODFlYWIxOWZjMmUwMTM5NTViOTZmYThjOTc1MDMyZWMzNGVlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKIAorI2luY2x1ZGUgIkFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0Q29uY3JldGUuaCIKQEAgLTgxLDE5ICs4
MiwyOCBAQCBib29sIEV2ZW50VGFyZ2V0OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAgIGxpc3RlbmVyLT5jaGVja1ZhbGlk
aXR5Rm9yRXZlbnRUYXJnZXQoKnRoaXMpOwogI2VuZGlmCiAKKyAgICBpZiAob3B0aW9ucy5zaWdu
YWwgJiYgb3B0aW9ucy5zaWduYWwtPmFib3J0ZWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CiAgICAgYXV0byBwYXNzaXZlID0gb3B0aW9ucy5wYXNzaXZlOwogCiAgICAgaWYgKCFwYXNzaXZl
Lmhhc1ZhbHVlKCkgJiYgUXVpcmtzOjpzaG91bGRNYWtlRXZlbnRMaXN0ZW5lclBhc3NpdmUoKnRo
aXMsIGV2ZW50VHlwZSwgbGlzdGVuZXIuZ2V0KCkpKQogICAgICAgICBwYXNzaXZlID0gdHJ1ZTsK
IAogICAgIGJvb2wgbGlzdGVuZXJDcmVhdGVkRnJvbVNjcmlwdCA9IGxpc3RlbmVyLT50eXBlKCkg
PT0gRXZlbnRMaXN0ZW5lcjo6SlNFdmVudExpc3RlbmVyVHlwZSAmJiAhbGlzdGVuZXItPndhc0Ny
ZWF0ZWRGcm9tTWFya3VwKCk7Ci0gICAgYXV0byBsaXN0ZW5lclJlZiA9IGxpc3RlbmVyLmNvcHlS
ZWYoKTsKIAotICAgIGlmICghZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkuZXZlbnRMaXN0ZW5lck1h
cC5hZGQoZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgeyBvcHRpb25zLmNhcHR1cmUsIHBh
c3NpdmUudmFsdWVPcihmYWxzZSksIG9wdGlvbnMub25jZSB9KSkKKyAgICBpZiAoIWVuc3VyZUV2
ZW50VGFyZ2V0RGF0YSgpLmV2ZW50TGlzdGVuZXJNYXAuYWRkKGV2ZW50VHlwZSwgbGlzdGVuZXIu
Y29weVJlZigpLCB7IG9wdGlvbnMuY2FwdHVyZSwgcGFzc2l2ZS52YWx1ZU9yKGZhbHNlKSwgb3B0
aW9ucy5vbmNlIH0pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAob3B0aW9ucy5z
aWduYWwpIHsKKyAgICAgICAgb3B0aW9ucy5zaWduYWwtPmFkZEFsZ29yaXRobShbd2Vha1RoaXMg
PSBtYWtlV2Vha1B0cigqdGhpcyksIGV2ZW50VHlwZSwgbGlzdGVuZXIgPSBtYWtlV2Vha1B0cihs
aXN0ZW5lci5nZXQoKSksIGNhcHR1cmUgPSBvcHRpb25zLmNhcHR1cmVdIHsKKyAgICAgICAgICAg
IGlmICh3ZWFrVGhpcyAmJiBsaXN0ZW5lcikKKyAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+cmVt
b3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsICpsaXN0ZW5lciwgY2FwdHVyZSk7CisgICAgICAg
IH0pOworICAgIH0KKwogICAgIGlmIChsaXN0ZW5lckNyZWF0ZWRGcm9tU2NyaXB0KQotICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEFkZEV2ZW50TGlzdGVuZXIoKnRoaXMsIGV2
ZW50VHlwZSwgbGlzdGVuZXJSZWYuZ2V0KCksIG9wdGlvbnMuY2FwdHVyZSk7CisgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQWRkRXZlbnRMaXN0ZW5lcigqdGhpcywgZXZlbnRU
eXBlLCBsaXN0ZW5lci5nZXQoKSwgb3B0aW9ucy5jYXB0dXJlKTsKIAogICAgIGlmIChldmVudE5h
bWVzKCkuaXNXaGVlbEV2ZW50VHlwZShldmVudFR5cGUpKQogICAgICAgICBpbnZhbGlkYXRlRXZl
bnRMaXN0ZW5lclJlZ2lvbnMoKTsKQEAgLTExNiwxMiArMTI2LDEyIEBAIHZvaWQgRXZlbnRUYXJn
ZXQ6OmFkZEV2ZW50TGlzdGVuZXJGb3JCaW5kaW5ncyhjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIFJlZlB0CiAgICAgV1RGOjp2aXNpdCh2aXNpdG9yLCB2YXJpYW50KTsKIH0KIAotdm9pZCBF
dmVudFRhcmdldDo6cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgUmVmUHRyPEV2ZW50TGlzdGVuZXI+JiYgbGlzdGVuZXIsIExpc3RlbmVy
T3B0aW9uc09yQm9vbGVhbiYmIHZhcmlhbnQpCit2b2lkIEV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVu
dExpc3RlbmVyRm9yQmluZGluZ3MoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8
RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lciwgRXZlbnRMaXN0ZW5lck9wdGlvbnNPckJvb2xlYW4m
JiB2YXJpYW50KQogewogICAgIGlmICghbGlzdGVuZXIpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGF1dG8gdmlzaXRvciA9IFdURjo6bWFrZVZpc2l0b3IoWyZdKGNvbnN0IExpc3RlbmVyT3B0aW9u
cyYgb3B0aW9ucykgeworICAgIGF1dG8gdmlzaXRvciA9IFdURjo6bWFrZVZpc2l0b3IoWyZdKGNv
bnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKSB7CiAgICAgICAgIHJlbW92ZUV2ZW50
TGlzdGVuZXIoZXZlbnRUeXBlLCAqbGlzdGVuZXIsIG9wdGlvbnMpOwogICAgIH0sIFsmXShib29s
IGNhcHR1cmUpIHsKICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsICpsaXN0
ZW5lciwgY2FwdHVyZSk7CkBAIC0xMzAsNyArMTQwLDcgQEAgdm9pZCBFdmVudFRhcmdldDo6cmVt
b3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
UmUKICAgICBXVEY6OnZpc2l0KHZpc2l0b3IsIHZhcmlhbnQpOwogfQogCi1ib29sIEV2ZW50VGFy
Z2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZl
bnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKK2Jv
b2wgRXZlbnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZl
bnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZlbnRMaXN0ZW5lck9wdGlv
bnMmIG9wdGlvbnMpCiB7CiAgICAgYXV0byogZGF0YSA9IGV2ZW50VGFyZ2V0RGF0YSgpOwogICAg
IGlmICghZGF0YSkKQEAgLTE3MCw3ICsxODAsNyBAQCBib29sIEV2ZW50VGFyZ2V0OjpzZXRBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHRyPAog
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICByZXR1cm4gYWRkRXZlbnRMaXN0ZW5l
cihldmVudFR5cGUsIGxpc3RlbmVyLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHJldHVybiBhZGRF
dmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSwgeyB9KTsK
IH0KIAogRXZlbnRMaXN0ZW5lciogRXZlbnRUYXJnZXQ6OmF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBET01XcmFwcGVyV29ybGQmIGlzb2xhdGVkV29y
bGQpCkBAIC0zMTksNyArMzI5LDcgQEAgdm9pZCBFdmVudFRhcmdldDo6aW5uZXJJbnZva2VFdmVu
dExpc3RlbmVycyhFdmVudCYgZXZlbnQsIEV2ZW50TGlzdGVuZXJWZWN0b3IgbGkKIAogICAgICAg
ICAvLyBEbyB0aGlzIGJlZm9yZSBpbnZvY2F0aW9uIHRvIGF2b2lkIHJlZW50cmFuY3kgaXNzdWVz
LgogICAgICAgICBpZiAocmVnaXN0ZXJlZExpc3RlbmVyLT5pc09uY2UoKSkKLSAgICAgICAgICAg
IHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQudHlwZSgpLCByZWdpc3RlcmVkTGlzdGVuZXItPmNh
bGxiYWNrKCksIExpc3RlbmVyT3B0aW9ucyhyZWdpc3RlcmVkTGlzdGVuZXItPnVzZUNhcHR1cmUo
KSkpOworICAgICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudC50eXBlKCksIHJlZ2lz
dGVyZWRMaXN0ZW5lci0+Y2FsbGJhY2soKSwgcmVnaXN0ZXJlZExpc3RlbmVyLT51c2VDYXB0dXJl
KCkpOwogCiAgICAgICAgIGlmIChyZWdpc3RlcmVkTGlzdGVuZXItPmlzUGFzc2l2ZSgpKQogICAg
ICAgICAgICAgZXZlbnQuc2V0SW5QYXNzaXZlTGlzdGVuZXIodHJ1ZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5oCmluZGV4IGNmY2IyY2IzNTQwZDQzNDZkNjEwNDJiMzUyZjdiY2E4YWJjNTIzZmMu
LjQwOTU5YjFlNmVlMTUxZjJmN2M2NjdlYTM0NTdhN2JhODcyYzdkOTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5oCkBAIC0zMSw2ICszMSw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IkV2ZW50TGlzdGVuZXJNYXAuaCIKKyNpbmNsdWRlICJFdmVudExpc3RlbmVyT3B0aW9ucy5oIgog
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0SW50ZXJmYWNlcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9y
LmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCkBAIC0zOCw5ICszOSwxMSBAQAogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgogI2luY2x1
ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitzdHJ1Y3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM7CiBjbGFzcyBET01X
cmFwcGVyV29ybGQ7CiAKIHN0cnVjdCBFdmVudFRhcmdldERhdGEgewpAQCAtNTEsNyArNTQsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZpcmluZ0V2ZW50TGlzdGVuZXJzIHsgZmFsc2UgfTsKIH07
CiAKLWNsYXNzIEV2ZW50VGFyZ2V0IDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CitjbGFzcyBF
dmVudFRhcmdldCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBDYW5NYWtlV2Vha1B0
cjxFdmVudFRhcmdldD4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoRXZlbnRUYXJnZXQp
OwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8RXZlbnRUYXJnZXQ+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0Jik7CkBAIC02Miw0MCArNjUsMjEgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
RXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgY29uc3QgPSAwOwogCi0gICAgdmlydHVhbCBib29sIGlzTm9kZSgpIGNvbnN0OwotICAgIHZp
cnR1YWwgYm9vbCBpc1BheW1lbnRSZXF1ZXN0KCkgY29uc3Q7Ci0KLSAgICBzdHJ1Y3QgTGlzdGVu
ZXJPcHRpb25zIHsKLSAgICAgICAgTGlzdGVuZXJPcHRpb25zKGJvb2wgY2FwdHVyZSA9IGZhbHNl
KQotICAgICAgICAgICAgOiBjYXB0dXJlKGNhcHR1cmUpCi0gICAgICAgIHsgfQotCi0gICAgICAg
IGJvb2wgY2FwdHVyZSB7IGZhbHNlIH07Ci0gICAgfTsKLQotICAgIHN0cnVjdCBBZGRFdmVudExp
c3RlbmVyT3B0aW9ucyA6IExpc3RlbmVyT3B0aW9ucyB7Ci0gICAgICAgIEFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zKGJvb2wgY2FwdHVyZSA9IGZhbHNlLCBPcHRpb25hbDxib29sPiBwYXNzaXZlID0g
V1RGOjpudWxsb3B0LCBib29sIG9uY2UgPSBmYWxzZSkKLSAgICAgICAgICAgIDogTGlzdGVuZXJP
cHRpb25zKGNhcHR1cmUpCi0gICAgICAgICAgICAsIHBhc3NpdmUocGFzc2l2ZSkKLSAgICAgICAg
ICAgICwgb25jZShvbmNlKQotICAgICAgICB7IH0KLQotICAgICAgICBPcHRpb25hbDxib29sPiBw
YXNzaXZlOwotICAgICAgICBib29sIG9uY2UgeyBmYWxzZSB9OwotICAgIH07CisgICAgV0VCQ09S
RV9FWFBPUlQgdmlydHVhbCBib29sIGlzTm9kZSgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JU
IHZpcnR1YWwgYm9vbCBpc1BheW1lbnRSZXF1ZXN0KCkgY29uc3Q7CiAKICAgICB1c2luZyBBZGRF
dmVudExpc3RlbmVyT3B0aW9uc09yQm9vbGVhbiA9IFZhcmlhbnQ8QWRkRXZlbnRMaXN0ZW5lck9w
dGlvbnMsIGJvb2w+OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkRXZlbnRMaXN0ZW5lckZv
ckJpbmRpbmdzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+JiYsIEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zT3JCb29sZWFuJiYpOwotICAgIHVzaW5nIExp
c3RlbmVyT3B0aW9uc09yQm9vbGVhbiA9IFZhcmlhbnQ8TGlzdGVuZXJPcHRpb25zLCBib29sPjsK
LSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXJGb3JCaW5kaW5ncyhj
b25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFdmVudExpc3RlbmVyPiYmLCBMaXN0
ZW5lck9wdGlvbnNPckJvb2xlYW4mJik7CisgICAgdXNpbmcgRXZlbnRMaXN0ZW5lck9wdGlvbnNP
ckJvb2xlYW4gPSBWYXJpYW50PEV2ZW50TGlzdGVuZXJPcHRpb25zLCBib29sPjsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXJGb3JCaW5kaW5ncyhjb25zdCBBdG9t
U3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFdmVudExpc3RlbmVyPiYmLCBFdmVudExpc3RlbmVy
T3B0aW9uc09yQm9vbGVhbiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25Pcjxib29s
PiBkaXNwYXRjaEV2ZW50Rm9yQmluZGluZ3MoRXZlbnQmKTsKIAotICAgIFdFQkNPUkVfRVhQT1JU
IHZpcnR1YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlw
ZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJiA9
IHsgfSk7Ci0gICAgdmlydHVhbCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0
cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiA9
IHsgfSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIGFkZEV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3Qg
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIGJv
b2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50
TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYgPSB7IH0pOwogCi0gICAgdmly
dHVhbCB2b2lkIHJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCk7Ci0gICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoRXZlbnQoRXZlbnQmKTsKLSAgICB2aXJ0dWFsIHZvaWQgdW5jYXVnaHRFeGNlcHRpb25J
bkV2ZW50SGFuZGxlcigpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCByZW1vdmVB
bGxFdmVudExpc3RlbmVycygpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaEV2ZW50KEV2ZW50Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHVuY2F1
Z2h0RXhjZXB0aW9uSW5FdmVudEhhbmRsZXIoKTsKIAogICAgIC8vIFVzZWQgZm9yIGxlZ2FjeSAi
b25ldmVudCIgYXR0cmlidXRlcy4KICAgICBib29sIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiwgRE9N
V3JhcHBlcldvcmxkJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbAppbmRleCA1ZmFlMThi
YWRkOWYwNjc4N2FmN2FlZDU3ZmEzNmFmY2YyYTJmMzBlLi4zNjkwZWQ2MDEwZTE0MDYxYTliNjNm
OGVkMTM5ZDQ2MWQ2OWIwM2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwKQEAgLTMy
LDEyICszMiwzIEBACiAgICAgW0ltcGxlbWVudGVkQXM9cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJp
bmRpbmdzXSB1bmRlZmluZWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihbQXRvbVN0cmluZ10gRE9NU3Ry
aW5nIHR5cGUsIEV2ZW50TGlzdGVuZXI/IGNhbGxiYWNrLCBvcHRpb25hbCAoRXZlbnRMaXN0ZW5l
ck9wdGlvbnMgb3IgYm9vbGVhbikgb3B0aW9ucyA9IGZhbHNlKTsKICAgICBbSW1wbGVtZW50ZWRB
cz1kaXNwYXRjaEV2ZW50Rm9yQmluZGluZ3MsIE1heVRocm93RXhjZXB0aW9uXSBib29sZWFuIGRp
c3BhdGNoRXZlbnQoRXZlbnQgZXZlbnQpOwogfTsKLQotZGljdGlvbmFyeSBFdmVudExpc3RlbmVy
T3B0aW9ucyB7Ci0gICAgYm9vbGVhbiBjYXB0dXJlID0gZmFsc2U7Ci19OwotCi1kaWN0aW9uYXJ5
IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIDogRXZlbnRMaXN0ZW5lck9wdGlvbnMgewotICAgIGJv
b2xlYW4gcGFzc2l2ZTsKLSAgICBib29sZWFuIG9uY2UgPSBmYWxzZTsKLX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VQb3J0LmNwcAppbmRleCBiNDE4Mjg1ZGUxZmQwM2NmMTk4ZjFhMThlNzM1OWU4MWI3
ODA2NzkzLi4yMWRkNWYwYjdhZDFiNjA3NDYwNzVkOGY2ZjlmMmZlNDQwNjYwMjMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKQEAgLTEwNCw2ICsxMDQsOSBAQCBNZXNzYWdlUG9ydDo6
TWVzc2FnZVBvcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgY29uc3QgTQogICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoYWxsTWVzc2FnZVBvcnRzTG9jayk7
CiAgICAgYWxsTWVzc2FnZVBvcnRzKCkuc2V0KG1faWRlbnRpZmllciwgdGhpcyk7CiAKKyAgICAv
LyBNYWtlIHN1cmUgdGhlIFdlYWtQdHJGYWN0b3J5IGdldHMgaW5pdGlhbGl6ZWQgZWFnZXJseSBv
biB0aGUgdGhyZWFkIHRoZSBNZXNzYWdlUG9ydCBnZXRzIGNvbnN0cnVjdGVkIG9uIGZvciB0aHJl
YWQtc2FmZXR5IHJlYXNvbnMuCisgICAgaW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KCk7CisKICAg
ICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmNyZWF0ZWRNZXNzYWdlUG9ydCgqdGhpcyk7CiAg
ICAgc3VzcGVuZElmTmVlZGVkKCk7CiAKQEAgLTQxOSw3ICs0MjIsNyBAQCBib29sIE1lc3NhZ2VQ
b3J0OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2
ZW50TGlzdGVuZQogICAgIHJldHVybiBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhOjphZGRFdmVu
dExpc3RlbmVyKGV2ZW50VHlwZSwgV1RGTW92ZShsaXN0ZW5lciksIG9wdGlvbnMpOwogfQogCi1i
b29sIE1lc3NhZ2VQb3J0OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2
ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYg
b3B0aW9ucykKK2Jvb2wgTWVzc2FnZVBvcnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRv
bVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZlbnRM
aXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgYXV0byByZXN1bHQgPSBFdmVudFRhcmdl
dFdpdGhJbmxpbmVEYXRhOjpyZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIs
IG9wdGlvbnMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCmluZGV4IGM2YmY4ZDFlM2VjZWM0
MWVjZjBhYzY2NjA4M2NiN2I2MWJkOGMyYTUuLjliNGNjYmJkNTZkOTFlZGUxZDQ3MDRmN2RjYzBm
NzlmMDQ0NThlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCkBAIC00NSw3ICs0NSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiAKLWNsYXNzIE1lc3NhZ2VQb3J0
IGZpbmFsIDogcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElu
bGluZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZXNzYWdlUG9ydCwgV2Vha1B0ckZhY3Rv
cnlJbml0aWFsaXphdGlvbjo6RWFnZXI+IHsKK2NsYXNzIE1lc3NhZ2VQb3J0IGZpbmFsIDogcHVi
bGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0KTsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKE1lc3NhZ2VQb3J0KTsKIHB1YmxpYzoKQEAgLTk5LDcgKzk5LDcgQEAgcHJpdmF0
ZToKICAgICBleHBsaWNpdCBNZXNzYWdlUG9ydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29u
c3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCwgY29uc3QgTWVzc2FnZVBvcnRJZGVudGlm
aWVyJiByZW1vdGUpOwogCiAgICAgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zJikgZmluYWw7Ci0gICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0aW9u
cyYpIGZpbmFsOworICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYp
IGZpbmFsOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0CiAgICAgY29uc3QgY2hhciogYWN0aXZl
RE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDRjYjI3ZjYw
NzA2ZWQ0MzZiZGM2YmU0NGNhYTc2YWRkYTViODEwOWMuLjBhMzgyNzU1MjA2NmJiNjU2NzM4YzA1
NThmNzlhOTE4YTgyMjM1ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTIxMjgsNyArMjEyOCw3IEBA
IHZvaWQgTm9kZTo6bW92ZU5vZGVUb05ld0RvY3VtZW50KERvY3VtZW50JiBvbGREb2N1bWVudCwg
RG9jdW1lbnQmIG5ld0RvY3VtZW50KQogICAgICAgICBkb3duY2FzdDxFbGVtZW50PigqdGhpcyku
ZGlkTW92ZVRvTmV3RG9jdW1lbnQob2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKIH0KIAotc3Rh
dGljIGlubGluZSBib29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lciwg
Y29uc3QgRXZlbnRUYXJnZXQ6OkFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorc3Rh
dGljIGlubGluZSBib29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lciwg
Y29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKCF0YXJn
ZXROb2RlLT5FdmVudFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVy
LmNvcHlSZWYoKSwgb3B0aW9ucykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIxNjQsNyAr
MjE2NCw3IEBAIGJvb2wgTm9kZTo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmIGxpCiAgICAgcmV0dXJuIHRyeUFkZEV2ZW50
TGlzdGVuZXIodGhpcywgZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgb3B0aW9ucyk7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCB0cnlSZW1vdmVFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdl
dE5vZGUsIGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVu
ZXIsIGNvbnN0IEV2ZW50VGFyZ2V0OjpMaXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCitzdGF0aWMg
aW5saW5lIGJvb2wgdHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25z
dCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBjb25zdCBF
dmVudExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoIXRhcmdldE5vZGUtPkV2
ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIsIG9wdGlv
bnMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTk2LDcgKzIxOTYsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgdHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25z
dCBBdG9tU3RyaW5nJiBldgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIE5vZGU6OnJlbW92
ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVy
JiBsaXN0ZW5lciwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9vbCBOb2RlOjpy
ZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0
ZW5lciYgbGlzdGVuZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQogewog
ICAgIHJldHVybiB0cnlSZW1vdmVFdmVudExpc3RlbmVyKHRoaXMsIGV2ZW50VHlwZSwgbGlzdGVu
ZXIsIG9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggMjllMjhjOWExOTYyN2UwZWQyZjdjZTcy
NzQ3ZjJhNmQ2OWFkMDM2MS4uMzIyYWVlNjBhMDExYzRkYWQyNjg3YjkzN2JlNzc5MzExMzM0M2Iy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5oCkBAIC02OSw3ICs2OSw3IEBAIGNsYXNzIFRvdWNoRXZlbnQ7CiAKIHVz
aW5nIE5vZGVPclN0cmluZyA9IFZhcmlhbnQ8UmVmUHRyPE5vZGU+LCBTdHJpbmc+OwogCi1jbGFz
cyBOb2RlIDogcHVibGljIENhbk1ha2VXZWFrUHRyPE5vZGU+LCBwdWJsaWMgRXZlbnRUYXJnZXQg
eworY2xhc3MgTm9kZSA6IHB1YmxpYyBFdmVudFRhcmdldCB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChOb2RlKTsKIAogICAgIGZyaWVuZCBjbGFzcyBEb2N1bWVudDsKQEAgLTQ0Nyw3ICs0
NDcsNyBAQCBwdWJsaWM6CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFsOyAvLyBJbXBsZW1lbnRlZCBpbiBEb2N1bWVudC5oCiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3QgQWRkRXZlbnRMaXN0ZW5l
ck9wdGlvbnMmKSBvdmVycmlkZTsKLSAgICBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRp
b25zJikgb3ZlcnJpZGU7CisgICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21T
dHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRp
b25zJikgb3ZlcnJpZGU7CiAKICAgICB1c2luZyBFdmVudFRhcmdldDo6ZGlzcGF0Y2hFdmVudDsK
ICAgICB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDk0ZmU0ZjJiYTM0Yzk4YTZhMDViZWFmMzVk
YTc1YmMxOWExYTJmZTYuLjgyMDg5MTZhOTlkOTdlZTM5ODkwYzM4MTY0ZWFkNDE3NDYyNDU4MmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNTc5NSw3ICs1
Nzk1LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
Ym9vbCBIVE1MTWVkaWFFbGVtZW50OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0
aW9ucyYgb3B0aW9ucykKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5l
cihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBj
b25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICNpZiBFTkFCTEUoTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICBpZiAoZXZl
bnRUeXBlID09IGV2ZW50TmFtZXMoKS53ZWJraXRuZWVka2V5RXZlbnQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGM3YmU3MDZkZGZkNzI4ZjVmNTI3ZWVkYzQ1YTQ1
ZmE0ZDg3MzBjZWIuLjEyNDMyYmQ1Yjk2YmI2YzExNjUwMzNhYjNmNzY1YTgxYmVlZjc2NzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC00MDIsNyArNDAyLDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgdm9pZCB3
ZWJraXRTaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoKTsKICAgICBib29sIGFkZEV2ZW50TGlzdGVu
ZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29u
c3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlkZTsKLSAgICBib29sIHJlbW92ZUV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwg
Y29uc3QgTGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CisgICAgYm9vbCByZW1vdmVFdmVudExp
c3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0
IEV2ZW50TGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHdpcmVsZXNzUm91
dGVzQXZhaWxhYmxlRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRXaXJlbGVzc1Bs
YXliYWNrVGFyZ2V0KFJlZjxNZWRpYVBsYXliYWNrVGFyZ2V0PiYmKSBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCmluZGV4IGE1NDZlMWQwNjc1ZTI2NWMzOTgwZmM2
NTdmZDY3OWIzNDVlMjdiZjkuLjQ1MzhjZjc2OTA1MTIwOWNhMzk5MjcyYzBkOWFjODI2MzdmZDFm
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcApAQCAtMjUsNiArMjUsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkltYWdlRG9jdW1lbnQuaCIKIAorI2lu
Y2x1ZGUgIkFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2Uu
aCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZS5oCmluZGV4IGJkOTc2ZTRjMzlmYTUxN2Q1
NjBmNTViOWJjZWFmZDE5ZDMxOWZiZWQuLmI1MDM4MWM1YWRmY2Y2ZjUwZmVkMzVkNGE4OWQxZTc4
MTc1M2QzNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
Q3VlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuaApAQCAt
NjIsNyArNjIsNyBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8VGV4dFRyYWNrQ3VlPiBtX2N1ZTsK
IH07CiAKLWNsYXNzIFRleHRUcmFja0N1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRUcmFja0N1
ZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8VGV4dFRyYWNrQ3VlPiB7CitjbGFzcyBUZXh0VHJhY2tDdWUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxUZXh0VHJhY2tDdWU+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChUZXh0VHJhY2tDdWUpOwogcHVibGljOgogICAgIHN0YXRp
YyBjb25zdCBBdG9tU3RyaW5nJiBjdWVTaGFkb3dQc2V1ZG9JZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCBm
Yjk5MzFkOTE5OTkyZmYxODY4MWE0NWUxNzkxZmI5NmFjZTA4NGVjLi41Y2I1OGI5Yzk5ZDlkNjlh
MGVkYjAzNWU0YmVjZDM0YjkxNmYyNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMzMsNiArMzMsNyBAQAog
CiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0LmgiCisjaW5jbHVkZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRl
ICJBdHRyLmgiCiAjaW5jbHVkZSAiQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5j
bHVkZSAiQ1NTUGFyc2VyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaAppbmRleCBkMDlkMmU0NzZjNTI2ZWFiMmEyNzU3YWFh
MWViOTAyMDE0MTlmZWNjLi5hZTE4NmFlZWZlNDI5OWNjYWUzZDk2ODQzYmQ1YTBkZWI1YTNiODM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRp
b25DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNh
dGlvbkNhY2hlLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
QXBwbGljYXRpb25DYWNoZUhvc3Q7CiBjbGFzcyBGcmFtZTsKIAotY2xhc3MgRE9NQXBwbGljYXRp
b25DYWNoZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUFwcGxpY2F0aW9uQ2FjaGU+LCBw
dWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5
LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8RE9NQXBwbGljYXRpb25DYWNoZT4geworY2xhc3MgRE9N
QXBwbGljYXRpb25DYWNoZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUFwcGxpY2F0aW9u
Q2FjaGU+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIERPTVdpbmRv
d1Byb3BlcnR5IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKERPTUFwcGxpY2F0aW9uQ2Fj
aGUpOwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8RE9NQXBwbGljYXRpb25DYWNoZT4gY3JlYXRl
KERPTVdpbmRvdyYgd2luZG93KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTUFwcGxpY2F0aW9u
Q2FjaGUod2luZG93KSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA3NjVhYzQ3
MWZmZjlkNTM0YTliZmY5MWE5YjNlMTlhYjhiYmUyNDI0Li43MzY4NGI0ZTJlYTk3ODUxODE5NjY3
YmU2ODQ5YzU5MzY3NDkyZGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yMTQ1
LDcgKzIxNDUsNyBAQCB2b2lkIERPTVdpbmRvdzo6cmVzZXRBbGxHZW9sb2NhdGlvblBlcm1pc3Np
b24oKQogI2VuZGlmCiB9CiAKLWJvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKGNv
bnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0
IExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKK2Jvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVudExp
c3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVu
ZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQogewogICAgIGlmICghRXZl
bnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9u
cy5jYXB0dXJlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgK
aW5kZXggYWMyNzg0Zjg5NzdkMTFhODE3ZTMyOTk2MmJmZjA1NjMxNjFkNGIwYS4uMGUzNTExN2Y1
YWQ4YWI4ZmRkZjRkZGY2NjY5MDE3YzAxZjg5YzQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5o
CkBAIC0xMTEsNyArMTExLDYgQEAgc3RydWN0IFdpbmRvd1Bvc3RNZXNzYWdlT3B0aW9ucyA6IHB1
YmxpYyBQb3N0TWVzc2FnZU9wdGlvbnMgewogLy8gRklYTUU6IFJlbmFtZSBET01XaW5kb3cgdG8g
TG9jYWxXaW5kb3cgYW5kIEFic3RyYWN0RE9NV2luZG93IHRvIERPTVdpbmRvdy4KIGNsYXNzIERP
TVdpbmRvdyBmaW5hbAogICAgIDogcHVibGljIEFic3RyYWN0RE9NV2luZG93Ci0gICAgLCBwdWJs
aWMgQ2FuTWFrZVdlYWtQdHI8RE9NV2luZG93PgogICAgICwgcHVibGljIENvbnRleHREZXN0cnVj
dGlvbk9ic2VydmVyCiAgICAgLCBwdWJsaWMgQmFzZTY0VXRpbGl0aWVzCiAgICAgLCBwdWJsaWMg
U3VwcGxlbWVudGFibGU8RE9NV2luZG93PiB7CkBAIC0zMTQsNyArMzEzLDcgQEAgcHVibGljOgog
ICAgIC8vIEV2ZW50cwogICAgIC8vIEV2ZW50VGFyZ2V0IEFQSQogICAgIGJvb2wgYWRkRXZlbnRM
aXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYm
LCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYpIGZpbmFsOwotICAgIGJvb2wgcmVtb3Zl
RXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIm
LCBjb25zdCBMaXN0ZW5lck9wdGlvbnMmKSBmaW5hbDsKKyAgICBib29sIHJlbW92ZUV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3Qg
RXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBmaW5hbDsKICAgICB2b2lkIHJlbW92ZUFsbEV2ZW50TGlz
dGVuZXJzKCkgZmluYWw7CiAKICAgICB1c2luZyBFdmVudFRhcmdldDo6ZGlzcGF0Y2hFdmVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KaW5kZXggNWU2MDFkMzdhNTdlMzgzOWM4
YmNjNWJjNWEzYjFkNDU0MTQwMTEzNS4uMTA1MmJlNzBhMzc4ZTg0N2QzYWUyOTk0NjRhMzExMzRi
Yjc4NmI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJh
Y2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIEVO
QUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkpCiAKKyNpbXBvcnQgIkFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zLmgiCiAjaW1wb3J0ICJBdWRpb1RyYWNrTGlzdC5oIgogI2ltcG9ydCAiRXZlbnQu
aCIKICNpbXBvcnQgIkV2ZW50TGlzdGVuZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1vZGVsVmlkZW9FbGVtZW50Lm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRlb0VsZW1l
bnQubW0KaW5kZXggNGNhNGMyY2JjNjBkMGEzNTRjNWIzNGE2NjMzZTZiZTc4NDU4MjcxMi4uNzMx
YTlmZmZkNmQ2ZWFjNjQxOTI5MTQ5MWFmYTUzNTkwMjE5M2Q5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRlb0VsZW1lbnQu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9k
ZWxWaWRlb0VsZW1lbnQubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShWSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkKIAorI2ltcG9ydCAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIK
ICNpbXBvcnQgIkRPTVdpbmRvdy5oIgogI2ltcG9ydCAiRXZlbnQuaCIKICNpbXBvcnQgIkV2ZW50
TGlzdGVuZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBjYWFjNTU3ODMyMjA3
NDk1MGU0OGI1NDU5MWNiOTlmNWYxNzY5OGY5Li5kNDgwZTVmNmFlMDcyMjU3ODlhMjFiMDU0OGNi
MzY2NDA3MDUxZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC0zODEsNyArMzgx
LDcgQEAgYm9vbCBTVkdFbGVtZW50OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcm
IGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9v
bCBTVkdFbGVtZW50OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50
VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYgb3B0
aW9ucykKK2Jvb2wgU1ZHRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3Ry
aW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBjb25zdCBFdmVudExpc3Rl
bmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkK
ICAgICAgICAgcmV0dXJuIE5vZGU6OnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0
ZW5lciwgb3B0aW9ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAppbmRleCBhZTZjMDc2NWY0M2Qy
MjMwZDQ1ODliYzA2ZTA4YzA5ODRmOTg3NzM0Li5hODRjOWJmNzJmNzE1MTk0YTkzNjE4ZjAyZGI1
ZjgzZDNjN2I4ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKQEAgLTExMiw3ICsxMTIsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGhhdmVMb2FkZWRSZXF1aXJlZFJlc291cmNlcygp
OwogCiAgICAgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlw
ZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJikg
b3ZlcnJpZGU7Ci0gICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcm
IGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYpIG92ZXJy
aWRlOworICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVu
dFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYpIG92ZXJy
aWRlOwogCiAgICAgYm9vbCBoYXNUYWdOYW1lKGNvbnN0IFNWR1F1YWxpZmllZE5hbWUmIG5hbWUp
IGNvbnN0IHsgcmV0dXJuIGhhc0xvY2FsTmFtZShuYW1lLmxvY2FsTmFtZSgpKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcAppbmRleCAxMzI5MmJjNmNjNTAwMzFkOTg1NDcx
OGVlNGFkNGFiYTM3MjNhZGZhLi43NjlhYTFhMTJkZmVjYjk1ZTg2YzYxODkyMDBjMWQ3ZWI2Mjg2
NjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAKQEAgLTIzLDYgKzIzLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdUUmVmRWxlbWVudC5oIgogCisj
aW5jbHVkZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJFdmVudExpc3Rl
bmVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIk11dGF0aW9uRXZlbnQu
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAK
aW5kZXggMDQzMjEyOGM5ODEyZTk1YjYwZWM3MTdhNmU4Zjc5NTllOWZjNDJhYi4uNjgxOTFiOTRh
NDAwMTA1ZmIyNmExNjkyZTZmMDJkYjU3OGNiYWVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdTTUlMRWxlbWVudC5oIgogCisjaW5jbHVkZSAi
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGZlNzIwZTkzNWVlOWYzMmFjYzdkOGQ4ZWNiNWY1MzFh
Y2IxZDlmMjEuLjdlZmQ2OGY2Zjg2NzI2Y2FjYjY1OWYwNDY1MjBjZjRkMWI1YTVjZGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1
ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY3Rpdml0eVN0YXRlLmgiCisjaW5jbHVk
ZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJBbmltYXRpb25UaW1lbGlu
ZS5oIgogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiQXVk
aW9TZXNzaW9uLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAppbmRleCA1YzRiOTcwMmM0MGJhNThhMWU2YmM5NWVm
ZDA2N2YwODk4OTk5NzAwLi5lYmJlOTVlODkyNGM4ZjFkNzM3NTI1ZGVhMTYzMGIxZmFkNTZmYjI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJBZGRFdmVu
dExpc3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAi
SURMVHlwZXMuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbkFubm90YXRp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luQW5u
b3RhdGlvbi5tbQppbmRleCBiYjA5ZWQzODQzZmRiMTUwY2JkZTEwYzEzOThlYzE1MjdkYTY5Yjk5
Li5jYWVmM2UxOTAwYzI4M2MxYjM2MDUzOTQxMjI4ZWUwZTcxNmQ2NzQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luQW5ub3RhdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luQW5u
b3RhdGlvbi5tbQpAQCAtMzQsNiArMzQsNyBAQAogI2ltcG9ydCAiUERGUGx1Z2luQ2hvaWNlQW5u
b3RhdGlvbi5oIgogI2ltcG9ydCAiUERGUGx1Z2luVGV4dEFubm90YXRpb24uaCIKICNpbXBvcnQg
PFF1YXJ0ei9RdWFydHouaD4KKyNpbXBvcnQgPFdlYkNvcmUvQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ1NTUHJpbWl0aXZlVmFsdWUuaD4KICNpbXBvcnQgPFdl
YkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL0RPTU5vZGUubW0gYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NTm9kZS5tbQppbmRleCAyY2Q5YjMzMWFlYThmMTBm
N2Y5MTE0YzQ0YTExY2RhM2Q4Y2U4MWFkLi41ZDE0YmExNDk2ZTI5NGQyNTYxNjJmODM4MmEzMWVj
MDgyYjYzZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NTm9k
ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NTm9kZS5tbQpAQCAtMzMs
NiArMzMsNyBAQAogI2ltcG9ydCAiRE9NTm9kZUxpc3RJbnRlcm5hbC5oIgogI2ltcG9ydCAiRXhj
ZXB0aW9uSGFuZGxlcnMuaCIKICNpbXBvcnQgIk9iakNFdmVudExpc3RlbmVyLmgiCisjaW1wb3J0
IDxXZWJDb3JlL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RP
TUltcGxlbWVudGF0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0VsZW1lbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvSlNFeGVjU3RhdGUuaD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4
IDIzMTZlZDYyM2Q0ODZhZDY5NzE1ZjNhYjdmMmRlYWNlNTY2NjYwNDkuLjM4YWQzMjhmNTUzM2Y5
MDFkMzg5ZTBhNjY1MmJiMDhkM2U1MGJmMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTAxLTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBBYm9ydFNpZ25hbCBpbiBhZGRFdmVudExpc3RlbmVy
T3B0aW9ucyB0byB1bnN1YnNjcmliZSBmcm9tIGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS83MTI1ODAxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbXBvcnQgdGVzdCBjb3ZlcmFnZSBmcm9tIFdQVC4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRp
b25zLXNpZ25hbC5hbnkuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53b3JrZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvdzNjLWltcG9ydC5sb2c6CisK
IDIwMjEtMDEtMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEFkZCBtb3JlIGRlc2NyaXB0aXZlIG1lc3NhZ2VzIHRvIHNldExvY2FsRGVzY3JpcHRpb24vc2V0
UmVtb3RlRGVzY3JpcHRpb24gZXJyb3IgY2FzZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVy
T3B0aW9ucy1zaWduYWwuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1z
aWduYWwuYW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTM5Y2U1MWEzMzI3MDM4OGIyZTgx
MTg2NDAyZGM3YTAxY2I2Njk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRp
b25zLXNpZ25hbC5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworUEFTUyBQYXNz
aW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgb3B0aW9ucyBzaG91bGQgYWxs
b3cgcmVtb3ZpbmcgYSBsaXN0ZW5lcgorUEFTUyBQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFk
ZEV2ZW50TGlzdGVuZXIgZG9lcyBub3QgcHJldmVudCByZW1vdmVFdmVudExpc3RlbmVyCitQQVNT
IFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciB3b3JrcyB3aXRoIHRo
ZSBvbmNlIGZsYWcKK1BBU1MgUmVtb3ZpbmcgYSBvbmNlIGxpc3RlbmVyIHdvcmtzIHdpdGggYSBw
YXNzZWQgc2lnbmFsCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gbXVsdGlwbGUgbGlz
dGVuZXJzCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciB3
b3JrcyB3aXRoIHRoZSBjYXB0dXJlIGZsYWcKK1BBU1MgQWJvcnRpbmcgZnJvbSBhIGxpc3RlbmVy
IGRvZXMgbm90IGNhbGwgZnV0dXJlIGxpc3RlbmVycworUEFTUyBBZGRpbmcgdGhlbiBhYm9ydGlu
ZyBhIGxpc3RlbmVyIGluIGFub3RoZXIgbGlzdGVuZXIgZG9lcyBub3QgY2FsbCBpdAorUEFTUyBB
Ym9ydGluZyBmcm9tIGEgbmVzdGVkIGxpc3RlbmVyIHNob3VsZCByZW1vdmUgaXQKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3Rl
bmVyT3B0aW9ucy1zaWduYWwuYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1
ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVy
T3B0aW9ucy1zaWduYWwuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMg
cmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxh
dGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2
ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMt
c2lnbmFsLmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Mjg3MTA2MWYzYjkxNjdjZmEyOGU1MzZiODYwODg0
NDY4NDQyN2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25h
bC5hbnkuanMKQEAgLTAsMCArMSwxMzMgQEAKKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgbGV0IGNvdW50ID0gMDsKKyAgZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAgICBjb3Vu
dCsrOworICB9CisgIGNvbnN0IGV0ID0gbmV3IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0IGNvbnRy
b2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ3Rl
c3QnLCBoYW5kbGVyLCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgfSk7CisgIGV0LmRpc3Bh
dGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAxLCAi
QWRkaW5nIGEgc2lnbmFsIHN0aWxsIGFkZHMgYSBsaXN0ZW5lciIpOworICBldC5kaXNwYXRjaEV2
ZW50KG5ldyBFdmVudCgndGVzdCcpKTsKKyAgYXNzZXJ0X2VxdWFscyhjb3VudCwgMiwgIlRoZSBs
aXN0ZW5lciB3YXMgbm90IGFkZGVkIHdpdGggdGhlIG9uY2UgZmxhZyIpOworICBjb250cm9sbGVy
LmFib3J0KCk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3Nl
cnRfZXF1YWxzKGNvdW50LCAyLCAiQWJvcnRpbmcgb24gdGhlIGNvbnRyb2xsZXIgcmVtb3ZlcyB0
aGUgbGlzdGVuZXIiKTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsg
c2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZl
bnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQsIDIsICJQYXNzaW5nIGFuIGFib3J0
ZWQgc2lnbmFsIG5ldmVyIGFkZHMgdGhlIGhhbmRsZXIiKTsKK30sICJQYXNzaW5nIGFuIEFib3J0
U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgb3B0aW9ucyBzaG91bGQgYWxsb3cgcmVtb3Zpbmcg
YSBsaXN0ZW5lciIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBsZXQgY291bnQgPSAwOworICBm
dW5jdGlvbiBoYW5kbGVyKCkgeworICAgIGNvdW50Kys7CisgIH0KKyAgY29uc3QgZXQgPSBuZXcg
RXZlbnRUYXJnZXQoKTsKKyAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIo
KTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250
cm9sbGVyLnNpZ25hbCB9KTsKKyAgZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRs
ZXIpOworICBldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgndGVzdCcpKTsKKyAgYXNzZXJ0X2Vx
dWFscyhjb3VudCwgMCwgIlRoZSBsaXN0ZW5lciB3YXMgc3RpbGwgcmVtb3ZlZCIpOworfSwgIlBh
c3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciBkb2VzIG5vdCBwcmV2ZW50
IHJlbW92ZUV2ZW50TGlzdGVuZXIiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgbGV0IGNvdW50
ID0gMDsKKyAgZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAgICBjb3VudCsrOworICB9CisgIGNvbnN0
IGV0ID0gbmV3IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRD
b250cm9sbGVyKCk7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoYW5kbGVyLCB7IHNp
Z25hbDogY29udHJvbGxlci5zaWduYWwsIG9uY2U6IHRydWUgfSk7CisgIGNvbnRyb2xsZXIuYWJv
cnQoKTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9l
cXVhbHMoY291bnQsIDAsICJUaGUgbGlzdGVuZXIgd2FzIHN0aWxsIHJlbW92ZWQiKTsKK30sICJQ
YXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgd29ya3Mgd2l0aCB0aGUg
b25jZSBmbGFnIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1
bmN0aW9uIGhhbmRsZXIoKSB7CisgICAgY291bnQrKzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBF
dmVudFRhcmdldCgpOworICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigp
OworICBldC5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRy
b2xsZXIuc2lnbmFsLCBvbmNlOiB0cnVlIH0pOworICBldC5yZW1vdmVFdmVudExpc3RlbmVyKCd0
ZXN0JywgaGFuZGxlcik7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0JykpOwor
ICBhc3NlcnRfZXF1YWxzKGNvdW50LCAwLCAiVGhlIGxpc3RlbmVyIHdhcyBzdGlsbCByZW1vdmVk
Iik7Cit9LCAiUmVtb3ZpbmcgYSBvbmNlIGxpc3RlbmVyIHdvcmtzIHdpdGggYSBwYXNzZWQgc2ln
bmFsIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0aW9u
IGhhbmRsZXIoKSB7CisgICAgY291bnQrKzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVudFRh
cmdldCgpOworICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOworICBl
dC5hZGRFdmVudExpc3RlbmVyKCdmaXJzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVy
LnNpZ25hbCwgb25jZTogdHJ1ZSB9KTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcignc2Vjb25kJywg
aGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLCBvbmNlOiB0cnVlIH0pOworICBj
b250cm9sbGVyLmFib3J0KCk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmaXJzdCcp
KTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3NlY29uZCcpKTsKKyAgYXNzZXJ0X2Vx
dWFscyhjb3VudCwgMCwgIlRoZSBsaXN0ZW5lciB3YXMgc3RpbGwgcmVtb3ZlZCIpOworfSwgIlBh
c3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gbXVsdGlwbGUgbGlzdGVuZXJzIik7CisKK3Rlc3QoZnVu
Y3Rpb24oKSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7CisgICAg
Y291bnQrKzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVudFRhcmdldCgpOworICBjb25zdCBj
b250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOworICBldC5hZGRFdmVudExpc3RlbmVy
KCd0ZXN0JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLCBjYXB0dXJlOiB0
cnVlIH0pOworICBjb250cm9sbGVyLmFib3J0KCk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2
ZW50KCd0ZXN0JykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAwLCAiVGhlIGxpc3RlbmVyIHdh
cyBzdGlsbCByZW1vdmVkIik7Cit9LCAiUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0byBhZGRFdmVu
dExpc3RlbmVyIHdvcmtzIHdpdGggdGhlIGNhcHR1cmUgZmxhZyIpOworCit0ZXN0KGZ1bmN0aW9u
KCkgeworICBsZXQgY291bnQgPSAwOworICBmdW5jdGlvbiBoYW5kbGVyKCkgeworICAgIGNvdW50
Kys7CisgIH0KKyAgY29uc3QgZXQgPSBuZXcgRXZlbnRUYXJnZXQoKTsKKyAgY29uc3QgY29udHJv
bGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVz
dCcsICgpID0+IHsKKyAgICBjb250cm9sbGVyLmFib3J0KCk7CisgIH0sIHsgc2lnbmFsOiBjb250
cm9sbGVyLnNpZ25hbCB9KTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIs
IHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcg
RXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQsIDAsICJUaGUgbGlzdGVuZXIg
d2FzIHN0aWxsIHJlbW92ZWQiKTsKK30sICJBYm9ydGluZyBmcm9tIGEgbGlzdGVuZXIgZG9lcyBu
b3QgY2FsbCBmdXR1cmUgbGlzdGVuZXJzIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBj
b3VudCA9IDA7CisgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7CisgICAgY291bnQrKzsKKyAgfQorICBj
b25zdCBldCA9IG5ldyBFdmVudFRhcmdldCgpOworICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFi
b3J0Q29udHJvbGxlcigpOworICBldC5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgKCkgPT4gewor
ICAgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoYW5kbGVyLCB7IHNpZ25hbDogY29udHJv
bGxlci5zaWduYWwgfSk7CisgICAgY29udHJvbGxlci5hYm9ydCgpOworICB9LCB7IHNpZ25hbDog
Y29udHJvbGxlci5zaWduYWwgfSk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0
JykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAwLCAiVGhlIGxpc3RlbmVyIHdhcyBzdGlsbCBy
ZW1vdmVkIik7Cit9LCAiQWRkaW5nIHRoZW4gYWJvcnRpbmcgYSBsaXN0ZW5lciBpbiBhbm90aGVy
IGxpc3RlbmVyIGRvZXMgbm90IGNhbGwgaXQiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgY29u
c3QgZXQgPSBuZXcgRXZlbnRUYXJnZXQoKTsKKyAgY29uc3QgYWMgPSBuZXcgQWJvcnRDb250cm9s
bGVyKCk7CisgIGxldCBjb3VudCA9IDA7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvbycsICgp
ID0+IHsKKyAgICBldC5hZGRFdmVudExpc3RlbmVyKCdmb28nLCAoKSA9PiB7CisgICAgICBjb3Vu
dCsrOworICAgICAgaWYgKGNvdW50ID4gNSkgYWMuYWJvcnQoKTsKKyAgICAgIGV0LmRpc3BhdGNo
RXZlbnQobmV3IEV2ZW50KCdmb28nKSk7CisgICAgfSwgeyBzaWduYWw6IGFjLnNpZ25hbCB9KTsK
KyAgICBldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZm9vJykpOworICB9LCB7IG9uY2U6IHRy
dWUgfSk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmb28nKSk7Cit9LCAiQWJvcnRp
bmcgZnJvbSBhIG5lc3RlZCBsaXN0ZW5lciBzaG91bGQgcmVtb3ZlIGl0Iik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0Fk
ZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lZTM5Y2U1MWEzMzI3MDM4OGIyZTgxMTg2NDAyZGM3YTAxY2I2Njk4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29ya2VyLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACisKK1BBU1MgUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0
byBhZGRFdmVudExpc3RlbmVyIG9wdGlvbnMgc2hvdWxkIGFsbG93IHJlbW92aW5nIGEgbGlzdGVu
ZXIKK1BBU1MgUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0byBhZGRFdmVudExpc3RlbmVyIGRvZXMg
bm90IHByZXZlbnQgcmVtb3ZlRXZlbnRMaXN0ZW5lcgorUEFTUyBQYXNzaW5nIGFuIEFib3J0U2ln
bmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgd29ya3Mgd2l0aCB0aGUgb25jZSBmbGFnCitQQVNTIFJl
bW92aW5nIGEgb25jZSBsaXN0ZW5lciB3b3JrcyB3aXRoIGEgcGFzc2VkIHNpZ25hbAorUEFTUyBQ
YXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIG11bHRpcGxlIGxpc3RlbmVycworUEFTUyBQYXNzaW5n
IGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgd29ya3Mgd2l0aCB0aGUgY2FwdHVy
ZSBmbGFnCitQQVNTIEFib3J0aW5nIGZyb20gYSBsaXN0ZW5lciBkb2VzIG5vdCBjYWxsIGZ1dHVy
ZSBsaXN0ZW5lcnMKK1BBU1MgQWRkaW5nIHRoZW4gYWJvcnRpbmcgYSBsaXN0ZW5lciBpbiBhbm90
aGVyIGxpc3RlbmVyIGRvZXMgbm90IGNhbGwgaXQKK1BBU1MgQWJvcnRpbmcgZnJvbSBhIG5lc3Rl
ZCBsaXN0ZW5lciBzaG91bGQgcmVtb3ZlIGl0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVy
T3B0aW9ucy1zaWduYWwuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNp
Z25hbC5hbnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2
MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9u
cy1zaWduYWwuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlz
IHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBs
YXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy93M2Mt
aW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy93M2MtaW1wb3J0LmxvZwppbmRleCAyN2RiYWNhYzc2MGZmZWVjMzA0YWVmMmE4
NDgxNWQ1MWY1ODQ5NmY3Li40YTQzOTk2YTE4NWY0ZjA0ZjAwMWZlNzAxZDA1NmU5MzQ1MDQ3MTFl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3czYy1pbXBvcnQubG9nCkBAIC0xNiw2ICsx
Niw3IEBAIE5vbmUKIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLW9uY2Uu
aHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1wYXNzaXZlLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5l
ck9wdGlvbnMtc2lnbmFsLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9DdXN0b21FdmVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWNhbmNlbEJ1YmJs
ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL0V2ZW50LWNvbnN0YW50cy5odG1sCg==
</data>
<flag name="commit-queue"
          id="436104"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418199</attachid>
            <date>2021-01-22 16:33:20 -0800</date>
            <delta_ts>2021-01-22 17:59:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218753-20210122163319.patch</filename>
            <type>text/plain</type>
            <size>84418</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiODYyNDAzMzNkNDE0N2QzYTk5NTRl
MTEzOWYwMTFjMTljZDczYmYuLmExMmY3OGQyZjlmNjQzOWUxOTA4YTJkNTYwODgyYTNlYjJhZWU3
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IEFib3J0U2lnbmFsIGluIGFkZEV2ZW50TGlz
dGVuZXJPcHRpb25zIHRvIHVuc3Vic2NyaWJlIGZyb20gZXZlbnRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg3NTMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzcxMjU4MDEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBpbml0aWFsaXplV2Vha1B0ckZhY3RvcnkoKSBwcm90ZWN0aW9uIGZ1bmN0
aW9uIHRvIENhbk1ha2VXZWFrUHRyIHNvIHRoYXQgYSBzdWJjbGFzcworICAgICAgICBjYW4gZWFn
ZXJseSBpbml0aWFsaXplIHRoZSBXZWFrUHRyRmFjdG9yeSBldmVuIGlmIGl0IGRvZXMgbm90IHN1
YmNsYXNzCisgICAgICAgIFdlYWtQdHJGYWN0b3J5PFQsIFdlYWtQdHJGYWN0b3J5SW5pdGlhbGl6
YXRpb246OkVhZ2VyPi4gTWVzc2FnZVBvcnQgdXNlZCB0byBzdWJjbGFzcworICAgICAgICBXZWFr
UHRyRmFjdG9yeTxULCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpFYWdlcj4gZm9yIHRo
cmVhZC1zYWZldHkgcmVhc29uIGJ1dCBpdAorICAgICAgICBub3cgc3ViY2xhc3NlcyBXZWFrUHRy
RmFjdG9yeTxULCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpMYXp5PiB2aWEgRXZlbnRU
YXJnZXQuCisKKyAgICAgICAgKiB3dGYvV2Vha1B0ci5oOgorICAgICAgICAoV1RGOjpDYW5NYWtl
V2Vha1B0cjo6aW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KToKKwogMjAyMS0wMS0yMSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYXR0ZW1wdCB0
byBmaXggV2F0Y2hPUyBidWlsZCBhZnRlciByMjcxNjczLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhmMzdmM2Qx
YjhmNjViMjEwMmUwNDdjMDQ0MzM0NDI1YmViMzRiNjQuLmM0ZGMwMjIyOThhMWQ0OWVkNWVjNzAy
NmI0NmE4ZDA5NzMzMjU0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OSBAQAorMjAyMS0wMS0y
MiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgQWJv
cnRTaWduYWwgaW4gYWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgdG8gdW5zdWJzY3JpYmUgZnJvbSBl
dmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODc1MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNTgwMTI+CisKKyAgICAgICAgU3VwcG9y
dCBBYm9ydFNpZ25hbCBpbiBhZGRFdmVudExpc3RlbmVyT3B0aW9ucyB0byB1bnN1YnNjcmliZSBm
cm9tIGV2ZW50czoKKyAgICAgICAgLSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1
ZXMvOTExCisgICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vcHVsbC85MTkK
KworICAgICAgICBCbGluayBhbHJlYWR5IGFkZGVkIHN1cHBvcnQgZm9yIHRoaXMuCisKKyAgICAg
ICAgQWRkRXZlbnRMaXN0ZW5lcl9BYm9ydFNpZ25hbAorCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMtc2lnbmFsLmFueS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53
b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAq
IEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJv
YXJkLmg6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0Lmg6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVj
aFJlY29nbml0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250
ZXh0Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAg
ICogTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBh
bmltYXRpb24vV2ViQW5pbWF0aW9uLmg6CisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIpOgorICAgICAgICAq
IGNzcy9NZWRpYVF1ZXJ5TGlzdC5oOgorICAgICAgICAqIGRvbS9BYm9ydFNpZ25hbC5oOgorICAg
ICAgICAqIGRvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oLgorICAgICAgICAo
V2ViQ29yZTo6QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM6OkFkZEV2ZW50TGlzdGVuZXJPcHRpb25z
KToKKyAgICAgICAgKiBkb20vQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oLgor
ICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyLmg6CisgICAgICAgICogZG9tL0V2ZW50TGlzdGVu
ZXJNYXAuY3BwOgorICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyT3B0aW9ucy5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5o
LgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMaXN0ZW5lck9wdGlvbnM6OkV2ZW50TGlzdGVuZXJP
cHRpb25zKToKKyAgICAgICAgKiBkb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5o
LgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdl
dDo6cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
VGFyZ2V0OjpzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50VGFyZ2V0Ojppbm5lckludm9rZUV2ZW50TGlzdGVuZXJzKToKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExp
c3RlbmVyKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaWRsOgorICAgICAgICAqIGRvbS9N
ZXNzYWdlUG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZXNzYWdlUG9ydDo6TWVzc2FnZVBv
cnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZVBvcnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIp
OgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydC5oOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRyeUFkZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6dHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW1v
dmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0ltYWdlRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvdHJh
Y2svVGV4dFRyYWNrQ3VlLmg6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JE
T01BZ2VudC5jcHA6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2Fj
aGUuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
Lmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVs
ZW1lbnQubW06CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxW
aWRlb0VsZW1lbnQubW06CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogc3Zn
L1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwOgorICAgICAg
ICAqIHN2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5oOgorCiAyMDIxLTAxLTIyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgQXZvaWQgZHVwbGljYXRlIGNhbGN1bGF0aW9ucyBpbiBSZW5kZXJCbG9jazo6Y29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzYwOWU5Nzk5OGMxN2FmYTYz
N2I1YzEzNTFlZjNiMjRlMDE0YmM5NC4uNDIxY2M4YzhkNmVhYjcxZmJjNWUwMDc0NWM1NmY1NDlm
ZTdhYTE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0yMiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgQWJvcnRTaWduYWwgaW4g
YWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgdG8gdW5zdWJzY3JpYmUgZnJvbSBldmVudHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzEyNTgwMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWlub3IgYnVpbGQgZml4ZXMuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbkFubm90YXRpb24ubW06CisKIDIwMjEtMDEtMjIg
IEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5d
IE5vIGVycm9yIGlzIHZpc2libGUgYWZ0ZXIgdXNlciBlbnRlcnMgdGhlIGluY29ycmVjdCBQSU4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBiMWM0ZjBhN2E1NzMzMWFjNWI5NDVjMmQ5
ZDdjZTFkMDUyZWVkMDI5Li5iNzVhZmM2NGI5MGNlZjI0NjBhN2JhZDkwZWI2YTQxMWM4ZTdkNWM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEt
MjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IEFi
b3J0U2lnbmFsIGluIGFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHRvIHVuc3Vic2NyaWJlIGZyb20g
ZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTg3NTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMjU4MDEyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1pbm9yIGJ1aWxkIGZpeGVzLgorCisg
ICAgICAgICogRE9NL0RPTU5vZGUubW06CisKIDIwMjEtMDEtMjEgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtBcHBsZSBQYXldIHVzZSB0aGUgZmlyc3QgaXRl
bSBpbiBgc2hpcHBpbmdPcHRpb25zYCBldmVuIHdoZW4gaXQncyBub3QgYHNlbGVjdGVkYApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvV2Vha1B0ci5oIGIvU291cmNlL1dURi93dGYvV2Vha1B0
ci5oCmluZGV4IGE4YjExYWI5NzU1NjJhNTc5MzM2YTE0ZWQyZGQyY2RhMmE0N2Y1YjguLjE0MzJj
MmYyNWI3NDdiNTJlYzZmZmQ1NjFmNTQ5MDhhM2Y0MDY0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1dlYWtQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgKQEAgLTIwMCw3
ICsyMDAsMTIgQEAgcHJvdGVjdGVkOgogICAgIENhbk1ha2VXZWFrUHRyKCkKICAgICB7CiAgICAg
ICAgIGlmIChpbml0aWFsaXphdGlvbk1vZGUgPT0gV2Vha1B0ckZhY3RvcnlJbml0aWFsaXphdGlv
bjo6RWFnZXIpCi0gICAgICAgICAgICBtX3dlYWtQdHJGYWN0b3J5LmluaXRpYWxpemVJZk5lZWRl
ZChzdGF0aWNfY2FzdDxUJj4oKnRoaXMpKTsKKyAgICAgICAgICAgIGluaXRpYWxpemVXZWFrUHRy
RmFjdG9yeSgpOworICAgIH0KKworICAgIHZvaWQgaW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KCkK
KyAgICB7CisgICAgICAgIG1fd2Vha1B0ckZhY3RvcnkuaW5pdGlhbGl6ZUlmTmVlZGVkKHN0YXRp
Y19jYXN0PFQmPigqdGhpcykpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggNDM0ZTQ5YzEwYjA3MWYyZGFhY2IzMjA0NWIwMjY3ZDUyODZiMjE5OC4uNDVkYjU5MTM4
NDAyNDRhYzQ4OTcxNDY4ZGJhMDE0ZDEzYzI0ZjE2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTc4NSw2ICs3ODUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGRvbS9B
Ym9ydENvbnRyb2xsZXIuaWRsCiAgICAgZG9tL0Fib3J0U2lnbmFsLmlkbAogICAgIGRvbS9BYnN0
cmFjdFJhbmdlLmlkbAorICAgIGRvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKICAgICBk
b20vQW5pbWF0aW9uRXZlbnQuaWRsCiAgICAgZG9tL0F0dHIuaWRsCiAgICAgZG9tL0JlZm9yZUxv
YWRFdmVudC5pZGwKQEAgLTg0Myw2ICs4NDQsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9G
SUxFUwogICAgIGRvbS9FcnJvckV2ZW50LmlkbAogICAgIGRvbS9FdmVudC5pZGwKICAgICBkb20v
RXZlbnRJbml0LmlkbAorICAgIGRvbS9FdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKICAgICBkb20v
RXZlbnRNb2RpZmllckluaXQuaWRsCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmlkbAogICAgIGRvbS9G
b2N1c0V2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKaW5kZXggNzIxNTNjYjQ5Mjk3NGVlMWI4MzM1M2UwYWFlMDc3MTdmOGM5NjJhNC4u
NTAxODQyM2E5YWVkMTQ2NzNlZWZlMTkwMGExYWY0NWIwMzlkOTRhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC03MDAsNiArNzAwLDcg
QEAgJChQUk9KRUNUX0RJUikvZG9tL0Fib3J0QWxnb3JpdGhtLmlkbAogJChQUk9KRUNUX0RJUikv
ZG9tL0Fib3J0Q29udHJvbGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9BYm9ydFNpZ25hbC5p
ZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9BYnN0cmFjdFJhbmdlLmlkbAorJChQUk9KRUNUX0RJUikv
ZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0FuaW1h
dGlvbkV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0F0dHIuaWRsCiAkKFBST0pFQ1RfRElS
KS9kb20vQmVmb3JlTG9hZEV2ZW50LmlkbApAQCAtNzYwLDYgKzc2MSw3IEBAICQoUFJPSkVDVF9E
SVIpL2RvbS9FcnJvckV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0V2ZW50LmlkbAogJChQ
Uk9KRUNUX0RJUikvZG9tL0V2ZW50SW5pdC5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9FdmVudExp
c3RlbmVyLmlkbAorJChQUk9KRUNUX0RJUikvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbAog
JChQUk9KRUNUX0RJUikvZG9tL0V2ZW50TW9kaWZpZXJJbml0LmlkbAogJChQUk9KRUNUX0RJUikv
ZG9tL0V2ZW50TmFtZXMuaW4KICQoUFJPSkVDVF9ESVIpL2RvbS9FdmVudFRhcmdldC5pZGwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXgg
MzcwOTQ5ODk5ODUzNmM3NjQ2NzQ1NTRkN2EwZDAwN2JmYTVjM2I4MS4uOWNmYzI5OGZjZWZlZDJk
MDRmYzNhYjE3NWE2MzU1NmM4OTMwY2JmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTUyLDYgKzUyLDggQEAgJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBYnN0cmFjdFdvcmtlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWJzdHJhY3RXb3Jr
ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBY2Nl
c3NpYmlsaXR5Um9sZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQWNjZXNzaWJpbGl0eVJvbGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWRkRXZlbnRMaXN0ZW5lck9w
dGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNB
ZGRyZXNzRXJyb3JzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBZGRyZXNzRXJyb3JzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQWVzQ2JjQ2ZiUGFyYW1zLmNwcApAQCAtNzQzLDYgKzc0NSw4IEBAICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnQuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnRJbml0LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudElu
aXQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVu
dExpc3RlbmVyT3B0aW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRXZlbnRMaXN0ZW5lck9wdGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudE1vZGlmaWVySW5pdC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnRNb2RpZmllckluaXQu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudFNv
dXJjZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGM3M2YwNjAyYWMyNzA2
NDI1YzI3ZWVmYjJhN2ZiNmNkMDMzN2ExNzguLmMyNzg5YzQ3YjA5ZTEyNDkzYzRjNTQ3NjVhNWEw
MjZkZTg3NjI4ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjU5LDYgKzY1
OSw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRDb250
cm9sbGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRTaWduYWwuaWRsIFwKICAgICAk
KFdlYkNvcmUpL2RvbS9BYnN0cmFjdFJhbmdlLmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20vQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9BbmltYXRpb25F
dmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0F0dHIuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9CZWZvcmVMb2FkRXZlbnQuaWRsIFwKQEAgLTcxNyw2ICs3MTgsNyBAQCBKU19CSU5ESU5H
X0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9kb20vRXZlbnRJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRXZlbnRMaXN0ZW5lci5p
ZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9kb20vRXZlbnRNb2RpZmllckluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9FdmVudFRhcmdldC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCmluZGV4IGQ4ZmMxNDE3NDU2MzIzMWFlZjEyMWUxOWY3MjZkNmE1MTMx
NzEzNDYuLmVkMDY2YzExY2FjMjE4YTNkOGZkZWJmZjE2OTI2NjE2ZmMyODQzZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQpAQCAtMzk2LDkgKzM5NiwxMSBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1F
V09SS19IRUFERVJTCiAgICAgZGlzcGxheS9jc3MvRGlzcGxheVJlcGxhY2VkQm94LmgKICAgICBk
aXNwbGF5L2Nzcy9EaXNwbGF5U3R5bGUuaAogCisgICAgZG9tL0Fib3J0U2lnbmFsLmgKICAgICBk
b20vQWJzdHJhY3RSYW5nZS5oCiAgICAgZG9tL0FjdGl2ZURPTUNhbGxiYWNrLmgKICAgICBkb20v
QWN0aXZlRE9NT2JqZWN0LmgKKyAgICBkb20vQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaAogICAg
IGRvbS9BdHRyLmgKICAgICBkb20vQXR0cmlidXRlLmgKICAgICBkb20vQm91bmRhcnlQb2ludC5o
CkBAIC00NDQsNiArNDQ2LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVS
UwogICAgIGRvbS9FdmVudEluaXQuaAogICAgIGRvbS9FdmVudExpc3RlbmVyLmgKICAgICBkb20v
RXZlbnRMaXN0ZW5lck1hcC5oCisgICAgZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmgKICAgICBk
b20vRXZlbnRNb2RpZmllckluaXQuaAogICAgIGRvbS9FdmVudE5hbWVzLmgKICAgICBkb20vRXZl
bnRRdWV1ZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBi
b2FyZC9DbGlwYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L0NsaXBib2FyZC5oCmluZGV4IDM2ZGU2MmUyYjg4NmY5NzA5NzA0MmI4ZDU1MWZmNzU5MGRmOWM0
Y2EuLmE2YzU4YmM5MjliNWJjNzU1MmNiZDY1NTRmNDgyOTQ3YTM0MjgxZDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oCkBAIC00
MCw3ICs0MCw3IEBAIGNsYXNzIE5hdmlnYXRvcjsKIGNsYXNzIFBhc3RlYm9hcmQ7CiBjbGFzcyBQ
YXN0ZWJvYXJkQ3VzdG9tRGF0YTsKIAotY2xhc3MgQ2xpcGJvYXJkIGZpbmFsIDogcHVibGljIFJl
ZkNvdW50ZWQ8Q2xpcGJvYXJkPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1
YmxpYyBDYW5NYWtlV2Vha1B0cjxDbGlwYm9hcmQ+IHsKK2NsYXNzIENsaXBib2FyZCBmaW5hbCA6
IHB1YmxpYyBSZWZDb3VudGVkPENsaXBib2FyZD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxp
bmVEYXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKENsaXBib2FyZCk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxDbGlwYm9hcmQ+IGNyZWF0ZShOYXZpZ2F0b3ImKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lv
bi5oCmluZGV4IDMwMzZhYTlmOWU4YzU1YWZlODgxOTQxYTFhNWFlOGZjZDExYmIzMTAuLjgyMTc5
MDM4NTdlYjgyMTRhMDI5ZDMzNWRmOGI4OTg0NDZhNDQyMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaApAQCAt
NjcsNiArNjcsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZWRpYUtleVNlc3Npb24+IGNy
ZWF0ZShEb2N1bWVudCYsIFdlYWtQdHI8TWVkaWFLZXlzPiYmLCBNZWRpYUtleVNlc3Npb25UeXBl
LCBib29sIHVzZURpc3RpbmN0aXZlSWRlbnRpZmllciwgUmVmPENETT4mJiwgUmVmPENETUluc3Rh
bmNlU2Vzc2lvbj4mJik7CiAgICAgdmlydHVhbCB+TWVkaWFLZXlTZXNzaW9uKCk7CiAKKyAgICB1
c2luZyBDRE1JbnN0YW5jZVNlc3Npb25DbGllbnQ6OndlYWtQdHJGYWN0b3J5OworICAgIHVzaW5n
IFdlYWtWYWx1ZVR5cGUgPSBDRE1JbnN0YW5jZVNlc3Npb25DbGllbnQ6OldlYWtWYWx1ZVR5cGU7
CiAgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+OjpyZWY7CiAgICAgdXNpbmcg
UmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+OjpkZXJlZjsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCmluZGV4IDlhNDYxMWJjYmRhOWEyODU2NzFj
NTkzZWZmNDhhNmQ3N2ZmNDZmZTUuLjZhMTNlNWY0YjUzZTQxN2Q3ZTc0ZWZhY2U1ZTMzODVkMGM4
ZWRlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJl
cXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0
LmgKQEAgLTYxLDcgKzYxLDcgQEAgY2xhc3MgSURCQ29ubmVjdGlvblByb3h5OwogY2xhc3MgSURC
Q29ubmVjdGlvblRvU2VydmVyOwogfQogCi1jbGFzcyBJREJSZXF1ZXN0IDogcHVibGljIEV2ZW50
VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBJREJBY3RpdmVET01PYmplY3QsIHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxJREJSZXF1ZXN0PiwgcHVibGljIENhbk1ha2VXZWFrUHRyPElE
QlJlcXVlc3Q+IHsKK2NsYXNzIElEQlJlcXVlc3QgOiBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5s
aW5lRGF0YSwgcHVibGljIElEQkFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPElEQlJlcXVlc3Q+IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKElEQlJlcXVl
c3QpOwogcHVibGljOgogICAgIGVudW0gY2xhc3MgTnVsbFJlc3VsdFR5cGUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgKaW5kZXggNmY5
MDYyOGFiMGNjOGYwYTM0MTExMzRmODc5N2U2NGJmYzgxNmYzOS4uMDBmMTBhMjdhY2FiMjFiZGI1
Y2I5YzJhMTQ1YTg3NjE0M2UxMTU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCkBAIC01NSw3ICs1NSw3IEBAIHN0cnVjdCBNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+
IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKIAotY2xhc3MgTWVkaWFEZXZpY2VzIGZpbmFsIDog
cHVibGljIFJlZkNvdW50ZWQ8TWVkaWFEZXZpY2VzPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwg
cHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxN
ZWRpYURldmljZXM+IHsKK2NsYXNzIE1lZGlhRGV2aWNlcyBmaW5hbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPE1lZGlhRGV2aWNlcz4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBFdmVudFRh
cmdldFdpdGhJbmxpbmVEYXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKE1lZGlhRGV2
aWNlcyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZWRpYURldmljZXM+IGNyZWF0ZShEb2N1
bWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5oCmluZGV4IGFjY2U2ZTliZGU0Yzc3YjMzM2Y5YjYwNjMxMzczMGM1
Nzk5NGY5OWQuLjU2OTE0M2FhNzJiM2FlNjIzOTUzZGU5MzVmN2FjNDFmOGU1ZDdhMjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLmgKQEAgLTc3LDcgKzc3LDYgQEAgY2xhc3MgUlRDUGVlckNvbm5lY3Rpb24gZmluYWwK
ICAgICA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ1BlZXJDb25uZWN0aW9uPgogICAgICwgcHVibGlj
IEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEKICAgICAsIHB1YmxpYyBBY3RpdmVET01PYmplY3QK
LSAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxSVENQZWVyQ29ubmVjdGlvbj4KICNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKICAgICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
cXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
cXVlc3QuaAppbmRleCA2OGFjYWM5NmIyZTdiZGEyYTA1ZWRmNWFjYjVmZDlhZTZmOGQ4OTkxLi5j
ZDkzZDIzMTEyYjU3NTNkOTAxN2E4OGE5MmMyN2QzNDAwZmI4YmFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCkBA
IC01MSw3ICs1MSw3IEBAIHN0cnVjdCBQYXltZW50RGV0YWlsc1VwZGF0ZTsKIHN0cnVjdCBQYXlt
ZW50TWV0aG9kRGF0YTsKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKIAotY2xhc3MgUGF5bWVudFJlcXVlc3QgZmluYWwgOiBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UGF5bWVudFJlcXVlc3Q+LCBwdWJsaWMg
RXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIFJlZkNvdW50ZWQ8UGF5bWVudFJlcXVl
c3Q+IHsKK2NsYXNzIFBheW1lbnRSZXF1ZXN0IGZpbmFsIDogcHVibGljIEFjdGl2ZURPTU9iamVj
dCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBSZWZDb3VudGVkPFBh
eW1lbnRSZXF1ZXN0PiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQYXltZW50UmVxdWVz
dCk7CiBwdWJsaWM6CiAgICAgdXNpbmcgQWJvcnRQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVk
PHZvaWQ+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNo
UmVjb2duaXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29n
bml0aW9uLmgKaW5kZXggMzc5MjMyZWJjOGU0ZjgwMTRhYWI5MjFkYzg0MjU0OWVhYTUxNzBjYS4u
YzIwMGJhZTY1Y2I4NTNhZTMxYmI2YWIyMWUyMjEzMWUxODA0YTA2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5oCkBAIC00MSw2ICs0
MSw5IEBAIGNsYXNzIFNwZWVjaFJlY29nbml0aW9uIDogcHVibGljIFNwZWVjaFJlY29nbml0aW9u
Q29ubmVjdGlvbkNsaWVudCwgcHVibGljIEFjdGl2CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxT
cGVlY2hSZWNvZ25pdGlvbj4gY3JlYXRlKERvY3VtZW50Jik7CiAKKyAgICB1c2luZyBTcGVlY2hS
ZWNvZ25pdGlvbkNvbm5lY3Rpb25DbGllbnQ6OndlYWtQdHJGYWN0b3J5OworICAgIHVzaW5nIFdl
YWtWYWx1ZVR5cGUgPSBTcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb25DbGllbnQ6OldlYWtWYWx1
ZVR5cGU7CisKICAgICBjb25zdCBTdHJpbmcmIGxhbmcoKSBjb25zdCB7IHJldHVybiBtX2xhbmc7
IH0KICAgICB2b2lkIHNldExhbmcoU3RyaW5nJiYgbGFuZykgeyBtX2xhbmcgPSBXVEZNb3ZlKGxh
bmcpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFz
ZUF1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVk
aW9Db250ZXh0LmgKaW5kZXggNzk4MjJkZjY1ZjVkYTMxYmI2MWQ3ZjEzYjk5MTgyMWEwOTIxZTdi
OS4uODVjNzc0ZmRhZGVhZGJlYmQ4YzdhMWMyMjcxM2EwNzc1NTU0ZmZkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmgKQEAgLTk1
LDcgKzk1LDYgQEAgY2xhc3MgQmFzZUF1ZGlvQ29udGV4dAogICAgIDogcHVibGljIEFjdGl2ZURP
TU9iamVjdAogICAgICwgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEJhc2VBdWRpb0NvbnRl
eHQ+CiAgICAgLCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YQotICAgICwgcHVibGlj
IENhbk1ha2VXZWFrUHRyPEJhc2VBdWRpb0NvbnRleHQ+CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECiAgICAgLCBwdWJsaWMgTG9nZ2VySGVscGVyCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKaW5kZXggY2ZhM2I5NWVhMGIzMGRkZTAzN2Qz
NjBhZWVkOTNmYTI3NWQyYTk0My4uYzljYzNjNGU0MzVjOTI2NGIyODE0ZDNkNjNjMjQwZmNiNjY3
MDZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgK
QEAgLTc3LDcgKzc3LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJv
bWlzZURlZmVycmVkOwogdXNpbmcgRXJyb3JJRExVbmlvbiA9IElETFVuaW9uPElETEludGVyZmFj
ZTxHUFVPdXRPZk1lbW9yeUVycm9yPiwgSURMSW50ZXJmYWNlPEdQVVZhbGlkYXRpb25FcnJvcj4+
OwogdXNpbmcgRXJyb3JQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETE51bGxhYmxlPEVy
cm9ySURMVW5pb24+PjsKIAotY2xhc3MgV2ViR1BVRGV2aWNlIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViR1BVRGV2aWNlPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBD
YW5NYWtlV2Vha1B0cjxXZWJHUFVEZXZpY2U+IHsKK2NsYXNzIFdlYkdQVURldmljZSA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYkdQVURldmljZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVE
YXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYkdQVURldmljZSk7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+V2ViR1BVRGV2aWNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSU3lzdGVtLmgKaW5kZXggYWUyYjk2NzVmMzNhMWM4Y2QzMWMyOTc1ZmYyYjU5Y2Vl
NjliMDY4OC4uYzc2MmQ0NmFjMGU5MDRhMzk4M2QzOTdmNjg2NTYxZDRjMTY1YjM1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaApAQCAtNTMsNyArNTMsNyBA
QCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2ViWFJTZXNzaW9uOwogc3Ry
dWN0IFhSU2Vzc2lvbkluaXQ7CiAKLWNsYXNzIFdlYlhSU3lzdGVtIGZpbmFsIDogcHVibGljIFJl
ZkNvdW50ZWQ8V2ViWFJTeXN0ZW0+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYlhSU3lzdGVt
PiB7CitjbGFzcyBXZWJYUlN5c3RlbSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSU3lz
dGVtPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01P
YmplY3QgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV2ViWFJTeXN0ZW0pOwogcHVibGlj
OgogICAgIHVzaW5nIElzU2Vzc2lvblN1cHBvcnRlZFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDdhYTU1YmI0MzQ2OGQ3M2M3NGQ4ZWJj
ZGM0NzIwYmFiYTI4ZTUyZjcuLjcyOTZjY2YzZWY5ZWZjNzE2OTJjMWMxYjEwMDdhMGE2ZTc5MjAz
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yNzIyLDYgKzI3MjIsNyBAQCBKU0Fib3J0U2lnbmFsLmNw
cAogSlNBYnN0cmFjdFJhbmdlLmNwcAogSlNBYnN0cmFjdFdvcmtlci5jcHAKIEpTQWRkcmVzc0Vy
cm9ycy5jcHAKK0pTQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuY3BwCiBKU0Flc0NiY0NmYlBhcmFt
cy5jcHAKIEpTQWVzQ3RyUGFyYW1zLmNwcAogSlNBZXNHY21QYXJhbXMuY3BwCkBAIC0yOTYxLDYg
KzI5NjIsNyBAQCBKU0Vycm9yQ2FsbGJhY2suY3BwCiBKU0Vycm9yRXZlbnQuY3BwCiBKU0V2ZW50
LmNwcAogSlNFdmVudEluaXQuY3BwCitKU0V2ZW50TGlzdGVuZXJPcHRpb25zLmNwcAogSlNFdmVu
dE1vZGlmaWVySW5pdC5jcHAKIEpTRXZlbnRTb3VyY2UuY3BwCiBKU0V2ZW50VGFyZ2V0LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDcxZjdjODM4MTE5YTIzNTE3M2Q0MGNiODg5MWJjNWFiZjljMzZlZmUuLjA1M2JkODdkYTdj
ZGE4NDUxYWYxM2VkYjMxYzEzOGFmNjY0NTk1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMwMiw2ICszMDIsNyBAQAogCQkw
RjQ5NjZBQjFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0OTY2QTUxREI0MEM0MzAwQTI3NEJCIC8q
IEpTRE9NUG9pbnQuaCAqLzsgfTsKIAkJMEY0OTY2QUQxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9N
UG9pbnRJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjQ5NjZBNzFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludEluaXQuaCAqLzsgfTsKIAkJ
MEY0OTY2QUYxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0OTY2QTkxREI0MEM0MzAw
QTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5oICovOyB9OworCQkwRjUzRkI4NDIxM0I3QTY0
MDBDNDBEMzQgLyogUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1M0ZCODQyMTNCNzg2NDAwQzQwRDM0IC8q
IFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjU0RENFNjE4ODEwNTFEMDAzRUVEQkIgLyogVGV4dEF1
dG9TaXppbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGNTREQ0U0MTg4MTA1MUQwMDNFRURCQiAvKiBUZXh0QXV0b1NpemluZy5oICovOyB9OwogCQkw
RjU0REQwODE4ODFENUY1MDAzRUVEQkIgLyogVG91Y2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTRERDA1MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3Vj
aC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBG
NTRERDA5MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3VjaEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU0REQwNjE4ODFENUY1MDAzRUVEQkIgLyog
VG91Y2hFdmVudC5oICovOyB9OwpAQCAtMTI2Miw2ICsxMjYzLDggQEAKIAkJNDZCOTUxOUEyMDdE
NjM1NDAwQTdEMkREIC8qIFJlbW90ZUZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI5NTE5MjIwN0Q2MzJFMDBBN0QyREQgLyogUmVtb3RlRnJh
bWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
NkI5NUJGNTIyMzFDRkQ2MDA1M0E1MDQgLyogRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nl
c3NDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NkI5NUJGNDIyMzFDRkI4MDA1M0E1MDQgLyogRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rp
b25BY2Nlc3NDb250cm9sbGVyLmggKi87IH07CiAJCTQ2QkNCQkMyMjA4NTAwOEYwMDcxMDYzOCAv
KiBKU1JlbW90ZURPTVdpbmRvd0Jhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2QkNCQkMwMjA4NTAwN0YwMDcxMDYzOCAvKiBKU1JlbW90ZURPTVdp
bmRvd0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk0NkJEMDVDNTI1QkI2RTU5MDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QkQwNUMy
MjVCQjZFNEUwMDIyNUYzMCAvKiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ2QkQwNUM2MjVCQjZFNkMw
MDIyNUYzMCAvKiBFdmVudExpc3RlbmVyT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCRDA1QzMyNUJCNkU0RTAwMjI1RjMwIC8qIEV2ZW50
TGlzdGVuZXJPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDZDMDk2MjEyM0Q3OERENjAwNjU3QzA5IC8qIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2
QzA5NjIwMjNENzhERDYwMDY1N0MwOSAvKiBIVFRQQ29va2llQWNjZXB0UG9saWN5LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZDMzc2NjIyMDg1
MTc3RDAwQzczODI5IC8qIEpTUmVtb3RlRE9NV2luZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMzNzY2MTIwODUxNzZEMDBDNzM4MjkgLyogSlNS
ZW1vdGVET01XaW5kb3cuaCAqLzsgfTsKIAkJNDZDNjk2Q0IxRTcyMDVGNzAwNTk3OTM3IC8qIENQ
VU1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2QzY5NkM5MUU3MjA1RTQwMDU5NzkzNyAvKiBDUFVNb25pdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTIzOTksNyArMjQwMiw3IEBACiAJ
CTdDQzk3MjJFMUY5M0UzMzYwMDA0RDRDRiAvKiBTZXR0aW5nc0Jhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQzY2MDk5MUY5MzA1NzgwMEQ1MDBF
OSAvKiBTZXR0aW5nc0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3Q0NFQkZDMDFERDhGNkFCMDAyQzQwQjggLyogU1ZHTGVuZ3RoVmFsdWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRTU4RDUz
MUREN0IwOTMwMDEyODU1MiAvKiBTVkdMZW5ndGhWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDRDBFMkI4MUY4MEE0ODIwMDE2QTRDRSAv
KiBBYm9ydENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDRDBFMkI1MUY4MEE0ODIwMDE2QTRDRSAvKiBBYm9ydENvbnRyb2xsZXIuaCAq
LzsgfTsKLQkJN0NEMEUyQkYxRjgwQTU2RTAwMTZBNENFIC8qIEFib3J0U2lnbmFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0QwRTJCQzFGODBBNTZF
MDAxNkE0Q0UgLyogQWJvcnRTaWduYWwuaCAqLzsgfTsKKwkJN0NEMEUyQkYxRjgwQTU2RTAwMTZB
NENFIC8qIEFib3J0U2lnbmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3Q0QwRTJCQzFGODBBNTZFMDAxNkE0Q0UgLyogQWJvcnRTaWduYWwuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Q0QxRTY5MzI0
QUJGNjI0MDA4OUM0MTkgLyogQ29sb3JTZXJpYWxpemF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0QxRTY5MTI0QUJGNjI0MDA4OUM0MTkgLyog
Q29sb3JTZXJpYWxpemF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJN0NENDk0Q0QxQTg2RUIxRDAwMEE4N0VDIC8qIFJlbmRlckF0dGFjaG1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRDQ5
NENCMUE4NkVCMUQwMDBBODdFQyAvKiBSZW5kZXJBdHRhY2htZW50LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0NENThERkIxRjk1NjVBNTAwMTEy
NzkxIC8qIFNldHRpbmdzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3Q0VCNTdFOTFGOTU2NTE1MDAwOTdBRUMgLyogU2V0dGluZ3MuaCAqLzsgfTsKQEAg
LTQwODcsNyArNDA5MCw2IEBACiAJCUJDRUE0ODc2MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJJ
bWFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNF
QTQ4MzcwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckltYWdlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFQTQ4NzgwOTdEOTMwMjAwOTRDOUU0
IC8qIFJlbmRlcklubGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkNFQTQ4MzkwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlcklubGluZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRUE0ODdBMDk3
RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJMYXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFQTQ4M0IwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckxh
eWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
MEY1M0ZCODQyMTNCN0E2NDAwQzQwRDM0IC8qIFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTNGQjg0MjEz
Qjc4NjQwMEM0MEQzNCAvKiBSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFQTQ4ODAwOTdEOTMwMjAw
OTRDOUU0IC8qIFJlbmRlck9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNFQTQ4NDEwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlck9iamVjdC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRUE0
ODg3MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJUaGVtZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFQTQ4NDgwOTdEOTMwMjAwOTRDOUU0IC8q
IFJlbmRlclRoZW1lTWFjLmggKi87IH07CiAJCUJDRUE0ODhBMDk3RDkzMDIwMDk0QzlFNCAvKiBS
ZW5kZXJUaGVtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNFQTQ4NEIwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRoZW1lLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTUwODksNiArNTA5MSw3IEBA
CiAJCUU0MjVBNDlBMTgyOTJCODQwMDIwQ0ZDRiAvKiBDb2xsZWN0aW9uSW5kZXhDYWNoZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyNUE0OTkxODI5
MkI4NDAwMjBDRkNGIC8qIENvbGxlY3Rpb25JbmRleENhY2hlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQyOTVGQTQxMkIwNjE0RTAwRDFBQ0Uw
IC8qIFJlc291cmNlTG9hZFByaW9yaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNDI5NUZBMzEyQjA2MTRFMDBEMUFDRTAgLyogUmVzb3VyY2VMb2Fk
UHJpb3JpdHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFNDJFNzZEQzFDN0FGNzc2MDBFMzYxNEQgLyogU3R5bGVVcGRhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MkU3NkRCMUM3QUY3NzYwMEUz
NjE0RCAvKiBTdHlsZVVwZGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUU0MkVFM0E3MTc1NzZFNTUwMEVFRThDRiAvKiBGb250R2VuZXJpY0Zh
bWlsaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
NDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0MzEwNUJCMTY3NTBG
MTYwMERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDMxMDVCQTE2NzUwRjE2MDBEQjJGQjggLyogTm9kZVRyYXZl
cnNhbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUU0M0EwMjNCMTdFQjM3MEEwMDRDREQyNSAvKiBSZW5kZXJFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDNBMDIzQTE3RUIzNzBBMDA0Q0RE
MjUgLyogUmVuZGVyRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUU0M0FGOEU3MUFDNUI3RUMwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0M0FG
OEU1MUFDNUI3REQwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNTExMiw3ICs1MTE1LDYgQEAKIAkJ
RTQ0NjE0M0MwQ0Q2ODlDQzAwRkFEQTc1IC8qIEpTSFRNTFNvdXJjZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QjQyMzcyMENCRkI2RTAw
MEFGMkVDRSAvKiBKU0hUTUxTb3VyY2VFbGVtZW50LmggKi87IH07CiAJCUU0NDYxNDUyMENENjhB
MzUwMEZBREE3NSAvKiBSZW5kZXJWaWRlby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTRCNDFFMzQwQ0JGQjYwOTAwQUYyRUNFIC8qIFJlbmRlclZpZGVv
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ0
QjRCQjQxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0QjRCQjIxNDE2NTBENzAwMkIxRDhC
IC8qIFNlbGVjdG9yQ2hlY2tlci5oICovOyB9OwotCQlFNDJFRTNBNzE3NTc2RTU1MDBFRUU4Q0Yg
LyogRm9udEdlbmVyaWNGYW1pbGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTQ0RUUzQTcxNzU3NkU1NTAwRUVFOENGIC8qIEZvbnRHZW5lcmljRmFt
aWxpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFNDRGQTE4NTFCQ0E2QjVBMDA5MUI2RUYgLyogQ29tcG9zZWRUcmVlSXRlcmF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NEZBMTg0MUJDQTZC
NUEwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5oICovOyB9OwogCQlFNDUxQzYzMTIz
OTQwMjc5MDA5OTMxOTAgLyogTGF5b3V0VW5pdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNzM5MThDMjEwNkNFREQwMDZBRjI2MiAvKiBMYXlvdXRV
bml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUU0NTFDNjMyMjM5NDAzMUEwMDk5MzE5MCAvKiBNYXJnaW5UeXBlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZFN0FBMjYyMUMzN0I2MzAwMjk2RENE
IC8qIE1hcmdpblR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTgxODgsNiArODE5MCwxMCBAQAogCQk0NkJDQkJDMDIwODUwMDdGMDA3MTA2
MzggLyogSlNSZW1vdGVET01XaW5kb3dCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTUmVtb3RlRE9NV2luZG93QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NkJDQkJDMTIwODUwMDgwMDA3MTA2MzggLyogSlNSZW1vdGVET01XaW5kb3dCYXNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVtb3RlRE9NV2luZG93
QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QkNCQkMzMjA4NTAwQTcw
MDcxMDYzOCAvKiBSZW1vdGVET01XaW5kb3cuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJl
bW90ZURPTVdpbmRvdy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QkQwNUMw
MjVCQjZFNEQwMDIyNUYzMCAvKiBFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRM
aXN0ZW5lck9wdGlvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkJEMDVD
MjI1QkI2RTRFMDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDZCRDA1QzMyNUJCNkU0RTAwMjI1RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25zLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEV2ZW50TGlzdGVuZXJPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQ2QkQwNUM0MjVCQjZFNEYwMDIyNUYzMCAvKiBBZGRFdmVudExpc3RlbmVy
T3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NkMwOTYyMDIzRDc4REQ2MDA2NTdDMDkgLyogSFRUUENvb2tp
ZUFjY2VwdFBvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVFRQQ29va2llQWNjZXB0UG9saWN5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QzM3NjVGMjA4NTE3NkMwMEM3MzgyOSAv
KiBKU1JlbW90ZURPTVdpbmRvdy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1JlbW90ZURPTVdpbmRvdy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2QzM3NjYxMjA4NTE3NkQwMEM3MzgyOSAvKiBKU1JlbW90ZURPTVdpbmRvdy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlbW90ZURPTVdpbmRvdy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtOTc1OCw4ICs5NzY0LDggQEAKIAkJNkU1Mzg4RTEyNDU4QUUx
RDAwNzZBRTAzIC8qIFdlYkdMQ29sb3JCdWZmZXJGbG9hdC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR0xDb2xvckJ1
ZmZlckZsb2F0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkU1NzZCQzMyNEVC
NTA5QzAwOTRENEFBIC8qIEpTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFNjdEMkE4MTI4MEU4QkQwMDg3NThGNyAv
KiBFeHRlbnNpb25zR0wuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXh0ZW5z
aW9uc0dMLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZFN0NBMzBBMjVCNEQyOEEw
MDRBOTEzRSAvKiBKU1dlYkdMTXVsdGlEcmF3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTV2ViR0xNdWx0
aURyYXcuaDsgcGF0aCA9IEpTV2ViR0xNdWx0aURyYXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNkU3Q0EzMEIyNUI0RDMyODAwNEE5MTNFIC8qIEpTV2ViR0xNdWx0aURyYXcuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gSlNXZWJHTE11bHRpRHJhdy5jcHA7IHBhdGggPSBKU1dlYkdM
TXVsdGlEcmF3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkU3Q0EzMEEyNUI0
RDI4QTAwNEE5MTNFIC8qIEpTV2ViR0xNdWx0aURyYXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJH
TE11bHRpRHJhdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2RTdDQTMwQjI1QjRE
MzI4MDA0QTkxM0UgLyogSlNXZWJHTE11bHRpRHJhdy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1dlYkdMTXVsdGlEcmF3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkU4NEU5
REUxNzY2OEJBRDAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJhc3RlclNoYXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNkU4NEU5REYxNzY2OEJBRDAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJhc3RlclNoYXBlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTZFOEFDREU5MjMzNDVDQUYwMDI0QUFGNSAvKiBXZWJHTENvbXByZXNz
ZWRUZXh0dXJlRVRDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVFVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjk5MDEsNiArMjk5MDcs
OCBAQAogCQkJCTdDNTIyMjk4MUUxREFFMTYwMDJDQjhGNyAvKiBBY3RpdmVET01DYWxsYmFjay5o
ICovLAogCQkJCUUxQzRERTZEMEVBNzVDNjUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuY3Bw
ICovLAogCQkJCUUxQzRERTY4MEVBNzVDMUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuaCAq
LywKKwkJCQk0NkJEMDVDMjI1QkI2RTRFMDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMuaCAqLywKKwkJCQk0NkJEMDVDNDI1QkI2RTRGMDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5l
ck9wdGlvbnMuaWRsICovLAogCQkJCUUzQUU2Q0QxMjI1MkYyNzAwMEM3MEI1MCAvKiBBbGxEZXNj
ZW5kYW50c0NvbGxlY3Rpb24uY3BwICovLAogCQkJCTgzQkI1Qzg3MUQ1RDZGM0EwMDVBNzFGNCAv
KiBBbGxEZXNjZW5kYW50c0NvbGxlY3Rpb24uaCAqLywKIAkJCQkzMTk4NDdGRTFBMUQ4MTY3MDBB
MTMzMTggLyogQW5pbWF0aW9uRXZlbnQuY3BwICovLApAQCAtMzAxMTMsNiArMzAxMjEsOCBAQAog
CQkJCTg1QUZBNzQxMEFBRjI5ODQwMEU4NDMwNSAvKiBFdmVudExpc3RlbmVyLmlkbCAqLywKIAkJ
CQlBRDQ0OTVGMTE0MUZDMDg5MDA1NDFFREYgLyogRXZlbnRMaXN0ZW5lck1hcC5jcHAgKi8sCiAJ
CQkJQUQ0NDk1RjIxNDFGQzA4OTAwNTQxRURGIC8qIEV2ZW50TGlzdGVuZXJNYXAuaCAqLywKKwkJ
CQk0NkJEMDVDMzI1QkI2RTRFMDAyMjVGMzAgLyogRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCAqLywK
KwkJCQk0NkJEMDVDMDI1QkI2RTREMDAyMjVGMzAgLyogRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRs
ICovLAogCQkJCTlCOTFEQ0NDMjM4Mzc5MkQwMDBFRUUwRiAvKiBFdmVudExvb3AuY3BwICovLAog
CQkJCTlCMEFCQ0ExMjM2NzlBQjMwMEI0NTA4NSAvKiBFdmVudExvb3AuaCAqLywKIAkJCQk4M0ZF
N0NBMzFEQTlGMTY1MDAzNzIzN0MgLyogRXZlbnRNb2RpZmllckluaXQuaCAqLywKQEAgLTMxMDY1
LDYgKzMxMDc1LDcgQEAKIAkJCQlFMUM0REU2OTBFQTc1QzFFMDAyM0NDRDYgLyogQWN0aXZlRE9N
T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MjRFRTU1MDFEQzgwRDdGMDBBOTFGRkIgLyog
QWN0aXZpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzI0RUU1NTExREM4MEQ4NDAwQTkx
RkZCIC8qIEFjdGl2aXR5U3RhdGVDaGFuZ2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDZCRDA1QzUyNUJCNkU1OTAwMjI1RjMwIC8qIEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMTY3N0UwRTIxM0UwMkEwMDBBMDhDMzQgLyogQWRkcmVzc0Vycm9y
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGN0U0OTExMzdDRDdDNzAwMUREQUU3IC8qIEFkanVz
dFZpZXdTaXplT3JOb3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0RDBDNDA2MTExNUYxRUEwMDE4
QUEzNCAvKiBBZmZpbmVUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovLApAQCAtMzIwMDYsNiArMzIw
MTcsNyBAQAogCQkJCTk3MEI3MjhBMTQ0RkZBQzYwMEYwMEEzNyAvKiBFdmVudEludGVyZmFjZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzNUZCQzQ1MDlCQTAwQjkwMEUyMzBCMSAvKiBFdmVudExp
c3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDQ0OTVGNDE0MUZDMDg5MDA1NDFFREYgLyog
RXZlbnRMaXN0ZW5lck1hcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZCRDA1QzYyNUJCNkU2QzAw
MjI1RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkYw
MkExQTIzNzM3RjgzMDAxMDZBNjQgLyogRXZlbnRMb29wLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
M0ZFN0NBODFEQTlGMUI2MDAzNzIzN0MgLyogRXZlbnRNb2RpZmllckluaXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzOTg4NUM0MDhCN0UzRDEwMEU3MDdDNCAvKiBFdmVudE5hbWVzLmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAppbmRleCA0OWI3
OGY3NTQwZjQ1YTEzNTRlZWE4ZDljMWU2YjI2NmY5OGMzMDk1Li40YTFiZWVkM2IzNWM1NzkzNjA3
YzYxNTA1ZGU1NzE0NGIzZGRlYjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1h
dGlvbi5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJveHlXaXRoUmVzb2x2ZUNhbGxiYWNr
OwogCi1jbGFzcyBXZWJBbmltYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJBbmltYXRpb24+
LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViQW5pbWF0aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworY2xhc3MgV2ViQW5pbWF0
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViQW5pbWF0aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoV2ViQW5pbWF0aW9uKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYkFu
aW1hdGlvbj4gY3JlYXRlKERvY3VtZW50JiwgQW5pbWF0aW9uRWZmZWN0Kik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlMaXN0LmNwcAppbmRleCA2NzRlOGUxZWRkOTM2MTQ2N2E5ZGE5Y2FiNTMx
M2JjNmMxYWU5ZTY5Li40NWFhZTk5ZDgyOTZlZGE5MDhjYjZjNzRhOGJjNjA2ZTM0MzAxOWE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TGlzdC5oIgogCisjaW5jbHVk
ZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAj
aW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIApAQCAtNjYsNyArNjcsNyBAQCB2b2lk
IE1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0
ZW5lcikKICAgICBpZiAoIWxpc3RlbmVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBhZGRFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgbGlzdGVuZXIucmVsZWFzZU5vbk51
bGwoKSk7CisgICAgYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQsIGxp
c3RlbmVyLnJlbGVhc2VOb25OdWxsKCksIHsgfSk7CiB9CiAKIHZvaWQgTWVkaWFRdWVyeUxpc3Q6
OnJlbW92ZUxpc3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyKQpAQCAtNzQs
NyArNzUsNyBAQCB2b2lkIE1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5lcihSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKICAgICBpZiAoIWxpc3RlbmVyKQogICAgICAgICByZXR1
cm47CiAKLSAgICByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwg
Kmxpc3RlbmVyKTsKKyAgICByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VF
dmVudCwgKmxpc3RlbmVyLCB7IH0pOwogfQogCiB2b2lkIE1lZGlhUXVlcnlMaXN0OjpldmFsdWF0
ZShNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3IsIGJvb2wmIG5vdGlmaWNhdGlvbk5lZWRl
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKaW5kZXggYjcwYWE1NTY2YmM5NzU0MDFl
N2RiZjhlNTFiNmE5NzBkYjU1ZTdmNS4uMTNmNTM5NmRkODQyMGUwY2QyNGNkOGI3Mzk1MTRhYzVk
MDQyZjhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKQEAgLTMyLDcgKzMyLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gcmV0cmlldmUgdGhlIGN1cnJlbnQgdmFsdWUgb2Yg
dGhlIGdpdmVuIG1lZGlhIHF1ZXJ5IGFuZCB0byBhZGQvcmVtb3ZlIGxpc3RlbmVycyB0aGF0CiAv
LyB3aWxsIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgdmFsdWUgb2YgdGhlIHF1ZXJ5IGNoYW5nZXMu
CiAKLWNsYXNzIE1lZGlhUXVlcnlMaXN0IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFR
dWVyeUxpc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENhbk1h
a2VXZWFrUHRyPE1lZGlhUXVlcnlMaXN0PiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CitjbGFz
cyBNZWRpYVF1ZXJ5TGlzdCBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhUXVlcnlMaXN0
PiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmpl
Y3QgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoTWVkaWFRdWVyeUxpc3QpOwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8TWVkaWFRdWVyeUxpc3Q+IGNyZWF0ZShEb2N1bWVudCYsIE1lZGlh
UXVlcnlNYXRjaGVyJiwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIGJvb2wgbWF0Y2hlcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWJvcnRTaWduYWwuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9BYm9ydFNpZ25hbC5oCmluZGV4IGRiZDkzNjhlNTg1OGU5NjhhYmU5ZDc4YzVmZTc1ZTY3
Mjk3OTBiOGEuLjMyMjNjYzc1ZDdiZGI1ZGE1NDdiZmE1Njg3M2NjZmRlNzZjNTNiZWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BYm9ydFNpZ25hbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9BYm9ydFNpZ25hbC5oCkBAIC0zOCw4ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEFib3J0QWxnb3JpdGhtOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IAotY2xhc3MgQWJvcnRTaWduYWwgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxBYm9ydFNpZ25h
bD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8QWJvcnRTaWduYWw+LCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKLSAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEFib3J0U2lnbmFsKTsKK2NsYXNzIEFib3J0U2lnbmFs
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8QWJvcnRTaWduYWw+LCBwdWJsaWMgRXZlbnRUYXJn
ZXRXaXRoSW5saW5lRGF0YSwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7Cisg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9FWFBPUlQoQWJvcnRTaWduYWwsIFdFQkNPUkVfRVhQ
T1JUKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEFib3J0U2lnbmFsPiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3Rl
bmVyT3B0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiMTM0ZmFiYWJhMTUwMGY1MGM5N2RjZWQ0ODliZWU5
ZTQ3NjBkYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWRkRXZlbnRM
aXN0ZW5lck9wdGlvbnMuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFi
b3J0U2lnbmFsLmgiCisjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKKyNpbmNsdWRl
IDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQWRkRXZl
bnRMaXN0ZW5lck9wdGlvbnMgOiBFdmVudExpc3RlbmVyT3B0aW9ucyB7CisgICAgQWRkRXZlbnRM
aXN0ZW5lck9wdGlvbnMoYm9vbCBjYXB0dXJlID0gZmFsc2UsIE9wdGlvbmFsPGJvb2w+IHBhc3Np
dmUgPSBXVEY6Om51bGxvcHQsIGJvb2wgb25jZSA9IGZhbHNlLCBSZWZQdHI8QWJvcnRTaWduYWw+
JiYgc2lnbmFsID0gbnVsbHB0cikKKyAgICAgICAgOiBFdmVudExpc3RlbmVyT3B0aW9ucyhjYXB0
dXJlKQorICAgICAgICAsIHBhc3NpdmUocGFzc2l2ZSkKKyAgICAgICAgLCBvbmNlKG9uY2UpCisg
ICAgICAgICwgc2lnbmFsKFdURk1vdmUoc2lnbmFsKSkKKyAgICB7CisgICAgfQorCisgICAgT3B0
aW9uYWw8Ym9vbD4gcGFzc2l2ZTsKKyAgICBib29sIG9uY2UgeyBmYWxzZSB9OworICAgIFJlZlB0
cjxBYm9ydFNpZ25hbD4gc2lnbmFsOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2FlMGEwZWFmOWQ2YjRjZWE0ZTY0Y2NkNjM3ZmQwYmI0MDYzM2I1MQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKQEAg
LTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworZGljdGlvbmFyeSBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA6IEV2ZW50TGlzdGVu
ZXJPcHRpb25zIHsKKyAgICBib29sZWFuIHBhc3NpdmU7CisgICAgYm9vbGVhbiBvbmNlID0gZmFs
c2U7CisgICAgQWJvcnRTaWduYWwgc2lnbmFsOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5l
ci5oCmluZGV4IDlkNmFjZmM5NGIyNjk0NzA0ZTMxMGY4YzYzYjI5Zjg2NTkzN2UzNDkuLjNlNDY3
MWEyZWQwNTljNTllNmMxYWZhMDExMzVhZGEzN2FiNmYyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TGlzdGVuZXIuaApAQCAtMjEsNiArMjEsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewogY2xhc3MgSlNPYmplY3Q7CkBAIC0zMyw3ICszNCw3IEBAIGNsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiBjbGFzcyBFdmVudDsKIGNsYXNzIEV2ZW50VGFyZ2V0OwogCi1jbGFzcyBF
dmVudExpc3RlbmVyIDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRMaXN0ZW5lcj4geworY2xhc3Mg
RXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50TGlzdGVuZXI+LCBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8RXZlbnRMaXN0ZW5lcj4gewogcHVibGljOgogICAgIGVudW0gVHlwZSB7
CiAgICAgICAgIEpTRXZlbnRMaXN0ZW5lclR5cGUsIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlz
dGVuZXJNYXAuY3BwCmluZGV4IDBiMDlkMDgyYzM2ZWRkZDg0YjljZGU5ODgyNTI3MmRiNWY5NmU1
YmQuLmZjMzYzYWUzM2FmOTI3NmZmYzVjYTZhMmI2YjFjZjI3NWJhODAwOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyTWFwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJFdmVudExpc3RlbmVyTWFwLmgiCiAKKyNpbmNsdWRlICJB
ZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAi
RXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDFiNDRiY2UyODVhNjdk
ZWZhYTZmZWU1NmI3YzNkNjI1MDViMTkxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEV2ZW50TGlzdGVuZXJPcHRpb25zIHsKKyAg
ICBFdmVudExpc3RlbmVyT3B0aW9ucyhib29sIGNhcHR1cmUgPSBmYWxzZSkKKyAgICAgICAgOiBj
YXB0dXJlKGNhcHR1cmUpCisgICAgeyB9CisKKyAgICBib29sIGNhcHR1cmUgeyBmYWxzZSB9Owor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExp
c3RlbmVyT3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBiYjk0MjI1Mzg0ODJjNGNjMzc0NjUwNDE2
OTdkMzFjNmVmMzE0YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dExpc3RlbmVyT3B0aW9ucy5pZGwKQEAgLTAsMCArMSwyOCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZGljdGlvbmFyeSBFdmVudExpc3RlbmVy
T3B0aW9ucyB7CisgICAgYm9vbGVhbiBjYXB0dXJlID0gZmFsc2U7Cit9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5jcHAKaW5kZXggMzU0YmVlOTk4OTFiNDhhZGU3ZGVkZTJjZGFkOTkxYmI5YWRm
ZjRkNS4uMzFhODFlYWIxOWZjMmUwMTM5NTViOTZmYThjOTc1MDMyZWMzNGVlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKIAorI2luY2x1ZGUgIkFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0Q29uY3JldGUuaCIKQEAgLTgxLDE5ICs4
MiwyOCBAQCBib29sIEV2ZW50VGFyZ2V0OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAgIGxpc3RlbmVyLT5jaGVja1ZhbGlk
aXR5Rm9yRXZlbnRUYXJnZXQoKnRoaXMpOwogI2VuZGlmCiAKKyAgICBpZiAob3B0aW9ucy5zaWdu
YWwgJiYgb3B0aW9ucy5zaWduYWwtPmFib3J0ZWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CiAgICAgYXV0byBwYXNzaXZlID0gb3B0aW9ucy5wYXNzaXZlOwogCiAgICAgaWYgKCFwYXNzaXZl
Lmhhc1ZhbHVlKCkgJiYgUXVpcmtzOjpzaG91bGRNYWtlRXZlbnRMaXN0ZW5lclBhc3NpdmUoKnRo
aXMsIGV2ZW50VHlwZSwgbGlzdGVuZXIuZ2V0KCkpKQogICAgICAgICBwYXNzaXZlID0gdHJ1ZTsK
IAogICAgIGJvb2wgbGlzdGVuZXJDcmVhdGVkRnJvbVNjcmlwdCA9IGxpc3RlbmVyLT50eXBlKCkg
PT0gRXZlbnRMaXN0ZW5lcjo6SlNFdmVudExpc3RlbmVyVHlwZSAmJiAhbGlzdGVuZXItPndhc0Ny
ZWF0ZWRGcm9tTWFya3VwKCk7Ci0gICAgYXV0byBsaXN0ZW5lclJlZiA9IGxpc3RlbmVyLmNvcHlS
ZWYoKTsKIAotICAgIGlmICghZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkuZXZlbnRMaXN0ZW5lck1h
cC5hZGQoZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgeyBvcHRpb25zLmNhcHR1cmUsIHBh
c3NpdmUudmFsdWVPcihmYWxzZSksIG9wdGlvbnMub25jZSB9KSkKKyAgICBpZiAoIWVuc3VyZUV2
ZW50VGFyZ2V0RGF0YSgpLmV2ZW50TGlzdGVuZXJNYXAuYWRkKGV2ZW50VHlwZSwgbGlzdGVuZXIu
Y29weVJlZigpLCB7IG9wdGlvbnMuY2FwdHVyZSwgcGFzc2l2ZS52YWx1ZU9yKGZhbHNlKSwgb3B0
aW9ucy5vbmNlIH0pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAob3B0aW9ucy5z
aWduYWwpIHsKKyAgICAgICAgb3B0aW9ucy5zaWduYWwtPmFkZEFsZ29yaXRobShbd2Vha1RoaXMg
PSBtYWtlV2Vha1B0cigqdGhpcyksIGV2ZW50VHlwZSwgbGlzdGVuZXIgPSBtYWtlV2Vha1B0cihs
aXN0ZW5lci5nZXQoKSksIGNhcHR1cmUgPSBvcHRpb25zLmNhcHR1cmVdIHsKKyAgICAgICAgICAg
IGlmICh3ZWFrVGhpcyAmJiBsaXN0ZW5lcikKKyAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+cmVt
b3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsICpsaXN0ZW5lciwgY2FwdHVyZSk7CisgICAgICAg
IH0pOworICAgIH0KKwogICAgIGlmIChsaXN0ZW5lckNyZWF0ZWRGcm9tU2NyaXB0KQotICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEFkZEV2ZW50TGlzdGVuZXIoKnRoaXMsIGV2
ZW50VHlwZSwgbGlzdGVuZXJSZWYuZ2V0KCksIG9wdGlvbnMuY2FwdHVyZSk7CisgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQWRkRXZlbnRMaXN0ZW5lcigqdGhpcywgZXZlbnRU
eXBlLCBsaXN0ZW5lci5nZXQoKSwgb3B0aW9ucy5jYXB0dXJlKTsKIAogICAgIGlmIChldmVudE5h
bWVzKCkuaXNXaGVlbEV2ZW50VHlwZShldmVudFR5cGUpKQogICAgICAgICBpbnZhbGlkYXRlRXZl
bnRMaXN0ZW5lclJlZ2lvbnMoKTsKQEAgLTExNiwxMiArMTI2LDEyIEBAIHZvaWQgRXZlbnRUYXJn
ZXQ6OmFkZEV2ZW50TGlzdGVuZXJGb3JCaW5kaW5ncyhjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIFJlZlB0CiAgICAgV1RGOjp2aXNpdCh2aXNpdG9yLCB2YXJpYW50KTsKIH0KIAotdm9pZCBF
dmVudFRhcmdldDo6cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgUmVmUHRyPEV2ZW50TGlzdGVuZXI+JiYgbGlzdGVuZXIsIExpc3RlbmVy
T3B0aW9uc09yQm9vbGVhbiYmIHZhcmlhbnQpCit2b2lkIEV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVu
dExpc3RlbmVyRm9yQmluZGluZ3MoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8
RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lciwgRXZlbnRMaXN0ZW5lck9wdGlvbnNPckJvb2xlYW4m
JiB2YXJpYW50KQogewogICAgIGlmICghbGlzdGVuZXIpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGF1dG8gdmlzaXRvciA9IFdURjo6bWFrZVZpc2l0b3IoWyZdKGNvbnN0IExpc3RlbmVyT3B0aW9u
cyYgb3B0aW9ucykgeworICAgIGF1dG8gdmlzaXRvciA9IFdURjo6bWFrZVZpc2l0b3IoWyZdKGNv
bnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKSB7CiAgICAgICAgIHJlbW92ZUV2ZW50
TGlzdGVuZXIoZXZlbnRUeXBlLCAqbGlzdGVuZXIsIG9wdGlvbnMpOwogICAgIH0sIFsmXShib29s
IGNhcHR1cmUpIHsKICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsICpsaXN0
ZW5lciwgY2FwdHVyZSk7CkBAIC0xMzAsNyArMTQwLDcgQEAgdm9pZCBFdmVudFRhcmdldDo6cmVt
b3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
UmUKICAgICBXVEY6OnZpc2l0KHZpc2l0b3IsIHZhcmlhbnQpOwogfQogCi1ib29sIEV2ZW50VGFy
Z2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZl
bnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKK2Jv
b2wgRXZlbnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZl
bnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZlbnRMaXN0ZW5lck9wdGlv
bnMmIG9wdGlvbnMpCiB7CiAgICAgYXV0byogZGF0YSA9IGV2ZW50VGFyZ2V0RGF0YSgpOwogICAg
IGlmICghZGF0YSkKQEAgLTE3MCw3ICsxODAsNyBAQCBib29sIEV2ZW50VGFyZ2V0OjpzZXRBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHRyPAog
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICByZXR1cm4gYWRkRXZlbnRMaXN0ZW5l
cihldmVudFR5cGUsIGxpc3RlbmVyLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHJldHVybiBhZGRF
dmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSwgeyB9KTsK
IH0KIAogRXZlbnRMaXN0ZW5lciogRXZlbnRUYXJnZXQ6OmF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBET01XcmFwcGVyV29ybGQmIGlzb2xhdGVkV29y
bGQpCkBAIC0zMTksNyArMzI5LDcgQEAgdm9pZCBFdmVudFRhcmdldDo6aW5uZXJJbnZva2VFdmVu
dExpc3RlbmVycyhFdmVudCYgZXZlbnQsIEV2ZW50TGlzdGVuZXJWZWN0b3IgbGkKIAogICAgICAg
ICAvLyBEbyB0aGlzIGJlZm9yZSBpbnZvY2F0aW9uIHRvIGF2b2lkIHJlZW50cmFuY3kgaXNzdWVz
LgogICAgICAgICBpZiAocmVnaXN0ZXJlZExpc3RlbmVyLT5pc09uY2UoKSkKLSAgICAgICAgICAg
IHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQudHlwZSgpLCByZWdpc3RlcmVkTGlzdGVuZXItPmNh
bGxiYWNrKCksIExpc3RlbmVyT3B0aW9ucyhyZWdpc3RlcmVkTGlzdGVuZXItPnVzZUNhcHR1cmUo
KSkpOworICAgICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudC50eXBlKCksIHJlZ2lz
dGVyZWRMaXN0ZW5lci0+Y2FsbGJhY2soKSwgcmVnaXN0ZXJlZExpc3RlbmVyLT51c2VDYXB0dXJl
KCkpOwogCiAgICAgICAgIGlmIChyZWdpc3RlcmVkTGlzdGVuZXItPmlzUGFzc2l2ZSgpKQogICAg
ICAgICAgICAgZXZlbnQuc2V0SW5QYXNzaXZlTGlzdGVuZXIodHJ1ZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5oCmluZGV4IGNmY2IyY2IzNTQwZDQzNDZkNjEwNDJiMzUyZjdiY2E4YWJjNTIzZmMu
LjQwOTU5YjFlNmVlMTUxZjJmN2M2NjdlYTM0NTdhN2JhODcyYzdkOTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5oCkBAIC0zMSw2ICszMSw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IkV2ZW50TGlzdGVuZXJNYXAuaCIKKyNpbmNsdWRlICJFdmVudExpc3RlbmVyT3B0aW9ucy5oIgog
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0SW50ZXJmYWNlcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9y
LmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCkBAIC0zOCw5ICszOSwxMSBAQAogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgogI2luY2x1
ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitzdHJ1Y3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM7CiBjbGFzcyBET01X
cmFwcGVyV29ybGQ7CiAKIHN0cnVjdCBFdmVudFRhcmdldERhdGEgewpAQCAtNTEsNyArNTQsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZpcmluZ0V2ZW50TGlzdGVuZXJzIHsgZmFsc2UgfTsKIH07
CiAKLWNsYXNzIEV2ZW50VGFyZ2V0IDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CitjbGFzcyBF
dmVudFRhcmdldCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBDYW5NYWtlV2Vha1B0
cjxFdmVudFRhcmdldD4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoRXZlbnRUYXJnZXQp
OwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8RXZlbnRUYXJnZXQ+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0Jik7CkBAIC02Miw0MCArNjUsMjEgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
RXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgY29uc3QgPSAwOwogCi0gICAgdmlydHVhbCBib29sIGlzTm9kZSgpIGNvbnN0OwotICAgIHZp
cnR1YWwgYm9vbCBpc1BheW1lbnRSZXF1ZXN0KCkgY29uc3Q7Ci0KLSAgICBzdHJ1Y3QgTGlzdGVu
ZXJPcHRpb25zIHsKLSAgICAgICAgTGlzdGVuZXJPcHRpb25zKGJvb2wgY2FwdHVyZSA9IGZhbHNl
KQotICAgICAgICAgICAgOiBjYXB0dXJlKGNhcHR1cmUpCi0gICAgICAgIHsgfQotCi0gICAgICAg
IGJvb2wgY2FwdHVyZSB7IGZhbHNlIH07Ci0gICAgfTsKLQotICAgIHN0cnVjdCBBZGRFdmVudExp
c3RlbmVyT3B0aW9ucyA6IExpc3RlbmVyT3B0aW9ucyB7Ci0gICAgICAgIEFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zKGJvb2wgY2FwdHVyZSA9IGZhbHNlLCBPcHRpb25hbDxib29sPiBwYXNzaXZlID0g
V1RGOjpudWxsb3B0LCBib29sIG9uY2UgPSBmYWxzZSkKLSAgICAgICAgICAgIDogTGlzdGVuZXJP
cHRpb25zKGNhcHR1cmUpCi0gICAgICAgICAgICAsIHBhc3NpdmUocGFzc2l2ZSkKLSAgICAgICAg
ICAgICwgb25jZShvbmNlKQotICAgICAgICB7IH0KLQotICAgICAgICBPcHRpb25hbDxib29sPiBw
YXNzaXZlOwotICAgICAgICBib29sIG9uY2UgeyBmYWxzZSB9OwotICAgIH07CisgICAgV0VCQ09S
RV9FWFBPUlQgdmlydHVhbCBib29sIGlzTm9kZSgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JU
IHZpcnR1YWwgYm9vbCBpc1BheW1lbnRSZXF1ZXN0KCkgY29uc3Q7CiAKICAgICB1c2luZyBBZGRF
dmVudExpc3RlbmVyT3B0aW9uc09yQm9vbGVhbiA9IFZhcmlhbnQ8QWRkRXZlbnRMaXN0ZW5lck9w
dGlvbnMsIGJvb2w+OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkRXZlbnRMaXN0ZW5lckZv
ckJpbmRpbmdzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+JiYsIEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zT3JCb29sZWFuJiYpOwotICAgIHVzaW5nIExp
c3RlbmVyT3B0aW9uc09yQm9vbGVhbiA9IFZhcmlhbnQ8TGlzdGVuZXJPcHRpb25zLCBib29sPjsK
LSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXJGb3JCaW5kaW5ncyhj
b25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFdmVudExpc3RlbmVyPiYmLCBMaXN0
ZW5lck9wdGlvbnNPckJvb2xlYW4mJik7CisgICAgdXNpbmcgRXZlbnRMaXN0ZW5lck9wdGlvbnNP
ckJvb2xlYW4gPSBWYXJpYW50PEV2ZW50TGlzdGVuZXJPcHRpb25zLCBib29sPjsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXJGb3JCaW5kaW5ncyhjb25zdCBBdG9t
U3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFdmVudExpc3RlbmVyPiYmLCBFdmVudExpc3RlbmVy
T3B0aW9uc09yQm9vbGVhbiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25Pcjxib29s
PiBkaXNwYXRjaEV2ZW50Rm9yQmluZGluZ3MoRXZlbnQmKTsKIAotICAgIFdFQkNPUkVfRVhQT1JU
IHZpcnR1YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlw
ZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJiA9
IHsgfSk7Ci0gICAgdmlydHVhbCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0
cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiA9
IHsgfSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIGFkZEV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3Qg
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIGJv
b2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50
TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYgPSB7IH0pOwogCi0gICAgdmly
dHVhbCB2b2lkIHJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCk7Ci0gICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoRXZlbnQoRXZlbnQmKTsKLSAgICB2aXJ0dWFsIHZvaWQgdW5jYXVnaHRFeGNlcHRpb25J
bkV2ZW50SGFuZGxlcigpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCByZW1vdmVB
bGxFdmVudExpc3RlbmVycygpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaEV2ZW50KEV2ZW50Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHVuY2F1
Z2h0RXhjZXB0aW9uSW5FdmVudEhhbmRsZXIoKTsKIAogICAgIC8vIFVzZWQgZm9yIGxlZ2FjeSAi
b25ldmVudCIgYXR0cmlidXRlcy4KICAgICBib29sIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiwgRE9N
V3JhcHBlcldvcmxkJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbAppbmRleCA1ZmFlMThi
YWRkOWYwNjc4N2FmN2FlZDU3ZmEzNmFmY2YyYTJmMzBlLi4zNjkwZWQ2MDEwZTE0MDYxYTliNjNm
OGVkMTM5ZDQ2MWQ2OWIwM2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwKQEAgLTMy
LDEyICszMiwzIEBACiAgICAgW0ltcGxlbWVudGVkQXM9cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJp
bmRpbmdzXSB1bmRlZmluZWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihbQXRvbVN0cmluZ10gRE9NU3Ry
aW5nIHR5cGUsIEV2ZW50TGlzdGVuZXI/IGNhbGxiYWNrLCBvcHRpb25hbCAoRXZlbnRMaXN0ZW5l
ck9wdGlvbnMgb3IgYm9vbGVhbikgb3B0aW9ucyA9IGZhbHNlKTsKICAgICBbSW1wbGVtZW50ZWRB
cz1kaXNwYXRjaEV2ZW50Rm9yQmluZGluZ3MsIE1heVRocm93RXhjZXB0aW9uXSBib29sZWFuIGRp
c3BhdGNoRXZlbnQoRXZlbnQgZXZlbnQpOwogfTsKLQotZGljdGlvbmFyeSBFdmVudExpc3RlbmVy
T3B0aW9ucyB7Ci0gICAgYm9vbGVhbiBjYXB0dXJlID0gZmFsc2U7Ci19OwotCi1kaWN0aW9uYXJ5
IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIDogRXZlbnRMaXN0ZW5lck9wdGlvbnMgewotICAgIGJv
b2xlYW4gcGFzc2l2ZTsKLSAgICBib29sZWFuIG9uY2UgPSBmYWxzZTsKLX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VQb3J0LmNwcAppbmRleCBiNDE4Mjg1ZGUxZmQwM2NmMTk4ZjFhMThlNzM1OWU4MWI3
ODA2NzkzLi4yMWRkNWYwYjdhZDFiNjA3NDYwNzVkOGY2ZjlmMmZlNDQwNjYwMjMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKQEAgLTEwNCw2ICsxMDQsOSBAQCBNZXNzYWdlUG9ydDo6
TWVzc2FnZVBvcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgY29uc3QgTQogICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoYWxsTWVzc2FnZVBvcnRzTG9jayk7
CiAgICAgYWxsTWVzc2FnZVBvcnRzKCkuc2V0KG1faWRlbnRpZmllciwgdGhpcyk7CiAKKyAgICAv
LyBNYWtlIHN1cmUgdGhlIFdlYWtQdHJGYWN0b3J5IGdldHMgaW5pdGlhbGl6ZWQgZWFnZXJseSBv
biB0aGUgdGhyZWFkIHRoZSBNZXNzYWdlUG9ydCBnZXRzIGNvbnN0cnVjdGVkIG9uIGZvciB0aHJl
YWQtc2FmZXR5IHJlYXNvbnMuCisgICAgaW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KCk7CisKICAg
ICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmNyZWF0ZWRNZXNzYWdlUG9ydCgqdGhpcyk7CiAg
ICAgc3VzcGVuZElmTmVlZGVkKCk7CiAKQEAgLTQxOSw3ICs0MjIsNyBAQCBib29sIE1lc3NhZ2VQ
b3J0OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2
ZW50TGlzdGVuZQogICAgIHJldHVybiBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhOjphZGRFdmVu
dExpc3RlbmVyKGV2ZW50VHlwZSwgV1RGTW92ZShsaXN0ZW5lciksIG9wdGlvbnMpOwogfQogCi1i
b29sIE1lc3NhZ2VQb3J0OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2
ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYg
b3B0aW9ucykKK2Jvb2wgTWVzc2FnZVBvcnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRv
bVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZlbnRM
aXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgYXV0byByZXN1bHQgPSBFdmVudFRhcmdl
dFdpdGhJbmxpbmVEYXRhOjpyZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIs
IG9wdGlvbnMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCmluZGV4IGM2YmY4ZDFlM2VjZWM0
MWVjZjBhYzY2NjA4M2NiN2I2MWJkOGMyYTUuLjliNGNjYmJkNTZkOTFlZGUxZDQ3MDRmN2RjYzBm
NzlmMDQ0NThlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCkBAIC00NSw3ICs0NSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiAKLWNsYXNzIE1lc3NhZ2VQb3J0
IGZpbmFsIDogcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElu
bGluZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZXNzYWdlUG9ydCwgV2Vha1B0ckZhY3Rv
cnlJbml0aWFsaXphdGlvbjo6RWFnZXI+IHsKK2NsYXNzIE1lc3NhZ2VQb3J0IGZpbmFsIDogcHVi
bGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0KTsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKE1lc3NhZ2VQb3J0KTsKIHB1YmxpYzoKQEAgLTk5LDcgKzk5LDcgQEAgcHJpdmF0
ZToKICAgICBleHBsaWNpdCBNZXNzYWdlUG9ydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29u
c3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCwgY29uc3QgTWVzc2FnZVBvcnRJZGVudGlm
aWVyJiByZW1vdGUpOwogCiAgICAgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zJikgZmluYWw7Ci0gICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0aW9u
cyYpIGZpbmFsOworICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYp
IGZpbmFsOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0CiAgICAgY29uc3QgY2hhciogYWN0aXZl
RE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDRjYjI3ZjYw
NzA2ZWQ0MzZiZGM2YmU0NGNhYTc2YWRkYTViODEwOWMuLjBhMzgyNzU1MjA2NmJiNjU2NzM4YzA1
NThmNzlhOTE4YTgyMjM1ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTIxMjgsNyArMjEyOCw3IEBA
IHZvaWQgTm9kZTo6bW92ZU5vZGVUb05ld0RvY3VtZW50KERvY3VtZW50JiBvbGREb2N1bWVudCwg
RG9jdW1lbnQmIG5ld0RvY3VtZW50KQogICAgICAgICBkb3duY2FzdDxFbGVtZW50PigqdGhpcyku
ZGlkTW92ZVRvTmV3RG9jdW1lbnQob2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKIH0KIAotc3Rh
dGljIGlubGluZSBib29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lciwg
Y29uc3QgRXZlbnRUYXJnZXQ6OkFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorc3Rh
dGljIGlubGluZSBib29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lciwg
Y29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKCF0YXJn
ZXROb2RlLT5FdmVudFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVy
LmNvcHlSZWYoKSwgb3B0aW9ucykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIxNjQsNyAr
MjE2NCw3IEBAIGJvb2wgTm9kZTo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmIGxpCiAgICAgcmV0dXJuIHRyeUFkZEV2ZW50
TGlzdGVuZXIodGhpcywgZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgb3B0aW9ucyk7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCB0cnlSZW1vdmVFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdl
dE5vZGUsIGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVu
ZXIsIGNvbnN0IEV2ZW50VGFyZ2V0OjpMaXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCitzdGF0aWMg
aW5saW5lIGJvb2wgdHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25z
dCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBjb25zdCBF
dmVudExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoIXRhcmdldE5vZGUtPkV2
ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIsIG9wdGlv
bnMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTk2LDcgKzIxOTYsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgdHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25z
dCBBdG9tU3RyaW5nJiBldgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIE5vZGU6OnJlbW92
ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVy
JiBsaXN0ZW5lciwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9vbCBOb2RlOjpy
ZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0
ZW5lciYgbGlzdGVuZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQogewog
ICAgIHJldHVybiB0cnlSZW1vdmVFdmVudExpc3RlbmVyKHRoaXMsIGV2ZW50VHlwZSwgbGlzdGVu
ZXIsIG9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggMjllMjhjOWExOTYyN2UwZWQyZjdjZTcy
NzQ3ZjJhNmQ2OWFkMDM2MS4uMzIyYWVlNjBhMDExYzRkYWQyNjg3YjkzN2JlNzc5MzExMzM0M2Iy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5oCkBAIC02OSw3ICs2OSw3IEBAIGNsYXNzIFRvdWNoRXZlbnQ7CiAKIHVz
aW5nIE5vZGVPclN0cmluZyA9IFZhcmlhbnQ8UmVmUHRyPE5vZGU+LCBTdHJpbmc+OwogCi1jbGFz
cyBOb2RlIDogcHVibGljIENhbk1ha2VXZWFrUHRyPE5vZGU+LCBwdWJsaWMgRXZlbnRUYXJnZXQg
eworY2xhc3MgTm9kZSA6IHB1YmxpYyBFdmVudFRhcmdldCB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChOb2RlKTsKIAogICAgIGZyaWVuZCBjbGFzcyBEb2N1bWVudDsKQEAgLTQ0Nyw3ICs0
NDcsNyBAQCBwdWJsaWM6CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFsOyAvLyBJbXBsZW1lbnRlZCBpbiBEb2N1bWVudC5oCiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3QgQWRkRXZlbnRMaXN0ZW5l
ck9wdGlvbnMmKSBvdmVycmlkZTsKLSAgICBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRp
b25zJikgb3ZlcnJpZGU7CisgICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21T
dHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRp
b25zJikgb3ZlcnJpZGU7CiAKICAgICB1c2luZyBFdmVudFRhcmdldDo6ZGlzcGF0Y2hFdmVudDsK
ICAgICB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDk0ZmU0ZjJiYTM0Yzk4YTZhMDViZWFmMzVk
YTc1YmMxOWExYTJmZTYuLjgyMDg5MTZhOTlkOTdlZTM5ODkwYzM4MTY0ZWFkNDE3NDYyNDU4MmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNTc5NSw3ICs1
Nzk1LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
Ym9vbCBIVE1MTWVkaWFFbGVtZW50OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0
aW9ucyYgb3B0aW9ucykKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5l
cihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBj
b25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICNpZiBFTkFCTEUoTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICBpZiAoZXZl
bnRUeXBlID09IGV2ZW50TmFtZXMoKS53ZWJraXRuZWVka2V5RXZlbnQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGM3YmU3MDZkZGZkNzI4ZjVmNTI3ZWVkYzQ1YTQ1
ZmE0ZDg3MzBjZWIuLjEyNDMyYmQ1Yjk2YmI2YzExNjUwMzNhYjNmNzY1YTgxYmVlZjc2NzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC00MDIsNyArNDAyLDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgdm9pZCB3
ZWJraXRTaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoKTsKICAgICBib29sIGFkZEV2ZW50TGlzdGVu
ZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29u
c3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlkZTsKLSAgICBib29sIHJlbW92ZUV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwg
Y29uc3QgTGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CisgICAgYm9vbCByZW1vdmVFdmVudExp
c3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0
IEV2ZW50TGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHdpcmVsZXNzUm91
dGVzQXZhaWxhYmxlRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRXaXJlbGVzc1Bs
YXliYWNrVGFyZ2V0KFJlZjxNZWRpYVBsYXliYWNrVGFyZ2V0PiYmKSBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCmluZGV4IGE1NDZlMWQwNjc1ZTI2NWMzOTgwZmM2
NTdmZDY3OWIzNDVlMjdiZjkuLjQ1MzhjZjc2OTA1MTIwOWNhMzk5MjcyYzBkOWFjODI2MzdmZDFm
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcApAQCAtMjUsNiArMjUsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkltYWdlRG9jdW1lbnQuaCIKIAorI2lu
Y2x1ZGUgIkFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2Uu
aCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZS5oCmluZGV4IGJkOTc2ZTRjMzlmYTUxN2Q1
NjBmNTViOWJjZWFmZDE5ZDMxOWZiZWQuLmI1MDM4MWM1YWRmY2Y2ZjUwZmVkMzVkNGE4OWQxZTc4
MTc1M2QzNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
Q3VlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuaApAQCAt
NjIsNyArNjIsNyBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8VGV4dFRyYWNrQ3VlPiBtX2N1ZTsK
IH07CiAKLWNsYXNzIFRleHRUcmFja0N1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRUcmFja0N1
ZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8VGV4dFRyYWNrQ3VlPiB7CitjbGFzcyBUZXh0VHJhY2tDdWUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxUZXh0VHJhY2tDdWU+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChUZXh0VHJhY2tDdWUpOwogcHVibGljOgogICAgIHN0YXRp
YyBjb25zdCBBdG9tU3RyaW5nJiBjdWVTaGFkb3dQc2V1ZG9JZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCBm
Yjk5MzFkOTE5OTkyZmYxODY4MWE0NWUxNzkxZmI5NmFjZTA4NGVjLi41Y2I1OGI5Yzk5ZDlkNjlh
MGVkYjAzNWU0YmVjZDM0YjkxNmYyNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMzMsNiArMzMsNyBAQAog
CiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0LmgiCisjaW5jbHVkZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRl
ICJBdHRyLmgiCiAjaW5jbHVkZSAiQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5j
bHVkZSAiQ1NTUGFyc2VyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaAppbmRleCBkMDlkMmU0NzZjNTI2ZWFiMmEyNzU3YWFh
MWViOTAyMDE0MTlmZWNjLi5hZTE4NmFlZWZlNDI5OWNjYWUzZDk2ODQzYmQ1YTBkZWI1YTNiODM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRp
b25DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNh
dGlvbkNhY2hlLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
QXBwbGljYXRpb25DYWNoZUhvc3Q7CiBjbGFzcyBGcmFtZTsKIAotY2xhc3MgRE9NQXBwbGljYXRp
b25DYWNoZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUFwcGxpY2F0aW9uQ2FjaGU+LCBw
dWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5
LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8RE9NQXBwbGljYXRpb25DYWNoZT4geworY2xhc3MgRE9N
QXBwbGljYXRpb25DYWNoZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUFwcGxpY2F0aW9u
Q2FjaGU+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIERPTVdpbmRv
d1Byb3BlcnR5IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKERPTUFwcGxpY2F0aW9uQ2Fj
aGUpOwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8RE9NQXBwbGljYXRpb25DYWNoZT4gY3JlYXRl
KERPTVdpbmRvdyYgd2luZG93KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTUFwcGxpY2F0aW9u
Q2FjaGUod2luZG93KSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA3NjVhYzQ3
MWZmZjlkNTM0YTliZmY5MWE5YjNlMTlhYjhiYmUyNDI0Li43MzY4NGI0ZTJlYTk3ODUxODE5NjY3
YmU2ODQ5YzU5MzY3NDkyZGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yMTQ1
LDcgKzIxNDUsNyBAQCB2b2lkIERPTVdpbmRvdzo6cmVzZXRBbGxHZW9sb2NhdGlvblBlcm1pc3Np
b24oKQogI2VuZGlmCiB9CiAKLWJvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKGNv
bnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0
IExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKK2Jvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVudExp
c3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVu
ZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQogewogICAgIGlmICghRXZl
bnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9u
cy5jYXB0dXJlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgK
aW5kZXggYWMyNzg0Zjg5NzdkMTFhODE3ZTMyOTk2MmJmZjA1NjMxNjFkNGIwYS4uMGUzNTExN2Y1
YWQ4YWI4ZmRkZjRkZGY2NjY5MDE3YzAxZjg5YzQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5o
CkBAIC0xMTEsNyArMTExLDYgQEAgc3RydWN0IFdpbmRvd1Bvc3RNZXNzYWdlT3B0aW9ucyA6IHB1
YmxpYyBQb3N0TWVzc2FnZU9wdGlvbnMgewogLy8gRklYTUU6IFJlbmFtZSBET01XaW5kb3cgdG8g
TG9jYWxXaW5kb3cgYW5kIEFic3RyYWN0RE9NV2luZG93IHRvIERPTVdpbmRvdy4KIGNsYXNzIERP
TVdpbmRvdyBmaW5hbAogICAgIDogcHVibGljIEFic3RyYWN0RE9NV2luZG93Ci0gICAgLCBwdWJs
aWMgQ2FuTWFrZVdlYWtQdHI8RE9NV2luZG93PgogICAgICwgcHVibGljIENvbnRleHREZXN0cnVj
dGlvbk9ic2VydmVyCiAgICAgLCBwdWJsaWMgQmFzZTY0VXRpbGl0aWVzCiAgICAgLCBwdWJsaWMg
U3VwcGxlbWVudGFibGU8RE9NV2luZG93PiB7CkBAIC0zMTQsNyArMzEzLDcgQEAgcHVibGljOgog
ICAgIC8vIEV2ZW50cwogICAgIC8vIEV2ZW50VGFyZ2V0IEFQSQogICAgIGJvb2wgYWRkRXZlbnRM
aXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYm
LCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYpIGZpbmFsOwotICAgIGJvb2wgcmVtb3Zl
RXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIm
LCBjb25zdCBMaXN0ZW5lck9wdGlvbnMmKSBmaW5hbDsKKyAgICBib29sIHJlbW92ZUV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3Qg
RXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBmaW5hbDsKICAgICB2b2lkIHJlbW92ZUFsbEV2ZW50TGlz
dGVuZXJzKCkgZmluYWw7CiAKICAgICB1c2luZyBFdmVudFRhcmdldDo6ZGlzcGF0Y2hFdmVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KaW5kZXggNWU2MDFkMzdhNTdlMzgzOWM4
YmNjNWJjNWEzYjFkNDU0MTQwMTEzNS4uMTA1MmJlNzBhMzc4ZTg0N2QzYWUyOTk0NjRhMzExMzRi
Yjc4NmI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJh
Y2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIEVO
QUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkpCiAKKyNpbXBvcnQgIkFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zLmgiCiAjaW1wb3J0ICJBdWRpb1RyYWNrTGlzdC5oIgogI2ltcG9ydCAiRXZlbnQu
aCIKICNpbXBvcnQgIkV2ZW50TGlzdGVuZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1vZGVsVmlkZW9FbGVtZW50Lm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRlb0VsZW1l
bnQubW0KaW5kZXggNGNhNGMyY2JjNjBkMGEzNTRjNWIzNGE2NjMzZTZiZTc4NDU4MjcxMi4uNzMx
YTlmZmZkNmQ2ZWFjNjQxOTI5MTQ5MWFmYTUzNTkwMjE5M2Q5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRlb0VsZW1lbnQu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9k
ZWxWaWRlb0VsZW1lbnQubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShWSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkKIAorI2ltcG9ydCAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIK
ICNpbXBvcnQgIkRPTVdpbmRvdy5oIgogI2ltcG9ydCAiRXZlbnQuaCIKICNpbXBvcnQgIkV2ZW50
TGlzdGVuZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBjYWFjNTU3ODMyMjA3
NDk1MGU0OGI1NDU5MWNiOTlmNWYxNzY5OGY5Li5kNDgwZTVmNmFlMDcyMjU3ODlhMjFiMDU0OGNi
MzY2NDA3MDUxZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC0zODEsNyArMzgx
LDcgQEAgYm9vbCBTVkdFbGVtZW50OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcm
IGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9v
bCBTVkdFbGVtZW50OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50
VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYgb3B0
aW9ucykKK2Jvb2wgU1ZHRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3Ry
aW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBjb25zdCBFdmVudExpc3Rl
bmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkK
ICAgICAgICAgcmV0dXJuIE5vZGU6OnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0
ZW5lciwgb3B0aW9ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAppbmRleCBhZTZjMDc2NWY0M2Qy
MjMwZDQ1ODliYzA2ZTA4YzA5ODRmOTg3NzM0Li5hODRjOWJmNzJmNzE1MTk0YTkzNjE4ZjAyZGI1
ZjgzZDNjN2I4ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKQEAgLTExMiw3ICsxMTIsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGhhdmVMb2FkZWRSZXF1aXJlZFJlc291cmNlcygp
OwogCiAgICAgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlw
ZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJikg
b3ZlcnJpZGU7Ci0gICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcm
IGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYpIG92ZXJy
aWRlOworICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVu
dFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYpIG92ZXJy
aWRlOwogCiAgICAgYm9vbCBoYXNUYWdOYW1lKGNvbnN0IFNWR1F1YWxpZmllZE5hbWUmIG5hbWUp
IGNvbnN0IHsgcmV0dXJuIGhhc0xvY2FsTmFtZShuYW1lLmxvY2FsTmFtZSgpKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcAppbmRleCAxMzI5MmJjNmNjNTAwMzFkOTg1NDcx
OGVlNGFkNGFiYTM3MjNhZGZhLi43NjlhYTFhMTJkZmVjYjk1ZTg2YzYxODkyMDBjMWQ3ZWI2Mjg2
NjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAKQEAgLTIzLDYgKzIzLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdUUmVmRWxlbWVudC5oIgogCisj
aW5jbHVkZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJFdmVudExpc3Rl
bmVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIk11dGF0aW9uRXZlbnQu
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAK
aW5kZXggMDQzMjEyOGM5ODEyZTk1YjYwZWM3MTdhNmU4Zjc5NTllOWZjNDJhYi4uNjgxOTFiOTRh
NDAwMTA1ZmIyNmExNjkyZTZmMDJkYjU3OGNiYWVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdTTUlMRWxlbWVudC5oIgogCisjaW5jbHVkZSAi
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGZlNzIwZTkzNWVlOWYzMmFjYzdkOGQ4ZWNiNWY1MzFh
Y2IxZDlmMjEuLjdlZmQ2OGY2Zjg2NzI2Y2FjYjY1OWYwNDY1MjBjZjRkMWI1YTVjZGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1
ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY3Rpdml0eVN0YXRlLmgiCisjaW5jbHVk
ZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJBbmltYXRpb25UaW1lbGlu
ZS5oIgogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiQXVk
aW9TZXNzaW9uLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAppbmRleCA1YzRiOTcwMmM0MGJhNThhMWU2YmM5NWVm
ZDA2N2YwODk4OTk5NzAwLi5lYmJlOTVlODkyNGM4ZjFkNzM3NTI1ZGVhMTYzMGIxZmFkNTZmYjI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJBZGRFdmVu
dExpc3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAi
SURMVHlwZXMuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvRE9NL0dP
YmplY3RFdmVudExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2d0ay9ET00vR09iamVjdEV2ZW50TGlzdGVuZXIuaAppbmRleCBiZTIzM2MzYzAx
ZmI0ZWEwNmNhODY0NDkzYWNkNWUyOGFiNGEzNTU2Li45MTdlZDg2ZDg3OGRmYjNmMTc3MzUxYzZk
ZjM4ZGFkNjg4ODE2YmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2d0ay9ET00vR09iamVjdEV2ZW50TGlzdGVuZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9ET00vR09iamVjdEV2
ZW50TGlzdGVuZXIuaApAQCAtMTgsNiArMTgsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1
ZGUgPFdlYkNvcmUvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0V2ZW50TGlzdGVuZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0V2ZW50VGFyZ2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1BsdWdpbnMvUERGL1BERlBsdWdpbkFubm90YXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luQW5ub3RhdGlvbi5tbQppbmRleCBiYjA5ZWQzODQz
ZmRiMTUwY2JkZTEwYzEzOThlYzE1MjdkYTY5Yjk5Li5jYWVmM2UxOTAwYzI4M2MxYjM2MDUzOTQx
MjI4ZWUwZTcxNmQ2NzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luQW5ub3RhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luQW5ub3RhdGlvbi5tbQpAQCAtMzQsNiArMzQsNyBA
QAogI2ltcG9ydCAiUERGUGx1Z2luQ2hvaWNlQW5ub3RhdGlvbi5oIgogI2ltcG9ydCAiUERGUGx1
Z2luVGV4dEFubm90YXRpb24uaCIKICNpbXBvcnQgPFF1YXJ0ei9RdWFydHouaD4KKyNpbXBvcnQg
PFdlYkNvcmUvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ1NT
UHJpbWl0aXZlVmFsdWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5oPgog
I2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvRE9NL0RPTU5vZGUubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9N
Tm9kZS5tbQppbmRleCAyY2Q5YjMzMWFlYThmMTBmN2Y5MTE0YzQ0YTExY2RhM2Q4Y2U4MWFkLi41
ZDE0YmExNDk2ZTI5NGQyNTYxNjJmODM4MmEzMWVjMDgyYjYzZGYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NTm9kZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9ET00vRE9NTm9kZS5tbQpAQCAtMzMsNiArMzMsNyBAQAogI2ltcG9ydCAiRE9NTm9k
ZUxpc3RJbnRlcm5hbC5oIgogI2ltcG9ydCAiRXhjZXB0aW9uSGFuZGxlcnMuaCIKICNpbXBvcnQg
Ik9iakNFdmVudExpc3RlbmVyLmgiCisjaW1wb3J0IDxXZWJDb3JlL0FkZEV2ZW50TGlzdGVuZXJP
cHRpb25zLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUltcGxlbWVudGF0aW9uLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0VsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSlNFeGVjU3RhdGUuaD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDIzMTZlZDYyM2Q0ODZhZDY5NzE1ZjNhYjdm
MmRlYWNlNTY2NjYwNDkuLjM4YWQzMjhmNTUzM2Y5MDFkMzg5ZTBhNjY1MmJiMDhkM2U1MGJmMjIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTAx
LTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBB
Ym9ydFNpZ25hbCBpbiBhZGRFdmVudExpc3RlbmVyT3B0aW9ucyB0byB1bnN1YnNjcmliZSBmcm9t
IGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE4NzUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI1ODAxMj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBvcnQgdGVzdCBjb3ZlcmFnZSBm
cm9tIFdQVC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2
ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9u
cy1zaWduYWwuYW55Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkuanM6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJP
cHRpb25zLXNpZ25hbC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2ln
bmFsLmFueS53b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvdzNjLWltcG9ydC5sb2c6CisKIDIwMjEtMDEtMjIgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtb3JlIGRlc2NyaXB0aXZlIG1lc3Nh
Z2VzIHRvIHNldExvY2FsRGVzY3JpcHRpb24vc2V0UmVtb3RlRGVzY3JpcHRpb24gZXJyb3IgY2Fz
ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lZTM5Y2U1MWEzMzI3MDM4OGIyZTgxMTg2NDAyZGM3YTAxY2I2Njk4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTEgQEAKKworUEFTUyBQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2
ZW50TGlzdGVuZXIgb3B0aW9ucyBzaG91bGQgYWxsb3cgcmVtb3ZpbmcgYSBsaXN0ZW5lcgorUEFT
UyBQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgZG9lcyBub3QgcHJl
dmVudCByZW1vdmVFdmVudExpc3RlbmVyCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8g
YWRkRXZlbnRMaXN0ZW5lciB3b3JrcyB3aXRoIHRoZSBvbmNlIGZsYWcKK1BBU1MgUmVtb3Zpbmcg
YSBvbmNlIGxpc3RlbmVyIHdvcmtzIHdpdGggYSBwYXNzZWQgc2lnbmFsCitQQVNTIFBhc3Npbmcg
YW4gQWJvcnRTaWduYWwgdG8gbXVsdGlwbGUgbGlzdGVuZXJzCitQQVNTIFBhc3NpbmcgYW4gQWJv
cnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciB3b3JrcyB3aXRoIHRoZSBjYXB0dXJlIGZsYWcK
K1BBU1MgQWJvcnRpbmcgZnJvbSBhIGxpc3RlbmVyIGRvZXMgbm90IGNhbGwgZnV0dXJlIGxpc3Rl
bmVycworUEFTUyBBZGRpbmcgdGhlbiBhYm9ydGluZyBhIGxpc3RlbmVyIGluIGFub3RoZXIgbGlz
dGVuZXIgZG9lcyBub3QgY2FsbCBpdAorUEFTUyBBYm9ydGluZyBmcm9tIGEgbmVzdGVkIGxpc3Rl
bmVyIHNob3VsZCByZW1vdmUgaXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25z
LXNpZ25hbC5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55Lmh0bWwKQEAg
LTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGlu
ZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5h
bnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
Mjg3MTA2MWYzYjkxNjdjZmEyOGU1MzZiODYwODg0NDY4NDQyN2Q2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkuanMKQEAgLTAsMCArMSwxMzMgQEAK
Kyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgbGV0IGNvdW50ID0gMDsKKyAg
ZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAgICBjb3VudCsrOworICB9CisgIGNvbnN0IGV0ID0gbmV3
IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVy
KCk7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoYW5kbGVyLCB7IHNpZ25hbDogY29u
dHJvbGxlci5zaWduYWwgfSk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0Jykp
OworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAxLCAiQWRkaW5nIGEgc2lnbmFsIHN0aWxsIGFkZHMg
YSBsaXN0ZW5lciIpOworICBldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgndGVzdCcpKTsKKyAg
YXNzZXJ0X2VxdWFscyhjb3VudCwgMiwgIlRoZSBsaXN0ZW5lciB3YXMgbm90IGFkZGVkIHdpdGgg
dGhlIG9uY2UgZmxhZyIpOworICBjb250cm9sbGVyLmFib3J0KCk7CisgIGV0LmRpc3BhdGNoRXZl
bnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAyLCAiQWJvcnRp
bmcgb24gdGhlIGNvbnRyb2xsZXIgcmVtb3ZlcyB0aGUgbGlzdGVuZXIiKTsKKyAgZXQuYWRkRXZl
bnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9
KTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVh
bHMoY291bnQsIDIsICJQYXNzaW5nIGFuIGFib3J0ZWQgc2lnbmFsIG5ldmVyIGFkZHMgdGhlIGhh
bmRsZXIiKTsKK30sICJQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIg
b3B0aW9ucyBzaG91bGQgYWxsb3cgcmVtb3ZpbmcgYSBsaXN0ZW5lciIpOworCit0ZXN0KGZ1bmN0
aW9uKCkgeworICBsZXQgY291bnQgPSAwOworICBmdW5jdGlvbiBoYW5kbGVyKCkgeworICAgIGNv
dW50Kys7CisgIH0KKyAgY29uc3QgZXQgPSBuZXcgRXZlbnRUYXJnZXQoKTsKKyAgY29uc3QgY29u
dHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcign
dGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTsKKyAgZXQucmVt
b3ZlRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIpOworICBldC5kaXNwYXRjaEV2ZW50KG5l
dyBFdmVudCgndGVzdCcpKTsKKyAgYXNzZXJ0X2VxdWFscyhjb3VudCwgMCwgIlRoZSBsaXN0ZW5l
ciB3YXMgc3RpbGwgcmVtb3ZlZCIpOworfSwgIlBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRk
RXZlbnRMaXN0ZW5lciBkb2VzIG5vdCBwcmV2ZW50IHJlbW92ZUV2ZW50TGlzdGVuZXIiKTsKKwor
dGVzdChmdW5jdGlvbigpIHsKKyAgbGV0IGNvdW50ID0gMDsKKyAgZnVuY3Rpb24gaGFuZGxlcigp
IHsKKyAgICBjb3VudCsrOworICB9CisgIGNvbnN0IGV0ID0gbmV3IEV2ZW50VGFyZ2V0KCk7Cisg
IGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgIGV0LmFkZEV2ZW50
TGlzdGVuZXIoJ3Rlc3QnLCBoYW5kbGVyLCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsIG9u
Y2U6IHRydWUgfSk7CisgIGNvbnRyb2xsZXIuYWJvcnQoKTsKKyAgZXQuZGlzcGF0Y2hFdmVudChu
ZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQsIDAsICJUaGUgbGlzdGVu
ZXIgd2FzIHN0aWxsIHJlbW92ZWQiKTsKK30sICJQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFk
ZEV2ZW50TGlzdGVuZXIgd29ya3Mgd2l0aCB0aGUgb25jZSBmbGFnIik7CisKK3Rlc3QoZnVuY3Rp
b24oKSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7CisgICAgY291
bnQrKzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVudFRhcmdldCgpOworICBjb25zdCBjb250
cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOworICBldC5hZGRFdmVudExpc3RlbmVyKCd0
ZXN0JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLCBvbmNlOiB0cnVlIH0p
OworICBldC5yZW1vdmVFdmVudExpc3RlbmVyKCd0ZXN0JywgaGFuZGxlcik7CisgIGV0LmRpc3Bh
dGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAwLCAi
VGhlIGxpc3RlbmVyIHdhcyBzdGlsbCByZW1vdmVkIik7Cit9LCAiUmVtb3ZpbmcgYSBvbmNlIGxp
c3RlbmVyIHdvcmtzIHdpdGggYSBwYXNzZWQgc2lnbmFsIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7
CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7CisgICAgY291bnQrKzsK
KyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVudFRhcmdldCgpOworICBjb25zdCBjb250cm9sbGVy
ID0gbmV3IEFib3J0Q29udHJvbGxlcigpOworICBldC5hZGRFdmVudExpc3RlbmVyKCdmaXJzdCcs
IGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCwgb25jZTogdHJ1ZSB9KTsKKyAg
ZXQuYWRkRXZlbnRMaXN0ZW5lcignc2Vjb25kJywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xs
ZXIuc2lnbmFsLCBvbmNlOiB0cnVlIH0pOworICBjb250cm9sbGVyLmFib3J0KCk7CisgIGV0LmRp
c3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmaXJzdCcpKTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcg
RXZlbnQoJ3NlY29uZCcpKTsKKyAgYXNzZXJ0X2VxdWFscyhjb3VudCwgMCwgIlRoZSBsaXN0ZW5l
ciB3YXMgc3RpbGwgcmVtb3ZlZCIpOworfSwgIlBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gbXVs
dGlwbGUgbGlzdGVuZXJzIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBjb3VudCA9IDA7
CisgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7CisgICAgY291bnQrKzsKKyAgfQorICBjb25zdCBldCA9
IG5ldyBFdmVudFRhcmdldCgpOworICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJv
bGxlcigpOworICBldC5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgaGFuZGxlciwgeyBzaWduYWw6
IGNvbnRyb2xsZXIuc2lnbmFsLCBjYXB0dXJlOiB0cnVlIH0pOworICBjb250cm9sbGVyLmFib3J0
KCk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3NlcnRfZXF1
YWxzKGNvdW50LCAwLCAiVGhlIGxpc3RlbmVyIHdhcyBzdGlsbCByZW1vdmVkIik7Cit9LCAiUGFz
c2luZyBhbiBBYm9ydFNpZ25hbCB0byBhZGRFdmVudExpc3RlbmVyIHdvcmtzIHdpdGggdGhlIGNh
cHR1cmUgZmxhZyIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBsZXQgY291bnQgPSAwOworICBm
dW5jdGlvbiBoYW5kbGVyKCkgeworICAgIGNvdW50Kys7CisgIH0KKyAgY29uc3QgZXQgPSBuZXcg
RXZlbnRUYXJnZXQoKTsKKyAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIo
KTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsICgpID0+IHsKKyAgICBjb250cm9sbGVy
LmFib3J0KCk7CisgIH0sIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTsKKyAgZXQuYWRk
RXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25h
bCB9KTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9l
cXVhbHMoY291bnQsIDAsICJUaGUgbGlzdGVuZXIgd2FzIHN0aWxsIHJlbW92ZWQiKTsKK30sICJB
Ym9ydGluZyBmcm9tIGEgbGlzdGVuZXIgZG9lcyBub3QgY2FsbCBmdXR1cmUgbGlzdGVuZXJzIik7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0aW9uIGhhbmRs
ZXIoKSB7CisgICAgY291bnQrKzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVudFRhcmdldCgp
OworICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOworICBldC5hZGRF
dmVudExpc3RlbmVyKCd0ZXN0JywgKCkgPT4geworICAgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ3Rl
c3QnLCBoYW5kbGVyLCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgfSk7CisgICAgY29udHJv
bGxlci5hYm9ydCgpOworICB9LCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgfSk7CisgIGV0
LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50
LCAwLCAiVGhlIGxpc3RlbmVyIHdhcyBzdGlsbCByZW1vdmVkIik7Cit9LCAiQWRkaW5nIHRoZW4g
YWJvcnRpbmcgYSBsaXN0ZW5lciBpbiBhbm90aGVyIGxpc3RlbmVyIGRvZXMgbm90IGNhbGwgaXQi
KTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgY29uc3QgZXQgPSBuZXcgRXZlbnRUYXJnZXQoKTsK
KyAgY29uc3QgYWMgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgIGxldCBjb3VudCA9IDA7Cisg
IGV0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvbycsICgpID0+IHsKKyAgICBldC5hZGRFdmVudExpc3Rl
bmVyKCdmb28nLCAoKSA9PiB7CisgICAgICBjb3VudCsrOworICAgICAgaWYgKGNvdW50ID4gNSkg
YWMuYWJvcnQoKTsKKyAgICAgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmb28nKSk7Cisg
ICAgfSwgeyBzaWduYWw6IGFjLnNpZ25hbCB9KTsKKyAgICBldC5kaXNwYXRjaEV2ZW50KG5ldyBF
dmVudCgnZm9vJykpOworICB9LCB7IG9uY2U6IHRydWUgfSk7CisgIGV0LmRpc3BhdGNoRXZlbnQo
bmV3IEV2ZW50KCdmb28nKSk7Cit9LCAiQWJvcnRpbmcgZnJvbSBhIG5lc3RlZCBsaXN0ZW5lciBz
aG91bGQgcmVtb3ZlIGl0Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2ln
bmFsLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25h
bC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTM5Y2U1MWEzMzI3MDM4OGIy
ZTgxMTg2NDAyZGM3YTAxY2I2Njk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJP
cHRpb25zLXNpZ25hbC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACisK
K1BBU1MgUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0byBhZGRFdmVudExpc3RlbmVyIG9wdGlvbnMg
c2hvdWxkIGFsbG93IHJlbW92aW5nIGEgbGlzdGVuZXIKK1BBU1MgUGFzc2luZyBhbiBBYm9ydFNp
Z25hbCB0byBhZGRFdmVudExpc3RlbmVyIGRvZXMgbm90IHByZXZlbnQgcmVtb3ZlRXZlbnRMaXN0
ZW5lcgorUEFTUyBQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgd29y
a3Mgd2l0aCB0aGUgb25jZSBmbGFnCitQQVNTIFJlbW92aW5nIGEgb25jZSBsaXN0ZW5lciB3b3Jr
cyB3aXRoIGEgcGFzc2VkIHNpZ25hbAorUEFTUyBQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIG11
bHRpcGxlIGxpc3RlbmVycworUEFTUyBQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50
TGlzdGVuZXIgd29ya3Mgd2l0aCB0aGUgY2FwdHVyZSBmbGFnCitQQVNTIEFib3J0aW5nIGZyb20g
YSBsaXN0ZW5lciBkb2VzIG5vdCBjYWxsIGZ1dHVyZSBsaXN0ZW5lcnMKK1BBU1MgQWRkaW5nIHRo
ZW4gYWJvcnRpbmcgYSBsaXN0ZW5lciBpbiBhbm90aGVyIGxpc3RlbmVyIGRvZXMgbm90IGNhbGwg
aXQKK1BBU1MgQWJvcnRpbmcgZnJvbSBhIG5lc3RlZCBsaXN0ZW5lciBzaG91bGQgcmVtb3ZlIGl0
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55Lndvcmtlci5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29ya2VyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55Lndvcmtlci5odG1sCkBA
IC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBp
bmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy93M2MtaW1wb3J0LmxvZwpp
bmRleCAyN2RiYWNhYzc2MGZmZWVjMzA0YWVmMmE4NDgxNWQ1MWY1ODQ5NmY3Li40YTQzOTk2YTE4
NWY0ZjA0ZjAwMWZlNzAxZDA1NmU5MzQ1MDQ3MTFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvdzNjLWltcG9ydC5sb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL3czYy1pbXBvcnQubG9nCkBAIC0xNiw2ICsxNiw3IEBAIE5vbmUKIExpc3Qgb2YgZmlsZXM6
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLW9uY2UuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9u
cy1wYXNzaXZlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS5qcwogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9DdXN0
b21FdmVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL0V2ZW50LWNhbmNlbEJ1YmJsZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWNvbnN0YW50cy5odG1s
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418202</attachid>
            <date>2021-01-22 17:59:37 -0800</date>
            <delta_ts>2021-01-25 09:07:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218753-20210122175936.patch</filename>
            <type>text/plain</type>
            <size>84952</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiODYyNDAzMzNkNDE0N2QzYTk5NTRl
MTEzOWYwMTFjMTljZDczYmYuLmExMmY3OGQyZjlmNjQzOWUxOTA4YTJkNTYwODgyYTNlYjJhZWU3
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IEFib3J0U2lnbmFsIGluIGFkZEV2ZW50TGlz
dGVuZXJPcHRpb25zIHRvIHVuc3Vic2NyaWJlIGZyb20gZXZlbnRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg3NTMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzcxMjU4MDEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBpbml0aWFsaXplV2Vha1B0ckZhY3RvcnkoKSBwcm90ZWN0aW9uIGZ1bmN0
aW9uIHRvIENhbk1ha2VXZWFrUHRyIHNvIHRoYXQgYSBzdWJjbGFzcworICAgICAgICBjYW4gZWFn
ZXJseSBpbml0aWFsaXplIHRoZSBXZWFrUHRyRmFjdG9yeSBldmVuIGlmIGl0IGRvZXMgbm90IHN1
YmNsYXNzCisgICAgICAgIFdlYWtQdHJGYWN0b3J5PFQsIFdlYWtQdHJGYWN0b3J5SW5pdGlhbGl6
YXRpb246OkVhZ2VyPi4gTWVzc2FnZVBvcnQgdXNlZCB0byBzdWJjbGFzcworICAgICAgICBXZWFr
UHRyRmFjdG9yeTxULCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpFYWdlcj4gZm9yIHRo
cmVhZC1zYWZldHkgcmVhc29uIGJ1dCBpdAorICAgICAgICBub3cgc3ViY2xhc3NlcyBXZWFrUHRy
RmFjdG9yeTxULCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpMYXp5PiB2aWEgRXZlbnRU
YXJnZXQuCisKKyAgICAgICAgKiB3dGYvV2Vha1B0ci5oOgorICAgICAgICAoV1RGOjpDYW5NYWtl
V2Vha1B0cjo6aW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KToKKwogMjAyMS0wMS0yMSAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYXR0ZW1wdCB0
byBmaXggV2F0Y2hPUyBidWlsZCBhZnRlciByMjcxNjczLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhmMzdmM2Qx
YjhmNjViMjEwMmUwNDdjMDQ0MzM0NDI1YmViMzRiNjQuLmM0ZGMwMjIyOThhMWQ0OWVkNWVjNzAy
NmI0NmE4ZDA5NzMzMjU0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OSBAQAorMjAyMS0wMS0y
MiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgQWJv
cnRTaWduYWwgaW4gYWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgdG8gdW5zdWJzY3JpYmUgZnJvbSBl
dmVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
ODc1MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNTgwMTI+CisKKyAgICAgICAgU3VwcG9y
dCBBYm9ydFNpZ25hbCBpbiBhZGRFdmVudExpc3RlbmVyT3B0aW9ucyB0byB1bnN1YnNjcmliZSBm
cm9tIGV2ZW50czoKKyAgICAgICAgLSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1
ZXMvOTExCisgICAgICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9kb20vcHVsbC85MTkK
KworICAgICAgICBCbGluayBhbHJlYWR5IGFkZGVkIHN1cHBvcnQgZm9yIHRoaXMuCisKKyAgICAg
ICAgQWRkRXZlbnRMaXN0ZW5lcl9BYm9ydFNpZ25hbAorCisgICAgICAgIFRlc3RzOiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMtc2lnbmFsLmFueS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53
b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAq
IEhlYWRlcnMuY21ha2U6CisgICAgICAgICogTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJv
YXJkLmg6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
aDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0Lmg6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaDoKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVj
aFJlY29nbml0aW9uLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250
ZXh0Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmg6CisgICAgICAg
ICogTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oOgorICAgICAgICAqIFNvdXJjZXMudHh0Ogor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBh
bmltYXRpb24vV2ViQW5pbWF0aW9uLmg6CisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIpOgorICAgICAgICAq
IGNzcy9NZWRpYVF1ZXJ5TGlzdC5oOgorICAgICAgICAqIGRvbS9BYm9ydFNpZ25hbC5oOgorICAg
ICAgICAqIGRvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oLgorICAgICAgICAo
V2ViQ29yZTo6QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM6OkFkZEV2ZW50TGlzdGVuZXJPcHRpb25z
KToKKyAgICAgICAgKiBkb20vQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oLgor
ICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyLmg6CisgICAgICAgICogZG9tL0V2ZW50TGlzdGVu
ZXJNYXAuY3BwOgorICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyT3B0aW9ucy5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5o
LgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMaXN0ZW5lck9wdGlvbnM6OkV2ZW50TGlzdGVuZXJP
cHRpb25zKToKKyAgICAgICAgKiBkb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5o
LgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudFRhcmdl
dDo6cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
VGFyZ2V0OjpzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50VGFyZ2V0Ojppbm5lckludm9rZUV2ZW50TGlzdGVuZXJzKToKKyAgICAgICAgKiBkb20vRXZl
bnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExp
c3RlbmVyKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaWRsOgorICAgICAgICAqIGRvbS9N
ZXNzYWdlUG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZXNzYWdlUG9ydDo6TWVzc2FnZVBv
cnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZVBvcnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIp
OgorICAgICAgICAqIGRvbS9NZXNzYWdlUG9ydC5oOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRyeUFkZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6dHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpyZW1v
dmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAqIGh0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50
OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0ltYWdlRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGh0bWwvdHJh
Y2svVGV4dFRyYWNrQ3VlLmg6CisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JE
T01BZ2VudC5jcHA6CisgICAgICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2Fj
aGUuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93
Lmg6CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVs
ZW1lbnQubW06CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxW
aWRlb0VsZW1lbnQubW06CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogc3Zn
L1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVFJlZkVsZW1lbnQuY3BwOgorICAgICAg
ICAqIHN2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1lbnQuY3BwOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5oOgorCiAyMDIxLTAxLTIyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgQXZvaWQgZHVwbGljYXRlIGNhbGN1bGF0aW9ucyBpbiBSZW5kZXJCbG9jazo6Y29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzYwOWU5Nzk5OGMxN2FmYTYz
N2I1YzEzNTFlZjNiMjRlMDE0YmM5NC4uNDIxY2M4YzhkNmVhYjcxZmJjNWUwMDc0NWM1NmY1NDlm
ZTdhYTE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0yMiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgQWJvcnRTaWduYWwgaW4g
YWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgdG8gdW5zdWJzY3JpYmUgZnJvbSBldmVudHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzEyNTgwMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWlub3IgYnVpbGQgZml4ZXMuCisKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL1BERlBsdWdpbkFubm90YXRpb24ubW06CisKIDIwMjEtMDEtMjIg
IEppZXdlbiBUYW4gIDxqaWV3ZW5fdGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViQXV0aG5d
IE5vIGVycm9yIGlzIHZpc2libGUgYWZ0ZXIgdXNlciBlbnRlcnMgdGhlIGluY29ycmVjdCBQSU4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBiMWM0ZjBhN2E1NzMzMWFjNWI5NDVjMmQ5
ZDdjZTFkMDUyZWVkMDI5Li5iNzVhZmM2NGI5MGNlZjI0NjBhN2JhZDkwZWI2YTQxMWM4ZTdkNWM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDEt
MjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IEFi
b3J0U2lnbmFsIGluIGFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHRvIHVuc3Vic2NyaWJlIGZyb20g
ZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTg3NTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMjU4MDEyPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1pbm9yIGJ1aWxkIGZpeGVzLgorCisg
ICAgICAgICogRE9NL0RPTU5vZGUubW06CisKIDIwMjEtMDEtMjEgIERldmluIFJvdXNzbyAgPGRy
b3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtBcHBsZSBQYXldIHVzZSB0aGUgZmlyc3QgaXRl
bSBpbiBgc2hpcHBpbmdPcHRpb25zYCBldmVuIHdoZW4gaXQncyBub3QgYHNlbGVjdGVkYApkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvV2Vha1B0ci5oIGIvU291cmNlL1dURi93dGYvV2Vha1B0
ci5oCmluZGV4IGE4YjExYWI5NzU1NjJhNTc5MzM2YTE0ZWQyZGQyY2RhMmE0N2Y1YjguLjE0MzJj
MmYyNWI3NDdiNTJlYzZmZmQ1NjFmNTQ5MDhhM2Y0MDY0ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL1dlYWtQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgKQEAgLTIwMCw3
ICsyMDAsMTIgQEAgcHJvdGVjdGVkOgogICAgIENhbk1ha2VXZWFrUHRyKCkKICAgICB7CiAgICAg
ICAgIGlmIChpbml0aWFsaXphdGlvbk1vZGUgPT0gV2Vha1B0ckZhY3RvcnlJbml0aWFsaXphdGlv
bjo6RWFnZXIpCi0gICAgICAgICAgICBtX3dlYWtQdHJGYWN0b3J5LmluaXRpYWxpemVJZk5lZWRl
ZChzdGF0aWNfY2FzdDxUJj4oKnRoaXMpKTsKKyAgICAgICAgICAgIGluaXRpYWxpemVXZWFrUHRy
RmFjdG9yeSgpOworICAgIH0KKworICAgIHZvaWQgaW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KCkK
KyAgICB7CisgICAgICAgIG1fd2Vha1B0ckZhY3RvcnkuaW5pdGlhbGl6ZUlmTmVlZGVkKHN0YXRp
Y19jYXN0PFQmPigqdGhpcykpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggNDM0ZTQ5YzEwYjA3MWYyZGFhY2IzMjA0NWIwMjY3ZDUyODZiMjE5OC4uNDVkYjU5MTM4
NDAyNDRhYzQ4OTcxNDY4ZGJhMDE0ZDEzYzI0ZjE2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTc4NSw2ICs3ODUsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGRvbS9B
Ym9ydENvbnRyb2xsZXIuaWRsCiAgICAgZG9tL0Fib3J0U2lnbmFsLmlkbAogICAgIGRvbS9BYnN0
cmFjdFJhbmdlLmlkbAorICAgIGRvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKICAgICBk
b20vQW5pbWF0aW9uRXZlbnQuaWRsCiAgICAgZG9tL0F0dHIuaWRsCiAgICAgZG9tL0JlZm9yZUxv
YWRFdmVudC5pZGwKQEAgLTg0Myw2ICs4NDQsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9G
SUxFUwogICAgIGRvbS9FcnJvckV2ZW50LmlkbAogICAgIGRvbS9FdmVudC5pZGwKICAgICBkb20v
RXZlbnRJbml0LmlkbAorICAgIGRvbS9FdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKICAgICBkb20v
RXZlbnRNb2RpZmllckluaXQuaWRsCiAgICAgZG9tL0V2ZW50VGFyZ2V0LmlkbAogICAgIGRvbS9G
b2N1c0V2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKaW5kZXggNzIxNTNjYjQ5Mjk3NGVlMWI4MzM1M2UwYWFlMDc3MTdmOGM5NjJhNC4u
NTAxODQyM2E5YWVkMTQ2NzNlZWZlMTkwMGExYWY0NWIwMzlkOTRhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC03MDAsNiArNzAwLDcg
QEAgJChQUk9KRUNUX0RJUikvZG9tL0Fib3J0QWxnb3JpdGhtLmlkbAogJChQUk9KRUNUX0RJUikv
ZG9tL0Fib3J0Q29udHJvbGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9BYm9ydFNpZ25hbC5p
ZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9BYnN0cmFjdFJhbmdlLmlkbAorJChQUk9KRUNUX0RJUikv
ZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0FuaW1h
dGlvbkV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0F0dHIuaWRsCiAkKFBST0pFQ1RfRElS
KS9kb20vQmVmb3JlTG9hZEV2ZW50LmlkbApAQCAtNzYwLDYgKzc2MSw3IEBAICQoUFJPSkVDVF9E
SVIpL2RvbS9FcnJvckV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0V2ZW50LmlkbAogJChQ
Uk9KRUNUX0RJUikvZG9tL0V2ZW50SW5pdC5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9FdmVudExp
c3RlbmVyLmlkbAorJChQUk9KRUNUX0RJUikvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbAog
JChQUk9KRUNUX0RJUikvZG9tL0V2ZW50TW9kaWZpZXJJbml0LmlkbAogJChQUk9KRUNUX0RJUikv
ZG9tL0V2ZW50TmFtZXMuaW4KICQoUFJPSkVDVF9ESVIpL2RvbS9FdmVudFRhcmdldC5pZGwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXgg
MzcwOTQ5ODk5ODUzNmM3NjQ2NzQ1NTRkN2EwZDAwN2JmYTVjM2I4MS4uOWNmYzI5OGZjZWZlZDJk
MDRmYzNhYjE3NWE2MzU1NmM4OTMwY2JmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTUyLDYgKzUyLDggQEAgJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBYnN0cmFjdFdvcmtlci5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWJzdHJhY3RXb3Jr
ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBY2Nl
c3NpYmlsaXR5Um9sZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQWNjZXNzaWJpbGl0eVJvbGUuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQWRkRXZlbnRMaXN0ZW5lck9w
dGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNB
ZGRyZXNzRXJyb3JzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNBZGRyZXNzRXJyb3JzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQWVzQ2JjQ2ZiUGFyYW1zLmNwcApAQCAtNzQzLDYgKzc0NSw4IEBAICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnQuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50LmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnRJbml0LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudElu
aXQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVu
dExpc3RlbmVyT3B0aW9ucy5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTRXZlbnRMaXN0ZW5lck9wdGlvbnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudE1vZGlmaWVySW5pdC5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnRNb2RpZmllckluaXQu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudFNv
dXJjZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGM3M2YwNjAyYWMyNzA2
NDI1YzI3ZWVmYjJhN2ZiNmNkMDMzN2ExNzguLmMyNzg5YzQ3YjA5ZTEyNDkzYzRjNTQ3NjVhNWEw
MjZkZTg3NjI4ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNjU5LDYgKzY1
OSw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRDb250
cm9sbGVyLmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vQWJvcnRTaWduYWwuaWRsIFwKICAgICAk
KFdlYkNvcmUpL2RvbS9BYnN0cmFjdFJhbmdlLmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20vQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9BbmltYXRpb25F
dmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0F0dHIuaWRsIFwKICAgICAkKFdlYkNvcmUp
L2RvbS9CZWZvcmVMb2FkRXZlbnQuaWRsIFwKQEAgLTcxNyw2ICs3MTgsNyBAQCBKU19CSU5ESU5H
X0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9kb20vRXZlbnRJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRXZlbnRMaXN0ZW5lci5p
ZGwgXAorICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9kb20vRXZlbnRNb2RpZmllckluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9FdmVudFRhcmdldC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0ZvY3VzRXZlbnQuaWRsIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCmluZGV4IGQ4ZmMxNDE3NDU2MzIzMWFlZjEyMWUxOWY3MjZkNmE1MTMx
NzEzNDYuLmVkMDY2YzExY2FjMjE4YTNkOGZkZWJmZjE2OTI2NjE2ZmMyODQzZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVh
ZGVycy5jbWFrZQpAQCAtMzk2LDkgKzM5NiwxMSBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1F
V09SS19IRUFERVJTCiAgICAgZGlzcGxheS9jc3MvRGlzcGxheVJlcGxhY2VkQm94LmgKICAgICBk
aXNwbGF5L2Nzcy9EaXNwbGF5U3R5bGUuaAogCisgICAgZG9tL0Fib3J0U2lnbmFsLmgKICAgICBk
b20vQWJzdHJhY3RSYW5nZS5oCiAgICAgZG9tL0FjdGl2ZURPTUNhbGxiYWNrLmgKICAgICBkb20v
QWN0aXZlRE9NT2JqZWN0LmgKKyAgICBkb20vQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaAogICAg
IGRvbS9BdHRyLmgKICAgICBkb20vQXR0cmlidXRlLmgKICAgICBkb20vQm91bmRhcnlQb2ludC5o
CkBAIC00NDQsNiArNDQ2LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVS
UwogICAgIGRvbS9FdmVudEluaXQuaAogICAgIGRvbS9FdmVudExpc3RlbmVyLmgKICAgICBkb20v
RXZlbnRMaXN0ZW5lck1hcC5oCisgICAgZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmgKICAgICBk
b20vRXZlbnRNb2RpZmllckluaXQuaAogICAgIGRvbS9FdmVudE5hbWVzLmgKICAgICBkb20vRXZl
bnRRdWV1ZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FzeW5jLWNsaXBi
b2FyZC9DbGlwYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L0NsaXBib2FyZC5oCmluZGV4IDM2ZGU2MmUyYjg4NmY5NzA5NzA0MmI4ZDU1MWZmNzU5MGRmOWM0
Y2EuLmE2YzU4YmM5MjliNWJjNzU1MmNiZDY1NTRmNDgyOTQ3YTM0MjgxZDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2FyZC5oCkBAIC00
MCw3ICs0MCw3IEBAIGNsYXNzIE5hdmlnYXRvcjsKIGNsYXNzIFBhc3RlYm9hcmQ7CiBjbGFzcyBQ
YXN0ZWJvYXJkQ3VzdG9tRGF0YTsKIAotY2xhc3MgQ2xpcGJvYXJkIGZpbmFsIDogcHVibGljIFJl
ZkNvdW50ZWQ8Q2xpcGJvYXJkPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1
YmxpYyBDYW5NYWtlV2Vha1B0cjxDbGlwYm9hcmQ+IHsKK2NsYXNzIENsaXBib2FyZCBmaW5hbCA6
IHB1YmxpYyBSZWZDb3VudGVkPENsaXBib2FyZD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxp
bmVEYXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKENsaXBib2FyZCk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxDbGlwYm9hcmQ+IGNyZWF0ZShOYXZpZ2F0b3ImKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lv
bi5oCmluZGV4IDMwMzZhYTlmOWU4YzU1YWZlODgxOTQxYTFhNWFlOGZjZDExYmIzMTAuLjgyMTc5
MDM4NTdlYjgyMTRhMDI5ZDMzNWRmOGI4OTg0NDZhNDQyMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaApAQCAt
NjcsNiArNjcsOCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZWRpYUtleVNlc3Npb24+IGNy
ZWF0ZShEb2N1bWVudCYsIFdlYWtQdHI8TWVkaWFLZXlzPiYmLCBNZWRpYUtleVNlc3Npb25UeXBl
LCBib29sIHVzZURpc3RpbmN0aXZlSWRlbnRpZmllciwgUmVmPENETT4mJiwgUmVmPENETUluc3Rh
bmNlU2Vzc2lvbj4mJik7CiAgICAgdmlydHVhbCB+TWVkaWFLZXlTZXNzaW9uKCk7CiAKKyAgICB1
c2luZyBDRE1JbnN0YW5jZVNlc3Npb25DbGllbnQ6OndlYWtQdHJGYWN0b3J5OworICAgIHVzaW5n
IFdlYWtWYWx1ZVR5cGUgPSBDRE1JbnN0YW5jZVNlc3Npb25DbGllbnQ6OldlYWtWYWx1ZVR5cGU7
CiAgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+OjpyZWY7CiAgICAgdXNpbmcg
UmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+OjpkZXJlZjsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCmluZGV4IDlhNDYxMWJjYmRhOWEyODU2NzFj
NTkzZWZmNDhhNmQ3N2ZmNDZmZTUuLjZhMTNlNWY0YjUzZTQxN2Q3ZTc0ZWZhY2U1ZTMzODVkMGM4
ZWRlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJl
cXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0
LmgKQEAgLTYxLDcgKzYxLDcgQEAgY2xhc3MgSURCQ29ubmVjdGlvblByb3h5OwogY2xhc3MgSURC
Q29ubmVjdGlvblRvU2VydmVyOwogfQogCi1jbGFzcyBJREJSZXF1ZXN0IDogcHVibGljIEV2ZW50
VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBJREJBY3RpdmVET01PYmplY3QsIHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxJREJSZXF1ZXN0PiwgcHVibGljIENhbk1ha2VXZWFrUHRyPElE
QlJlcXVlc3Q+IHsKK2NsYXNzIElEQlJlcXVlc3QgOiBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5s
aW5lRGF0YSwgcHVibGljIElEQkFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPElEQlJlcXVlc3Q+IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKElEQlJlcXVl
c3QpOwogcHVibGljOgogICAgIGVudW0gY2xhc3MgTnVsbFJlc3VsdFR5cGUgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgKaW5kZXggNmY5
MDYyOGFiMGNjOGYwYTM0MTExMzRmODc5N2U2NGJmYzgxNmYzOS4uMDBmMTBhMjdhY2FiMjFiZGI1
Y2I5YzJhMTQ1YTg3NjE0M2UxMTU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCkBAIC01NSw3ICs1NSw3IEBAIHN0cnVjdCBNZWRp
YVRyYWNrU3VwcG9ydGVkQ29uc3RyYWludHM7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+
IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKIAotY2xhc3MgTWVkaWFEZXZpY2VzIGZpbmFsIDog
cHVibGljIFJlZkNvdW50ZWQ8TWVkaWFEZXZpY2VzPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwg
cHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxN
ZWRpYURldmljZXM+IHsKK2NsYXNzIE1lZGlhRGV2aWNlcyBmaW5hbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPE1lZGlhRGV2aWNlcz4sIHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1YmxpYyBFdmVudFRh
cmdldFdpdGhJbmxpbmVEYXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKE1lZGlhRGV2
aWNlcyk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNZWRpYURldmljZXM+IGNyZWF0ZShEb2N1
bWVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENQZWVyQ29ubmVjdGlvbi5oCmluZGV4IGFjY2U2ZTliZGU0Yzc3YjMzM2Y5YjYwNjMxMzczMGM1
Nzk5NGY5OWQuLjU2OTE0M2FhNzJiM2FlNjIzOTUzZGU5MzVmN2FjNDFmOGU1ZDdhMjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25u
ZWN0aW9uLmgKQEAgLTc3LDcgKzc3LDYgQEAgY2xhc3MgUlRDUGVlckNvbm5lY3Rpb24gZmluYWwK
ICAgICA6IHB1YmxpYyBSZWZDb3VudGVkPFJUQ1BlZXJDb25uZWN0aW9uPgogICAgICwgcHVibGlj
IEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEKICAgICAsIHB1YmxpYyBBY3RpdmVET01PYmplY3QK
LSAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxSVENQZWVyQ29ubmVjdGlvbj4KICNpZiAhUkVM
RUFTRV9MT0dfRElTQUJMRUQKICAgICAsIHByaXZhdGUgTG9nZ2VySGVscGVyCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
cXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
cXVlc3QuaAppbmRleCA2OGFjYWM5NmIyZTdiZGEyYTA1ZWRmNWFjYjVmZDlhZTZmOGQ4OTkxLi5j
ZDkzZDIzMTEyYjU3NTNkOTAxN2E4OGE5MmMyN2QzNDAwZmI4YmFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCkBA
IC01MSw3ICs1MSw3IEBAIHN0cnVjdCBQYXltZW50RGV0YWlsc1VwZGF0ZTsKIHN0cnVjdCBQYXlt
ZW50TWV0aG9kRGF0YTsKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKIAotY2xhc3MgUGF5bWVudFJlcXVlc3QgZmluYWwgOiBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8UGF5bWVudFJlcXVlc3Q+LCBwdWJsaWMg
RXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIFJlZkNvdW50ZWQ8UGF5bWVudFJlcXVl
c3Q+IHsKK2NsYXNzIFBheW1lbnRSZXF1ZXN0IGZpbmFsIDogcHVibGljIEFjdGl2ZURPTU9iamVj
dCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBSZWZDb3VudGVkPFBh
eW1lbnRSZXF1ZXN0PiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQYXltZW50UmVxdWVz
dCk7CiBwdWJsaWM6CiAgICAgdXNpbmcgQWJvcnRQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVk
PHZvaWQ+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNo
UmVjb2duaXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29n
bml0aW9uLmgKaW5kZXggMzc5MjMyZWJjOGU0ZjgwMTRhYWI5MjFkYzg0MjU0OWVhYTUxNzBjYS4u
YzIwMGJhZTY1Y2I4NTNhZTMxYmI2YWIyMWUyMjEzMWUxODA0YTA2ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5oCkBAIC00MSw2ICs0
MSw5IEBAIGNsYXNzIFNwZWVjaFJlY29nbml0aW9uIDogcHVibGljIFNwZWVjaFJlY29nbml0aW9u
Q29ubmVjdGlvbkNsaWVudCwgcHVibGljIEFjdGl2CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxT
cGVlY2hSZWNvZ25pdGlvbj4gY3JlYXRlKERvY3VtZW50Jik7CiAKKyAgICB1c2luZyBTcGVlY2hS
ZWNvZ25pdGlvbkNvbm5lY3Rpb25DbGllbnQ6OndlYWtQdHJGYWN0b3J5OworICAgIHVzaW5nIFdl
YWtWYWx1ZVR5cGUgPSBTcGVlY2hSZWNvZ25pdGlvbkNvbm5lY3Rpb25DbGllbnQ6OldlYWtWYWx1
ZVR5cGU7CisKICAgICBjb25zdCBTdHJpbmcmIGxhbmcoKSBjb25zdCB7IHJldHVybiBtX2xhbmc7
IH0KICAgICB2b2lkIHNldExhbmcoU3RyaW5nJiYgbGFuZykgeyBtX2xhbmcgPSBXVEZNb3ZlKGxh
bmcpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQmFz
ZUF1ZGlvQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVk
aW9Db250ZXh0LmgKaW5kZXggNzk4MjJkZjY1ZjVkYTMxYmI2MWQ3ZjEzYjk5MTgyMWEwOTIxZTdi
OS4uODVjNzc0ZmRhZGVhZGJlYmQ4YzdhMWMyMjcxM2EwNzc1NTU0ZmZkMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0LmgKQEAgLTk1
LDcgKzk1LDYgQEAgY2xhc3MgQmFzZUF1ZGlvQ29udGV4dAogICAgIDogcHVibGljIEFjdGl2ZURP
TU9iamVjdAogICAgICwgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEJhc2VBdWRpb0NvbnRl
eHQ+CiAgICAgLCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YQotICAgICwgcHVibGlj
IENhbk1ha2VXZWFrUHRyPEJhc2VBdWRpb0NvbnRleHQ+CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FC
TEVECiAgICAgLCBwdWJsaWMgTG9nZ2VySGVscGVyCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZ3B1L1dlYkdQVURldmljZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgKaW5kZXggY2ZhM2I5NWVhMGIzMGRkZTAzN2Qz
NjBhZWVkOTNmYTI3NWQyYTk0My4uYzljYzNjNGU0MzVjOTI2NGIyODE0ZDNkNjNjMjQwZmNiNjY3
MDZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2
aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmgK
QEAgLTc3LDcgKzc3LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJv
bWlzZURlZmVycmVkOwogdXNpbmcgRXJyb3JJRExVbmlvbiA9IElETFVuaW9uPElETEludGVyZmFj
ZTxHUFVPdXRPZk1lbW9yeUVycm9yPiwgSURMSW50ZXJmYWNlPEdQVVZhbGlkYXRpb25FcnJvcj4+
OwogdXNpbmcgRXJyb3JQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETE51bGxhYmxlPEVy
cm9ySURMVW5pb24+PjsKIAotY2xhc3MgV2ViR1BVRGV2aWNlIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViR1BVRGV2aWNlPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBD
YW5NYWtlV2Vha1B0cjxXZWJHUFVEZXZpY2U+IHsKK2NsYXNzIFdlYkdQVURldmljZSA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYkdQVURldmljZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVE
YXRhIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYkdQVURldmljZSk7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+V2ViR1BVRGV2aWNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSU3lzdGVtLmgKaW5kZXggYWUyYjk2NzVmMzNhMWM4Y2QzMWMyOTc1ZmYyYjU5Y2Vl
NjliMDY4OC4uYzc2MmQ0NmFjMGU5MDRhMzk4M2QzOTdmNjg2NTYxZDRjMTY1YjM1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uaApAQCAtNTMsNyArNTMsNyBA
QCBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xhc3MgV2ViWFJTZXNzaW9uOwogc3Ry
dWN0IFhSU2Vzc2lvbkluaXQ7CiAKLWNsYXNzIFdlYlhSU3lzdGVtIGZpbmFsIDogcHVibGljIFJl
ZkNvdW50ZWQ8V2ViWFJTeXN0ZW0+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwg
cHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIENhbk1ha2VXZWFrUHRyPFdlYlhSU3lzdGVt
PiB7CitjbGFzcyBXZWJYUlN5c3RlbSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSU3lz
dGVtPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01P
YmplY3QgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV2ViWFJTeXN0ZW0pOwogcHVibGlj
OgogICAgIHVzaW5nIElzU2Vzc2lvblN1cHBvcnRlZFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJy
ZWQ8SURMQm9vbGVhbj47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDdhYTU1YmI0MzQ2OGQ3M2M3NGQ4ZWJj
ZGM0NzIwYmFiYTI4ZTUyZjcuLjcyOTZjY2YzZWY5ZWZjNzE2OTJjMWMxYjEwMDdhMGE2ZTc5MjAz
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yNzIyLDYgKzI3MjIsNyBAQCBKU0Fib3J0U2lnbmFsLmNw
cAogSlNBYnN0cmFjdFJhbmdlLmNwcAogSlNBYnN0cmFjdFdvcmtlci5jcHAKIEpTQWRkcmVzc0Vy
cm9ycy5jcHAKK0pTQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuY3BwCiBKU0Flc0NiY0NmYlBhcmFt
cy5jcHAKIEpTQWVzQ3RyUGFyYW1zLmNwcAogSlNBZXNHY21QYXJhbXMuY3BwCkBAIC0yOTYxLDYg
KzI5NjIsNyBAQCBKU0Vycm9yQ2FsbGJhY2suY3BwCiBKU0Vycm9yRXZlbnQuY3BwCiBKU0V2ZW50
LmNwcAogSlNFdmVudEluaXQuY3BwCitKU0V2ZW50TGlzdGVuZXJPcHRpb25zLmNwcAogSlNFdmVu
dE1vZGlmaWVySW5pdC5jcHAKIEpTRXZlbnRTb3VyY2UuY3BwCiBKU0V2ZW50VGFyZ2V0LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDcxZjdjODM4MTE5YTIzNTE3M2Q0MGNiODg5MWJjNWFiZjljMzZlZmUuLjA1M2JkODdkYTdj
ZGE4NDUxYWYxM2VkYjMxYzEzOGFmNjY0NTk1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTMwMiw2ICszMDIsNyBAQAogCQkw
RjQ5NjZBQjFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0OTY2QTUxREI0MEM0MzAwQTI3NEJCIC8q
IEpTRE9NUG9pbnQuaCAqLzsgfTsKIAkJMEY0OTY2QUQxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9N
UG9pbnRJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwRjQ5NjZBNzFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludEluaXQuaCAqLzsgfTsKIAkJ
MEY0OTY2QUYxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY0OTY2QTkxREI0MEM0MzAw
QTI3NEJCIC8qIEpTRE9NUG9pbnRSZWFkT25seS5oICovOyB9OworCQkwRjUzRkI4NDIxM0I3QTY0
MDBDNDBEMzQgLyogUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1M0ZCODQyMTNCNzg2NDAwQzQwRDM0IC8q
IFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjU0RENFNjE4ODEwNTFEMDAzRUVEQkIgLyogVGV4dEF1
dG9TaXppbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGNTREQ0U0MTg4MTA1MUQwMDNFRURCQiAvKiBUZXh0QXV0b1NpemluZy5oICovOyB9OwogCQkw
RjU0REQwODE4ODFENUY1MDAzRUVEQkIgLyogVG91Y2guaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTRERDA1MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3Vj
aC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBG
NTRERDA5MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3VjaEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU0REQwNjE4ODFENUY1MDAzRUVEQkIgLyog
VG91Y2hFdmVudC5oICovOyB9OwpAQCAtMTI2Miw2ICsxMjYzLDggQEAKIAkJNDZCOTUxOUEyMDdE
NjM1NDAwQTdEMkREIC8qIFJlbW90ZUZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NkI5NTE5MjIwN0Q2MzJFMDBBN0QyREQgLyogUmVtb3RlRnJh
bWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
NkI5NUJGNTIyMzFDRkQ2MDA1M0E1MDQgLyogRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nl
c3NDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NkI5NUJGNDIyMzFDRkI4MDA1M0E1MDQgLyogRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rp
b25BY2Nlc3NDb250cm9sbGVyLmggKi87IH07CiAJCTQ2QkNCQkMyMjA4NTAwOEYwMDcxMDYzOCAv
KiBKU1JlbW90ZURPTVdpbmRvd0Jhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2QkNCQkMwMjA4NTAwN0YwMDcxMDYzOCAvKiBKU1JlbW90ZURPTVdp
bmRvd0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk0NkJEMDVDNTI1QkI2RTU5MDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QkQwNUMy
MjVCQjZFNEUwMDIyNUYzMCAvKiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ2QkQwNUM2MjVCQjZFNkMw
MDIyNUYzMCAvKiBFdmVudExpc3RlbmVyT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCRDA1QzMyNUJCNkU0RTAwMjI1RjMwIC8qIEV2ZW50
TGlzdGVuZXJPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDZDMDk2MjEyM0Q3OERENjAwNjU3QzA5IC8qIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2
QzA5NjIwMjNENzhERDYwMDY1N0MwOSAvKiBIVFRQQ29va2llQWNjZXB0UG9saWN5LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZDMzc2NjIyMDg1
MTc3RDAwQzczODI5IC8qIEpTUmVtb3RlRE9NV2luZG93LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkMzNzY2MTIwODUxNzZEMDBDNzM4MjkgLyogSlNS
ZW1vdGVET01XaW5kb3cuaCAqLzsgfTsKIAkJNDZDNjk2Q0IxRTcyMDVGNzAwNTk3OTM3IC8qIENQ
VU1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2QzY5NkM5MUU3MjA1RTQwMDU5NzkzNyAvKiBDUFVNb25pdG9yLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTIzOTksNyArMjQwMiw3IEBACiAJ
CTdDQzk3MjJFMUY5M0UzMzYwMDA0RDRDRiAvKiBTZXR0aW5nc0Jhc2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQzY2MDk5MUY5MzA1NzgwMEQ1MDBF
OSAvKiBTZXR0aW5nc0Jhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3Q0NFQkZDMDFERDhGNkFCMDAyQzQwQjggLyogU1ZHTGVuZ3RoVmFsdWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRTU4RDUz
MUREN0IwOTMwMDEyODU1MiAvKiBTVkdMZW5ndGhWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDRDBFMkI4MUY4MEE0ODIwMDE2QTRDRSAv
KiBBYm9ydENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDRDBFMkI1MUY4MEE0ODIwMDE2QTRDRSAvKiBBYm9ydENvbnRyb2xsZXIuaCAq
LzsgfTsKLQkJN0NEMEUyQkYxRjgwQTU2RTAwMTZBNENFIC8qIEFib3J0U2lnbmFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0QwRTJCQzFGODBBNTZF
MDAxNkE0Q0UgLyogQWJvcnRTaWduYWwuaCAqLzsgfTsKKwkJN0NEMEUyQkYxRjgwQTU2RTAwMTZB
NENFIC8qIEFib3J0U2lnbmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3Q0QwRTJCQzFGODBBNTZFMDAxNkE0Q0UgLyogQWJvcnRTaWduYWwuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Q0QxRTY5MzI0
QUJGNjI0MDA4OUM0MTkgLyogQ29sb3JTZXJpYWxpemF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0QxRTY5MTI0QUJGNjI0MDA4OUM0MTkgLyog
Q29sb3JTZXJpYWxpemF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJN0NENDk0Q0QxQTg2RUIxRDAwMEE4N0VDIC8qIFJlbmRlckF0dGFjaG1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRDQ5
NENCMUE4NkVCMUQwMDBBODdFQyAvKiBSZW5kZXJBdHRhY2htZW50LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0NENThERkIxRjk1NjVBNTAwMTEy
NzkxIC8qIFNldHRpbmdzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3Q0VCNTdFOTFGOTU2NTE1MDAwOTdBRUMgLyogU2V0dGluZ3MuaCAqLzsgfTsKQEAg
LTQwODcsNyArNDA5MCw2IEBACiAJCUJDRUE0ODc2MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJJ
bWFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNF
QTQ4MzcwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckltYWdlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFQTQ4NzgwOTdEOTMwMjAwOTRDOUU0
IC8qIFJlbmRlcklubGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkNFQTQ4MzkwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlcklubGluZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRUE0ODdBMDk3
RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJMYXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFQTQ4M0IwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckxh
eWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJ
MEY1M0ZCODQyMTNCN0E2NDAwQzQwRDM0IC8qIFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTNGQjg0MjEz
Qjc4NjQwMEM0MEQzNCAvKiBSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFQTQ4ODAwOTdEOTMwMjAw
OTRDOUU0IC8qIFJlbmRlck9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNFQTQ4NDEwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlck9iamVjdC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDRUE0
ODg3MDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJUaGVtZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFQTQ4NDgwOTdEOTMwMjAwOTRDOUU0IC8q
IFJlbmRlclRoZW1lTWFjLmggKi87IH07CiAJCUJDRUE0ODhBMDk3RDkzMDIwMDk0QzlFNCAvKiBS
ZW5kZXJUaGVtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNFQTQ4NEIwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRoZW1lLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTUwODksNiArNTA5MSw3IEBA
CiAJCUU0MjVBNDlBMTgyOTJCODQwMDIwQ0ZDRiAvKiBDb2xsZWN0aW9uSW5kZXhDYWNoZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyNUE0OTkxODI5
MkI4NDAwMjBDRkNGIC8qIENvbGxlY3Rpb25JbmRleENhY2hlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQyOTVGQTQxMkIwNjE0RTAwRDFBQ0Uw
IC8qIFJlc291cmNlTG9hZFByaW9yaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFNDI5NUZBMzEyQjA2MTRFMDBEMUFDRTAgLyogUmVzb3VyY2VMb2Fk
UHJpb3JpdHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlFNDJFNzZEQzFDN0FGNzc2MDBFMzYxNEQgLyogU3R5bGVVcGRhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0MkU3NkRCMUM3QUY3NzYwMEUz
NjE0RCAvKiBTdHlsZVVwZGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCUU0MkVFM0E3MTc1NzZFNTUwMEVFRThDRiAvKiBGb250R2VuZXJpY0Zh
bWlsaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
NDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0MzEwNUJCMTY3NTBG
MTYwMERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDMxMDVCQTE2NzUwRjE2MDBEQjJGQjggLyogTm9kZVRyYXZl
cnNhbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUU0M0EwMjNCMTdFQjM3MEEwMDRDREQyNSAvKiBSZW5kZXJFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDNBMDIzQTE3RUIzNzBBMDA0Q0RE
MjUgLyogUmVuZGVyRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUU0M0FGOEU3MUFDNUI3RUMwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0M0FG
OEU1MUFDNUI3REQwMENBNzE3RSAvKiBDYWNoZVZhbGlkYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNTExMiw3ICs1MTE1LDYgQEAKIAkJ
RTQ0NjE0M0MwQ0Q2ODlDQzAwRkFEQTc1IC8qIEpTSFRNTFNvdXJjZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QjQyMzcyMENCRkI2RTAw
MEFGMkVDRSAvKiBKU0hUTUxTb3VyY2VFbGVtZW50LmggKi87IH07CiAJCUU0NDYxNDUyMENENjhB
MzUwMEZBREE3NSAvKiBSZW5kZXJWaWRlby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTRCNDFFMzQwQ0JGQjYwOTAwQUYyRUNFIC8qIFJlbmRlclZpZGVv
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ0
QjRCQjQxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0QjRCQjIxNDE2NTBENzAwMkIxRDhC
IC8qIFNlbGVjdG9yQ2hlY2tlci5oICovOyB9OwotCQlFNDJFRTNBNzE3NTc2RTU1MDBFRUU4Q0Yg
LyogRm9udEdlbmVyaWNGYW1pbGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTQ0RUUzQTcxNzU3NkU1NTAwRUVFOENGIC8qIEZvbnRHZW5lcmljRmFt
aWxpZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFNDRGQTE4NTFCQ0E2QjVBMDA5MUI2RUYgLyogQ29tcG9zZWRUcmVlSXRlcmF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NEZBMTg0MUJDQTZC
NUEwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5oICovOyB9OwogCQlFNDUxQzYzMTIz
OTQwMjc5MDA5OTMxOTAgLyogTGF5b3V0VW5pdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNzM5MThDMjEwNkNFREQwMDZBRjI2MiAvKiBMYXlvdXRV
bml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUU0NTFDNjMyMjM5NDAzMUEwMDk5MzE5MCAvKiBNYXJnaW5UeXBlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZFN0FBMjYyMUMzN0I2MzAwMjk2RENE
IC8qIE1hcmdpblR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTgxODgsNiArODE5MCwxMCBAQAogCQk0NkJDQkJDMDIwODUwMDdGMDA3MTA2
MzggLyogSlNSZW1vdGVET01XaW5kb3dCYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTUmVtb3RlRE9NV2luZG93QmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NkJDQkJDMTIwODUwMDgwMDA3MTA2MzggLyogSlNSZW1vdGVET01XaW5kb3dCYXNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVtb3RlRE9NV2luZG93
QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QkNCQkMzMjA4NTAwQTcw
MDcxMDYzOCAvKiBSZW1vdGVET01XaW5kb3cuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJl
bW90ZURPTVdpbmRvdy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QkQwNUMw
MjVCQjZFNEQwMDIyNUYzMCAvKiBFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRXZlbnRM
aXN0ZW5lck9wdGlvbnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkJEMDVD
MjI1QkI2RTRFMDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDZCRDA1QzMyNUJCNkU0RTAwMjI1RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25zLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEV2ZW50TGlzdGVuZXJPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQ2QkQwNUM0MjVCQjZFNEYwMDIyNUYzMCAvKiBBZGRFdmVudExpc3RlbmVy
T3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NkMwOTYyMDIzRDc4REQ2MDA2NTdDMDkgLyogSFRUUENvb2tp
ZUFjY2VwdFBvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVFRQQ29va2llQWNjZXB0UG9saWN5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QzM3NjVGMjA4NTE3NkMwMEM3MzgyOSAv
KiBKU1JlbW90ZURPTVdpbmRvdy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU1JlbW90ZURPTVdpbmRvdy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2QzM3NjYxMjA4NTE3NkQwMEM3MzgyOSAvKiBKU1JlbW90ZURPTVdpbmRvdy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlbW90ZURPTVdpbmRvdy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtOTc1OCw4ICs5NzY0LDggQEAKIAkJNkU1Mzg4RTEyNDU4QUUx
RDAwNzZBRTAzIC8qIFdlYkdMQ29sb3JCdWZmZXJGbG9hdC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViR0xDb2xvckJ1
ZmZlckZsb2F0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkU1NzZCQzMyNEVC
NTA5QzAwOTRENEFBIC8qIEpTSFRNTENhbnZhc0VsZW1lbnRDdXN0b20uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFNjdEMkE4MTI4MEU4QkQwMDg3NThGNyAv
KiBFeHRlbnNpb25zR0wuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXh0ZW5z
aW9uc0dMLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTZFN0NBMzBBMjVCNEQyOEEw
MDRBOTEzRSAvKiBKU1dlYkdMTXVsdGlEcmF3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTV2ViR0xNdWx0
aURyYXcuaDsgcGF0aCA9IEpTV2ViR0xNdWx0aURyYXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNkU3Q0EzMEIyNUI0RDMyODAwNEE5MTNFIC8qIEpTV2ViR0xNdWx0aURyYXcuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBuYW1lID0gSlNXZWJHTE11bHRpRHJhdy5jcHA7IHBhdGggPSBKU1dlYkdM
TXVsdGlEcmF3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkU3Q0EzMEEyNUI0
RDI4QTAwNEE5MTNFIC8qIEpTV2ViR0xNdWx0aURyYXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNXZWJH
TE11bHRpRHJhdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2RTdDQTMwQjI1QjRE
MzI4MDA0QTkxM0UgLyogSlNXZWJHTE11bHRpRHJhdy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1dlYkdMTXVsdGlEcmF3LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkU4NEU5
REUxNzY2OEJBRDAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJhc3RlclNoYXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNkU4NEU5REYxNzY2OEJBRDAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJhc3RlclNoYXBlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTZFOEFDREU5MjMzNDVDQUYwMDI0QUFGNSAvKiBXZWJHTENvbXByZXNz
ZWRUZXh0dXJlRVRDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkdMQ29tcHJlc3NlZFRleHR1
cmVFVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjk5MDEsNiArMjk5MDcs
OCBAQAogCQkJCTdDNTIyMjk4MUUxREFFMTYwMDJDQjhGNyAvKiBBY3RpdmVET01DYWxsYmFjay5o
ICovLAogCQkJCUUxQzRERTZEMEVBNzVDNjUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuY3Bw
ICovLAogCQkJCUUxQzRERTY4MEVBNzVDMUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuaCAq
LywKKwkJCQk0NkJEMDVDMjI1QkI2RTRFMDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMuaCAqLywKKwkJCQk0NkJEMDVDNDI1QkI2RTRGMDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5l
ck9wdGlvbnMuaWRsICovLAogCQkJCUUzQUU2Q0QxMjI1MkYyNzAwMEM3MEI1MCAvKiBBbGxEZXNj
ZW5kYW50c0NvbGxlY3Rpb24uY3BwICovLAogCQkJCTgzQkI1Qzg3MUQ1RDZGM0EwMDVBNzFGNCAv
KiBBbGxEZXNjZW5kYW50c0NvbGxlY3Rpb24uaCAqLywKIAkJCQkzMTk4NDdGRTFBMUQ4MTY3MDBB
MTMzMTggLyogQW5pbWF0aW9uRXZlbnQuY3BwICovLApAQCAtMzAxMTMsNiArMzAxMjEsOCBAQAog
CQkJCTg1QUZBNzQxMEFBRjI5ODQwMEU4NDMwNSAvKiBFdmVudExpc3RlbmVyLmlkbCAqLywKIAkJ
CQlBRDQ0OTVGMTE0MUZDMDg5MDA1NDFFREYgLyogRXZlbnRMaXN0ZW5lck1hcC5jcHAgKi8sCiAJ
CQkJQUQ0NDk1RjIxNDFGQzA4OTAwNTQxRURGIC8qIEV2ZW50TGlzdGVuZXJNYXAuaCAqLywKKwkJ
CQk0NkJEMDVDMzI1QkI2RTRFMDAyMjVGMzAgLyogRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCAqLywK
KwkJCQk0NkJEMDVDMDI1QkI2RTREMDAyMjVGMzAgLyogRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRs
ICovLAogCQkJCTlCOTFEQ0NDMjM4Mzc5MkQwMDBFRUUwRiAvKiBFdmVudExvb3AuY3BwICovLAog
CQkJCTlCMEFCQ0ExMjM2NzlBQjMwMEI0NTA4NSAvKiBFdmVudExvb3AuaCAqLywKIAkJCQk4M0ZF
N0NBMzFEQTlGMTY1MDAzNzIzN0MgLyogRXZlbnRNb2RpZmllckluaXQuaCAqLywKQEAgLTMxMDY1
LDYgKzMxMDc1LDcgQEAKIAkJCQlFMUM0REU2OTBFQTc1QzFFMDAyM0NDRDYgLyogQWN0aXZlRE9N
T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MjRFRTU1MDFEQzgwRDdGMDBBOTFGRkIgLyog
QWN0aXZpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzI0RUU1NTExREM4MEQ4NDAwQTkx
RkZCIC8qIEFjdGl2aXR5U3RhdGVDaGFuZ2VPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDZCRDA1QzUyNUJCNkU1OTAwMjI1RjMwIC8qIEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMTY3N0UwRTIxM0UwMkEwMDBBMDhDMzQgLyogQWRkcmVzc0Vycm9y
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGN0U0OTExMzdDRDdDNzAwMUREQUU3IC8qIEFkanVz
dFZpZXdTaXplT3JOb3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0RDBDNDA2MTExNUYxRUEwMDE4
QUEzNCAvKiBBZmZpbmVUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovLApAQCAtMzIwMDYsNiArMzIw
MTcsNyBAQAogCQkJCTk3MEI3MjhBMTQ0RkZBQzYwMEYwMEEzNyAvKiBFdmVudEludGVyZmFjZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTkzNUZCQzQ1MDlCQTAwQjkwMEUyMzBCMSAvKiBFdmVudExp
c3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBRDQ0OTVGNDE0MUZDMDg5MDA1NDFFREYgLyog
RXZlbnRMaXN0ZW5lck1hcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZCRDA1QzYyNUJCNkU2QzAw
MjI1RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NkYw
MkExQTIzNzM3RjgzMDAxMDZBNjQgLyogRXZlbnRMb29wLmggaW4gSGVhZGVycyAqLywKIAkJCQk4
M0ZFN0NBODFEQTlGMUI2MDAzNzIzN0MgLyogRXZlbnRNb2RpZmllckluaXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzOTg4NUM0MDhCN0UzRDEwMEU3MDdDNCAvKiBFdmVudE5hbWVzLmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAppbmRleCA0OWI3
OGY3NTQwZjQ1YTEzNTRlZWE4ZDljMWU2YjI2NmY5OGMzMDk1Li40YTFiZWVkM2IzNWM1NzkzNjA3
YzYxNTA1ZGU1NzE0NGIzZGRlYjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1h
dGlvbi5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJveHlXaXRoUmVzb2x2ZUNhbGxiYWNr
OwogCi1jbGFzcyBXZWJBbmltYXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJBbmltYXRpb24+
LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViQW5pbWF0aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworY2xhc3MgV2ViQW5pbWF0
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViQW5pbWF0aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoV2ViQW5pbWF0aW9uKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFdlYkFu
aW1hdGlvbj4gY3JlYXRlKERvY3VtZW50JiwgQW5pbWF0aW9uRWZmZWN0Kik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlMaXN0LmNwcAppbmRleCA2NzRlOGUxZWRkOTM2MTQ2N2E5ZGE5Y2FiNTMx
M2JjNmMxYWU5ZTY5Li40NWFhZTk5ZDgyOTZlZGE5MDhjYjZjNzRhOGJjNjA2ZTM0MzAxOWE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TGlzdC5oIgogCisjaW5jbHVk
ZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAj
aW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIApAQCAtNjYsNyArNjcsNyBAQCB2b2lk
IE1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0
ZW5lcikKICAgICBpZiAoIWxpc3RlbmVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBhZGRFdmVu
dExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgbGlzdGVuZXIucmVsZWFzZU5vbk51
bGwoKSk7CisgICAgYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQsIGxp
c3RlbmVyLnJlbGVhc2VOb25OdWxsKCksIHsgfSk7CiB9CiAKIHZvaWQgTWVkaWFRdWVyeUxpc3Q6
OnJlbW92ZUxpc3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyKQpAQCAtNzQs
NyArNzUsNyBAQCB2b2lkIE1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5lcihSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKICAgICBpZiAoIWxpc3RlbmVyKQogICAgICAgICByZXR1
cm47CiAKLSAgICByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwg
Kmxpc3RlbmVyKTsKKyAgICByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VF
dmVudCwgKmxpc3RlbmVyLCB7IH0pOwogfQogCiB2b2lkIE1lZGlhUXVlcnlMaXN0OjpldmFsdWF0
ZShNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3IsIGJvb2wmIG5vdGlmaWNhdGlvbk5lZWRl
ZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKaW5kZXggYjcwYWE1NTY2YmM5NzU0MDFl
N2RiZjhlNTFiNmE5NzBkYjU1ZTdmNS4uMTNmNTM5NmRkODQyMGUwY2QyNGNkOGI3Mzk1MTRhYzVk
MDQyZjhhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKQEAgLTMyLDcgKzMyLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gcmV0cmlldmUgdGhlIGN1cnJlbnQgdmFsdWUgb2Yg
dGhlIGdpdmVuIG1lZGlhIHF1ZXJ5IGFuZCB0byBhZGQvcmVtb3ZlIGxpc3RlbmVycyB0aGF0CiAv
LyB3aWxsIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgdmFsdWUgb2YgdGhlIHF1ZXJ5IGNoYW5nZXMu
CiAKLWNsYXNzIE1lZGlhUXVlcnlMaXN0IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFR
dWVyeUxpc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENhbk1h
a2VXZWFrUHRyPE1lZGlhUXVlcnlMaXN0PiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CitjbGFz
cyBNZWRpYVF1ZXJ5TGlzdCBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhUXVlcnlMaXN0
PiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmpl
Y3QgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoTWVkaWFRdWVyeUxpc3QpOwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8TWVkaWFRdWVyeUxpc3Q+IGNyZWF0ZShEb2N1bWVudCYsIE1lZGlh
UXVlcnlNYXRjaGVyJiwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIGJvb2wgbWF0Y2hlcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWJvcnRTaWduYWwuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9BYm9ydFNpZ25hbC5oCmluZGV4IGRiZDkzNjhlNTg1OGU5NjhhYmU5ZDc4YzVmZTc1ZTY3
Mjk3OTBiOGEuLjMyMjNjYzc1ZDdiZGI1ZGE1NDdiZmE1Njg3M2NjZmRlNzZjNTNiZWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BYm9ydFNpZ25hbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9BYm9ydFNpZ25hbC5oCkBAIC0zOCw4ICszOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIEFib3J0QWxnb3JpdGhtOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IAotY2xhc3MgQWJvcnRTaWduYWwgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxBYm9ydFNpZ25h
bD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8QWJvcnRTaWduYWw+LCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKLSAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEFib3J0U2lnbmFsKTsKK2NsYXNzIEFib3J0U2lnbmFs
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8QWJvcnRTaWduYWw+LCBwdWJsaWMgRXZlbnRUYXJn
ZXRXaXRoSW5saW5lRGF0YSwgcHJpdmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7Cisg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9FWFBPUlQoQWJvcnRTaWduYWwsIFdFQkNPUkVfRVhQ
T1JUKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEFib3J0U2lnbmFsPiBjcmVhdGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3Rl
bmVyT3B0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiMTM0ZmFiYWJhMTUwMGY1MGM5N2RjZWQ0ODliZWU5
ZTQ3NjBkYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQWRkRXZlbnRM
aXN0ZW5lck9wdGlvbnMuaApAQCAtMCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFi
b3J0U2lnbmFsLmgiCisjaW5jbHVkZSAiRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKKyNpbmNsdWRl
IDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgQWRkRXZl
bnRMaXN0ZW5lck9wdGlvbnMgOiBFdmVudExpc3RlbmVyT3B0aW9ucyB7CisgICAgQWRkRXZlbnRM
aXN0ZW5lck9wdGlvbnMoYm9vbCBjYXB0dXJlID0gZmFsc2UsIE9wdGlvbmFsPGJvb2w+IHBhc3Np
dmUgPSBXVEY6Om51bGxvcHQsIGJvb2wgb25jZSA9IGZhbHNlLCBSZWZQdHI8QWJvcnRTaWduYWw+
JiYgc2lnbmFsID0gbnVsbHB0cikKKyAgICAgICAgOiBFdmVudExpc3RlbmVyT3B0aW9ucyhjYXB0
dXJlKQorICAgICAgICAsIHBhc3NpdmUocGFzc2l2ZSkKKyAgICAgICAgLCBvbmNlKG9uY2UpCisg
ICAgICAgICwgc2lnbmFsKFdURk1vdmUoc2lnbmFsKSkKKyAgICB7CisgICAgfQorCisgICAgT3B0
aW9uYWw8Ym9vbD4gcGFzc2l2ZTsKKyAgICBib29sIG9uY2UgeyBmYWxzZSB9OworICAgIFJlZlB0
cjxBYm9ydFNpZ25hbD4gc2lnbmFsOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2FlMGEwZWFmOWQ2YjRjZWE0ZTY0Y2NkNjM3ZmQwYmI0MDYzM2I1MQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwKQEAg
LTAsMCArMSwzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworZGljdGlvbmFyeSBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyA6IEV2ZW50TGlzdGVu
ZXJPcHRpb25zIHsKKyAgICBib29sZWFuIHBhc3NpdmU7CisgICAgYm9vbGVhbiBvbmNlID0gZmFs
c2U7CisgICAgQWJvcnRTaWduYWwgc2lnbmFsOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5l
ci5oCmluZGV4IDlkNmFjZmM5NGIyNjk0NzA0ZTMxMGY4YzYzYjI5Zjg2NTkzN2UzNDkuLjNlNDY3
MWEyZWQwNTljNTllNmMxYWZhMDExMzVhZGEzN2FiNmYyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TGlzdGVuZXIuaApAQCAtMjEsNiArMjEsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBK
U0MgewogY2xhc3MgSlNPYmplY3Q7CkBAIC0zMyw3ICszNCw3IEBAIGNsYXNzIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ7CiBjbGFzcyBFdmVudDsKIGNsYXNzIEV2ZW50VGFyZ2V0OwogCi1jbGFzcyBF
dmVudExpc3RlbmVyIDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRMaXN0ZW5lcj4geworY2xhc3Mg
RXZlbnRMaXN0ZW5lciA6IHB1YmxpYyBSZWZDb3VudGVkPEV2ZW50TGlzdGVuZXI+LCBwdWJsaWMg
Q2FuTWFrZVdlYWtQdHI8RXZlbnRMaXN0ZW5lcj4gewogcHVibGljOgogICAgIGVudW0gVHlwZSB7
CiAgICAgICAgIEpTRXZlbnRMaXN0ZW5lclR5cGUsIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlz
dGVuZXJNYXAuY3BwCmluZGV4IDBiMDlkMDgyYzM2ZWRkZDg0YjljZGU5ODgyNTI3MmRiNWY5NmU1
YmQuLmZjMzYzYWUzM2FmOTI3NmZmYzVjYTZhMmI2YjFjZjI3NWJhODAwOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyTWFwLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJFdmVudExpc3RlbmVyTWFwLmgiCiAKKyNpbmNsdWRlICJB
ZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAi
RXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDFiNDRiY2UyODVhNjdk
ZWZhYTZmZWU1NmI3YzNkNjI1MDViMTkxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEV2ZW50TGlzdGVuZXJPcHRpb25zIHsKKyAg
ICBFdmVudExpc3RlbmVyT3B0aW9ucyhib29sIGNhcHR1cmUgPSBmYWxzZSkKKyAgICAgICAgOiBj
YXB0dXJlKGNhcHR1cmUpCisgICAgeyB9CisKKyAgICBib29sIGNhcHR1cmUgeyBmYWxzZSB9Owor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExp
c3RlbmVyT3B0aW9ucy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBiYjk0MjI1Mzg0ODJjNGNjMzc0NjUwNDE2
OTdkMzFjNmVmMzE0YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dExpc3RlbmVyT3B0aW9ucy5pZGwKQEAgLTAsMCArMSwyOCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNi0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZGljdGlvbmFyeSBFdmVudExpc3RlbmVy
T3B0aW9ucyB7CisgICAgYm9vbGVhbiBjYXB0dXJlID0gZmFsc2U7Cit9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5jcHAKaW5kZXggMzU0YmVlOTk4OTFiNDhhZGU3ZGVkZTJjZGFkOTkxYmI5YWRm
ZjRkNS4uMzFhODFlYWIxOWZjMmUwMTM5NTViOTZmYThjOTc1MDMyZWMzNGVlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKIAorI2luY2x1ZGUgIkFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0Q29uY3JldGUuaCIKQEAgLTgxLDE5ICs4
MiwyOCBAQCBib29sIEV2ZW50VGFyZ2V0OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAgIGxpc3RlbmVyLT5jaGVja1ZhbGlk
aXR5Rm9yRXZlbnRUYXJnZXQoKnRoaXMpOwogI2VuZGlmCiAKKyAgICBpZiAob3B0aW9ucy5zaWdu
YWwgJiYgb3B0aW9ucy5zaWduYWwtPmFib3J0ZWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CiAgICAgYXV0byBwYXNzaXZlID0gb3B0aW9ucy5wYXNzaXZlOwogCiAgICAgaWYgKCFwYXNzaXZl
Lmhhc1ZhbHVlKCkgJiYgUXVpcmtzOjpzaG91bGRNYWtlRXZlbnRMaXN0ZW5lclBhc3NpdmUoKnRo
aXMsIGV2ZW50VHlwZSwgbGlzdGVuZXIuZ2V0KCkpKQogICAgICAgICBwYXNzaXZlID0gdHJ1ZTsK
IAogICAgIGJvb2wgbGlzdGVuZXJDcmVhdGVkRnJvbVNjcmlwdCA9IGxpc3RlbmVyLT50eXBlKCkg
PT0gRXZlbnRMaXN0ZW5lcjo6SlNFdmVudExpc3RlbmVyVHlwZSAmJiAhbGlzdGVuZXItPndhc0Ny
ZWF0ZWRGcm9tTWFya3VwKCk7Ci0gICAgYXV0byBsaXN0ZW5lclJlZiA9IGxpc3RlbmVyLmNvcHlS
ZWYoKTsKIAotICAgIGlmICghZW5zdXJlRXZlbnRUYXJnZXREYXRhKCkuZXZlbnRMaXN0ZW5lck1h
cC5hZGQoZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgeyBvcHRpb25zLmNhcHR1cmUsIHBh
c3NpdmUudmFsdWVPcihmYWxzZSksIG9wdGlvbnMub25jZSB9KSkKKyAgICBpZiAoIWVuc3VyZUV2
ZW50VGFyZ2V0RGF0YSgpLmV2ZW50TGlzdGVuZXJNYXAuYWRkKGV2ZW50VHlwZSwgbGlzdGVuZXIu
Y29weVJlZigpLCB7IG9wdGlvbnMuY2FwdHVyZSwgcGFzc2l2ZS52YWx1ZU9yKGZhbHNlKSwgb3B0
aW9ucy5vbmNlIH0pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAob3B0aW9ucy5z
aWduYWwpIHsKKyAgICAgICAgb3B0aW9ucy5zaWduYWwtPmFkZEFsZ29yaXRobShbd2Vha1RoaXMg
PSBtYWtlV2Vha1B0cigqdGhpcyksIGV2ZW50VHlwZSwgbGlzdGVuZXIgPSBtYWtlV2Vha1B0cihs
aXN0ZW5lci5nZXQoKSksIGNhcHR1cmUgPSBvcHRpb25zLmNhcHR1cmVdIHsKKyAgICAgICAgICAg
IGlmICh3ZWFrVGhpcyAmJiBsaXN0ZW5lcikKKyAgICAgICAgICAgICAgICB3ZWFrVGhpcy0+cmVt
b3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsICpsaXN0ZW5lciwgY2FwdHVyZSk7CisgICAgICAg
IH0pOworICAgIH0KKwogICAgIGlmIChsaXN0ZW5lckNyZWF0ZWRGcm9tU2NyaXB0KQotICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEFkZEV2ZW50TGlzdGVuZXIoKnRoaXMsIGV2
ZW50VHlwZSwgbGlzdGVuZXJSZWYuZ2V0KCksIG9wdGlvbnMuY2FwdHVyZSk7CisgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQWRkRXZlbnRMaXN0ZW5lcigqdGhpcywgZXZlbnRU
eXBlLCBsaXN0ZW5lci5nZXQoKSwgb3B0aW9ucy5jYXB0dXJlKTsKIAogICAgIGlmIChldmVudE5h
bWVzKCkuaXNXaGVlbEV2ZW50VHlwZShldmVudFR5cGUpKQogICAgICAgICBpbnZhbGlkYXRlRXZl
bnRMaXN0ZW5lclJlZ2lvbnMoKTsKQEAgLTExNiwxMiArMTI2LDEyIEBAIHZvaWQgRXZlbnRUYXJn
ZXQ6OmFkZEV2ZW50TGlzdGVuZXJGb3JCaW5kaW5ncyhjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIFJlZlB0CiAgICAgV1RGOjp2aXNpdCh2aXNpdG9yLCB2YXJpYW50KTsKIH0KIAotdm9pZCBF
dmVudFRhcmdldDo6cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgUmVmUHRyPEV2ZW50TGlzdGVuZXI+JiYgbGlzdGVuZXIsIExpc3RlbmVy
T3B0aW9uc09yQm9vbGVhbiYmIHZhcmlhbnQpCit2b2lkIEV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVu
dExpc3RlbmVyRm9yQmluZGluZ3MoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8
RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lciwgRXZlbnRMaXN0ZW5lck9wdGlvbnNPckJvb2xlYW4m
JiB2YXJpYW50KQogewogICAgIGlmICghbGlzdGVuZXIpCiAgICAgICAgIHJldHVybjsKIAotICAg
IGF1dG8gdmlzaXRvciA9IFdURjo6bWFrZVZpc2l0b3IoWyZdKGNvbnN0IExpc3RlbmVyT3B0aW9u
cyYgb3B0aW9ucykgeworICAgIGF1dG8gdmlzaXRvciA9IFdURjo6bWFrZVZpc2l0b3IoWyZdKGNv
bnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKSB7CiAgICAgICAgIHJlbW92ZUV2ZW50
TGlzdGVuZXIoZXZlbnRUeXBlLCAqbGlzdGVuZXIsIG9wdGlvbnMpOwogICAgIH0sIFsmXShib29s
IGNhcHR1cmUpIHsKICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsICpsaXN0
ZW5lciwgY2FwdHVyZSk7CkBAIC0xMzAsNyArMTQwLDcgQEAgdm9pZCBFdmVudFRhcmdldDo6cmVt
b3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
UmUKICAgICBXVEY6OnZpc2l0KHZpc2l0b3IsIHZhcmlhbnQpOwogfQogCi1ib29sIEV2ZW50VGFy
Z2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZl
bnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKK2Jv
b2wgRXZlbnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZl
bnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZlbnRMaXN0ZW5lck9wdGlv
bnMmIG9wdGlvbnMpCiB7CiAgICAgYXV0byogZGF0YSA9IGV2ZW50VGFyZ2V0RGF0YSgpOwogICAg
IGlmICghZGF0YSkKQEAgLTE3MCw3ICsxODAsNyBAQCBib29sIEV2ZW50VGFyZ2V0OjpzZXRBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHRyPAog
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICByZXR1cm4gYWRkRXZlbnRMaXN0ZW5l
cihldmVudFR5cGUsIGxpc3RlbmVyLnJlbGVhc2VOb25OdWxsKCkpOworICAgIHJldHVybiBhZGRF
dmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSwgeyB9KTsK
IH0KIAogRXZlbnRMaXN0ZW5lciogRXZlbnRUYXJnZXQ6OmF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBET01XcmFwcGVyV29ybGQmIGlzb2xhdGVkV29y
bGQpCkBAIC0zMTksNyArMzI5LDcgQEAgdm9pZCBFdmVudFRhcmdldDo6aW5uZXJJbnZva2VFdmVu
dExpc3RlbmVycyhFdmVudCYgZXZlbnQsIEV2ZW50TGlzdGVuZXJWZWN0b3IgbGkKIAogICAgICAg
ICAvLyBEbyB0aGlzIGJlZm9yZSBpbnZvY2F0aW9uIHRvIGF2b2lkIHJlZW50cmFuY3kgaXNzdWVz
LgogICAgICAgICBpZiAocmVnaXN0ZXJlZExpc3RlbmVyLT5pc09uY2UoKSkKLSAgICAgICAgICAg
IHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQudHlwZSgpLCByZWdpc3RlcmVkTGlzdGVuZXItPmNh
bGxiYWNrKCksIExpc3RlbmVyT3B0aW9ucyhyZWdpc3RlcmVkTGlzdGVuZXItPnVzZUNhcHR1cmUo
KSkpOworICAgICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudC50eXBlKCksIHJlZ2lz
dGVyZWRMaXN0ZW5lci0+Y2FsbGJhY2soKSwgcmVnaXN0ZXJlZExpc3RlbmVyLT51c2VDYXB0dXJl
KCkpOwogCiAgICAgICAgIGlmIChyZWdpc3RlcmVkTGlzdGVuZXItPmlzUGFzc2l2ZSgpKQogICAg
ICAgICAgICAgZXZlbnQuc2V0SW5QYXNzaXZlTGlzdGVuZXIodHJ1ZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5oCmluZGV4IGNmY2IyY2IzNTQwZDQzNDZkNjEwNDJiMzUyZjdiY2E4YWJjNTIzZmMu
LjQwOTU5YjFlNmVlMTUxZjJmN2M2NjdlYTM0NTdhN2JhODcyYzdkOTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5oCkBAIC0zMSw2ICszMSw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUg
IkV2ZW50TGlzdGVuZXJNYXAuaCIKKyNpbmNsdWRlICJFdmVudExpc3RlbmVyT3B0aW9ucy5oIgog
I2luY2x1ZGUgIkV2ZW50VGFyZ2V0SW50ZXJmYWNlcy5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbk9y
LmgiCiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCkBAIC0zOCw5ICszOSwxMSBAQAogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgogI2luY2x1
ZGUgPHd0Zi9WYXJpYW50Lmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitzdHJ1Y3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnM7CiBjbGFzcyBET01X
cmFwcGVyV29ybGQ7CiAKIHN0cnVjdCBFdmVudFRhcmdldERhdGEgewpAQCAtNTEsNyArNTQsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZpcmluZ0V2ZW50TGlzdGVuZXJzIHsgZmFsc2UgfTsKIH07
CiAKLWNsYXNzIEV2ZW50VGFyZ2V0IDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CitjbGFzcyBF
dmVudFRhcmdldCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBDYW5NYWtlV2Vha1B0
cjxFdmVudFRhcmdldD4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoRXZlbnRUYXJnZXQp
OwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8RXZlbnRUYXJnZXQ+IGNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0Jik7CkBAIC02Miw0MCArNjUsMjEgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
RXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0
KCkgY29uc3QgPSAwOwogCi0gICAgdmlydHVhbCBib29sIGlzTm9kZSgpIGNvbnN0OwotICAgIHZp
cnR1YWwgYm9vbCBpc1BheW1lbnRSZXF1ZXN0KCkgY29uc3Q7Ci0KLSAgICBzdHJ1Y3QgTGlzdGVu
ZXJPcHRpb25zIHsKLSAgICAgICAgTGlzdGVuZXJPcHRpb25zKGJvb2wgY2FwdHVyZSA9IGZhbHNl
KQotICAgICAgICAgICAgOiBjYXB0dXJlKGNhcHR1cmUpCi0gICAgICAgIHsgfQotCi0gICAgICAg
IGJvb2wgY2FwdHVyZSB7IGZhbHNlIH07Ci0gICAgfTsKLQotICAgIHN0cnVjdCBBZGRFdmVudExp
c3RlbmVyT3B0aW9ucyA6IExpc3RlbmVyT3B0aW9ucyB7Ci0gICAgICAgIEFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zKGJvb2wgY2FwdHVyZSA9IGZhbHNlLCBPcHRpb25hbDxib29sPiBwYXNzaXZlID0g
V1RGOjpudWxsb3B0LCBib29sIG9uY2UgPSBmYWxzZSkKLSAgICAgICAgICAgIDogTGlzdGVuZXJP
cHRpb25zKGNhcHR1cmUpCi0gICAgICAgICAgICAsIHBhc3NpdmUocGFzc2l2ZSkKLSAgICAgICAg
ICAgICwgb25jZShvbmNlKQotICAgICAgICB7IH0KLQotICAgICAgICBPcHRpb25hbDxib29sPiBw
YXNzaXZlOwotICAgICAgICBib29sIG9uY2UgeyBmYWxzZSB9OwotICAgIH07CisgICAgV0VCQ09S
RV9FWFBPUlQgdmlydHVhbCBib29sIGlzTm9kZSgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JU
IHZpcnR1YWwgYm9vbCBpc1BheW1lbnRSZXF1ZXN0KCkgY29uc3Q7CiAKICAgICB1c2luZyBBZGRF
dmVudExpc3RlbmVyT3B0aW9uc09yQm9vbGVhbiA9IFZhcmlhbnQ8QWRkRXZlbnRMaXN0ZW5lck9w
dGlvbnMsIGJvb2w+OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkRXZlbnRMaXN0ZW5lckZv
ckJpbmRpbmdzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+JiYsIEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zT3JCb29sZWFuJiYpOwotICAgIHVzaW5nIExp
c3RlbmVyT3B0aW9uc09yQm9vbGVhbiA9IFZhcmlhbnQ8TGlzdGVuZXJPcHRpb25zLCBib29sPjsK
LSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXJGb3JCaW5kaW5ncyhj
b25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFdmVudExpc3RlbmVyPiYmLCBMaXN0
ZW5lck9wdGlvbnNPckJvb2xlYW4mJik7CisgICAgdXNpbmcgRXZlbnRMaXN0ZW5lck9wdGlvbnNP
ckJvb2xlYW4gPSBWYXJpYW50PEV2ZW50TGlzdGVuZXJPcHRpb25zLCBib29sPjsKKyAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXJGb3JCaW5kaW5ncyhjb25zdCBBdG9t
U3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFdmVudExpc3RlbmVyPiYmLCBFdmVudExpc3RlbmVy
T3B0aW9uc09yQm9vbGVhbiYmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25Pcjxib29s
PiBkaXNwYXRjaEV2ZW50Rm9yQmluZGluZ3MoRXZlbnQmKTsKIAotICAgIFdFQkNPUkVfRVhQT1JU
IHZpcnR1YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlw
ZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJiA9
IHsgfSk7Ci0gICAgdmlydHVhbCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0
cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiA9
IHsgfSk7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIGFkZEV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3Qg
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIGJv
b2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50
TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYgPSB7IH0pOwogCi0gICAgdmly
dHVhbCB2b2lkIHJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCk7Ci0gICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoRXZlbnQoRXZlbnQmKTsKLSAgICB2aXJ0dWFsIHZvaWQgdW5jYXVnaHRFeGNlcHRpb25J
bkV2ZW50SGFuZGxlcigpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCByZW1vdmVB
bGxFdmVudExpc3RlbmVycygpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaEV2ZW50KEV2ZW50Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHVuY2F1
Z2h0RXhjZXB0aW9uSW5FdmVudEhhbmRsZXIoKTsKIAogICAgIC8vIFVzZWQgZm9yIGxlZ2FjeSAi
b25ldmVudCIgYXR0cmlidXRlcy4KICAgICBib29sIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiwgRE9N
V3JhcHBlcldvcmxkJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXQuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbAppbmRleCA1ZmFlMThi
YWRkOWYwNjc4N2FmN2FlZDU3ZmEzNmFmY2YyYTJmMzBlLi4zNjkwZWQ2MDEwZTE0MDYxYTliNjNm
OGVkMTM5ZDQ2MWQ2OWIwM2VlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRU
YXJnZXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwKQEAgLTMy
LDEyICszMiwzIEBACiAgICAgW0ltcGxlbWVudGVkQXM9cmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJp
bmRpbmdzXSB1bmRlZmluZWQgcmVtb3ZlRXZlbnRMaXN0ZW5lcihbQXRvbVN0cmluZ10gRE9NU3Ry
aW5nIHR5cGUsIEV2ZW50TGlzdGVuZXI/IGNhbGxiYWNrLCBvcHRpb25hbCAoRXZlbnRMaXN0ZW5l
ck9wdGlvbnMgb3IgYm9vbGVhbikgb3B0aW9ucyA9IGZhbHNlKTsKICAgICBbSW1wbGVtZW50ZWRB
cz1kaXNwYXRjaEV2ZW50Rm9yQmluZGluZ3MsIE1heVRocm93RXhjZXB0aW9uXSBib29sZWFuIGRp
c3BhdGNoRXZlbnQoRXZlbnQgZXZlbnQpOwogfTsKLQotZGljdGlvbmFyeSBFdmVudExpc3RlbmVy
T3B0aW9ucyB7Ci0gICAgYm9vbGVhbiBjYXB0dXJlID0gZmFsc2U7Ci19OwotCi1kaWN0aW9uYXJ5
IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIDogRXZlbnRMaXN0ZW5lck9wdGlvbnMgewotICAgIGJv
b2xlYW4gcGFzc2l2ZTsKLSAgICBib29sZWFuIG9uY2UgPSBmYWxzZTsKLX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L01lc3NhZ2VQb3J0LmNwcAppbmRleCBiNDE4Mjg1ZGUxZmQwM2NmMTk4ZjFhMThlNzM1OWU4MWI3
ODA2NzkzLi4yMWRkNWYwYjdhZDFiNjA3NDYwNzVkOGY2ZjlmMmZlNDQwNjYwMjMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKQEAgLTEwNCw2ICsxMDQsOSBAQCBNZXNzYWdlUG9ydDo6
TWVzc2FnZVBvcnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwgY29uc3QgTQogICAgIExvY2tlcjxMb2NrPiBsb2NrZXIoYWxsTWVzc2FnZVBvcnRzTG9jayk7
CiAgICAgYWxsTWVzc2FnZVBvcnRzKCkuc2V0KG1faWRlbnRpZmllciwgdGhpcyk7CiAKKyAgICAv
LyBNYWtlIHN1cmUgdGhlIFdlYWtQdHJGYWN0b3J5IGdldHMgaW5pdGlhbGl6ZWQgZWFnZXJseSBv
biB0aGUgdGhyZWFkIHRoZSBNZXNzYWdlUG9ydCBnZXRzIGNvbnN0cnVjdGVkIG9uIGZvciB0aHJl
YWQtc2FmZXR5IHJlYXNvbnMuCisgICAgaW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KCk7CisKICAg
ICBtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmNyZWF0ZWRNZXNzYWdlUG9ydCgqdGhpcyk7CiAg
ICAgc3VzcGVuZElmTmVlZGVkKCk7CiAKQEAgLTQxOSw3ICs0MjIsNyBAQCBib29sIE1lc3NhZ2VQ
b3J0OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2
ZW50TGlzdGVuZQogICAgIHJldHVybiBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhOjphZGRFdmVu
dExpc3RlbmVyKGV2ZW50VHlwZSwgV1RGTW92ZShsaXN0ZW5lciksIG9wdGlvbnMpOwogfQogCi1i
b29sIE1lc3NhZ2VQb3J0OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2
ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYg
b3B0aW9ucykKK2Jvb2wgTWVzc2FnZVBvcnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRv
bVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZlbnRM
aXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgYXV0byByZXN1bHQgPSBFdmVudFRhcmdl
dFdpdGhJbmxpbmVEYXRhOjpyZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIs
IG9wdGlvbnMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCmluZGV4IGM2YmY4ZDFlM2VjZWM0
MWVjZjBhYzY2NjA4M2NiN2I2MWJkOGMyYTUuLjliNGNjYmJkNTZkOTFlZGUxZDQ3MDRmN2RjYzBm
NzlmMDQ0NThlNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCkBAIC00NSw3ICs0NSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRnJhbWU7CiAKLWNsYXNzIE1lc3NhZ2VQb3J0
IGZpbmFsIDogcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElu
bGluZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxNZXNzYWdlUG9ydCwgV2Vha1B0ckZhY3Rv
cnlJbml0aWFsaXphdGlvbjo6RWFnZXI+IHsKK2NsYXNzIE1lc3NhZ2VQb3J0IGZpbmFsIDogcHVi
bGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1lc3NhZ2VQb3J0KTsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKE1lc3NhZ2VQb3J0KTsKIHB1YmxpYzoKQEAgLTk5LDcgKzk5LDcgQEAgcHJpdmF0
ZToKICAgICBleHBsaWNpdCBNZXNzYWdlUG9ydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29u
c3QgTWVzc2FnZVBvcnRJZGVudGlmaWVyJiBsb2NhbCwgY29uc3QgTWVzc2FnZVBvcnRJZGVudGlm
aWVyJiByZW1vdGUpOwogCiAgICAgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zJikgZmluYWw7Ci0gICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0aW9u
cyYpIGZpbmFsOworICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYp
IGZpbmFsOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0CiAgICAgY29uc3QgY2hhciogYWN0aXZl
RE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDRjYjI3ZjYw
NzA2ZWQ0MzZiZGM2YmU0NGNhYTc2YWRkYTViODEwOWMuLjBhMzgyNzU1MjA2NmJiNjU2NzM4YzA1
NThmNzlhOTE4YTgyMjM1ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTIxMjgsNyArMjEyOCw3IEBA
IHZvaWQgTm9kZTo6bW92ZU5vZGVUb05ld0RvY3VtZW50KERvY3VtZW50JiBvbGREb2N1bWVudCwg
RG9jdW1lbnQmIG5ld0RvY3VtZW50KQogICAgICAgICBkb3duY2FzdDxFbGVtZW50PigqdGhpcyku
ZGlkTW92ZVRvTmV3RG9jdW1lbnQob2xkRG9jdW1lbnQsIG5ld0RvY3VtZW50KTsKIH0KIAotc3Rh
dGljIGlubGluZSBib29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lciwg
Y29uc3QgRXZlbnRUYXJnZXQ6OkFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorc3Rh
dGljIGlubGluZSBib29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lciwg
Y29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKCF0YXJn
ZXROb2RlLT5FdmVudFRhcmdldDo6YWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVy
LmNvcHlSZWYoKSwgb3B0aW9ucykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIxNjQsNyAr
MjE2NCw3IEBAIGJvb2wgTm9kZTo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmIGxpCiAgICAgcmV0dXJuIHRyeUFkZEV2ZW50
TGlzdGVuZXIodGhpcywgZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgb3B0aW9ucyk7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCB0cnlSZW1vdmVFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdl
dE5vZGUsIGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVu
ZXIsIGNvbnN0IEV2ZW50VGFyZ2V0OjpMaXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCitzdGF0aWMg
aW5saW5lIGJvb2wgdHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25z
dCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBjb25zdCBF
dmVudExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoIXRhcmdldE5vZGUtPkV2
ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIsIG9wdGlv
bnMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMTk2LDcgKzIxOTYsNyBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgdHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25z
dCBBdG9tU3RyaW5nJiBldgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIE5vZGU6OnJlbW92
ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVy
JiBsaXN0ZW5lciwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9vbCBOb2RlOjpy
ZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0
ZW5lciYgbGlzdGVuZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQogewog
ICAgIHJldHVybiB0cnlSZW1vdmVFdmVudExpc3RlbmVyKHRoaXMsIGV2ZW50VHlwZSwgbGlzdGVu
ZXIsIG9wdGlvbnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggMjllMjhjOWExOTYyN2UwZWQyZjdjZTcy
NzQ3ZjJhNmQ2OWFkMDM2MS4uMzIyYWVlNjBhMDExYzRkYWQyNjg3YjkzN2JlNzc5MzExMzM0M2Iy
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5oCkBAIC02OSw3ICs2OSw3IEBAIGNsYXNzIFRvdWNoRXZlbnQ7CiAKIHVz
aW5nIE5vZGVPclN0cmluZyA9IFZhcmlhbnQ8UmVmUHRyPE5vZGU+LCBTdHJpbmc+OwogCi1jbGFz
cyBOb2RlIDogcHVibGljIENhbk1ha2VXZWFrUHRyPE5vZGU+LCBwdWJsaWMgRXZlbnRUYXJnZXQg
eworY2xhc3MgTm9kZSA6IHB1YmxpYyBFdmVudFRhcmdldCB7CiAgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChOb2RlKTsKIAogICAgIGZyaWVuZCBjbGFzcyBEb2N1bWVudDsKQEAgLTQ0Nyw3ICs0
NDcsNyBAQCBwdWJsaWM6CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFsOyAvLyBJbXBsZW1lbnRlZCBpbiBEb2N1bWVudC5oCiAK
ICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3QgQWRkRXZlbnRMaXN0ZW5l
ck9wdGlvbnMmKSBvdmVycmlkZTsKLSAgICBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRp
b25zJikgb3ZlcnJpZGU7CisgICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21T
dHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRp
b25zJikgb3ZlcnJpZGU7CiAKICAgICB1c2luZyBFdmVudFRhcmdldDo6ZGlzcGF0Y2hFdmVudDsK
ICAgICB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDk0ZmU0ZjJiYTM0Yzk4YTZhMDViZWFmMzVk
YTc1YmMxOWExYTJmZTYuLjgyMDg5MTZhOTlkOTdlZTM5ODkwYzM4MTY0ZWFkNDE3NDYyNDU4MmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNTc5NSw3ICs1
Nzk1LDcgQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
Ym9vbCBIVE1MTWVkaWFFbGVtZW50OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0
aW9ucyYgb3B0aW9ucykKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5l
cihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBj
b25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICNpZiBFTkFCTEUoTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICBpZiAoZXZl
bnRUeXBlID09IGV2ZW50TmFtZXMoKS53ZWJraXRuZWVka2V5RXZlbnQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGM3YmU3MDZkZGZkNzI4ZjVmNTI3ZWVkYzQ1YTQ1
ZmE0ZDg3MzBjZWIuLjEyNDMyYmQ1Yjk2YmI2YzExNjUwMzNhYjNmNzY1YTgxYmVlZjc2NzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC00MDIsNyArNDAyLDcgQEAg
cHVibGljOgogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgdm9pZCB3
ZWJraXRTaG93UGxheWJhY2tUYXJnZXRQaWNrZXIoKTsKICAgICBib29sIGFkZEV2ZW50TGlzdGVu
ZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29u
c3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlkZTsKLSAgICBib29sIHJlbW92ZUV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwg
Y29uc3QgTGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CisgICAgYm9vbCByZW1vdmVFdmVudExp
c3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0
IEV2ZW50TGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHdpcmVsZXNzUm91
dGVzQXZhaWxhYmxlRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRXaXJlbGVzc1Bs
YXliYWNrVGFyZ2V0KFJlZjxNZWRpYVBsYXliYWNrVGFyZ2V0PiYmKSBvdmVycmlkZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCmluZGV4IGE1NDZlMWQwNjc1ZTI2NWMzOTgwZmM2
NTdmZDY3OWIzNDVlMjdiZjkuLjQ1MzhjZjc2OTA1MTIwOWNhMzk5MjcyYzBkOWFjODI2MzdmZDFm
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcApAQCAtMjUsNiArMjUsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkltYWdlRG9jdW1lbnQuaCIKIAorI2lu
Y2x1ZGUgIkFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1hZ2Uu
aCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZS5oCmluZGV4IGJkOTc2ZTRjMzlmYTUxN2Q1
NjBmNTViOWJjZWFmZDE5ZDMxOWZiZWQuLmI1MDM4MWM1YWRmY2Y2ZjUwZmVkMzVkNGE4OWQxZTc4
MTc1M2QzNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
Q3VlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuaApAQCAt
NjIsNyArNjIsNyBAQCBwcml2YXRlOgogICAgIFdlYWtQdHI8VGV4dFRyYWNrQ3VlPiBtX2N1ZTsK
IH07CiAKLWNsYXNzIFRleHRUcmFja0N1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRUcmFja0N1
ZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8VGV4dFRyYWNrQ3VlPiB7CitjbGFzcyBUZXh0VHJhY2tDdWUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxUZXh0VHJhY2tDdWU+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChUZXh0VHJhY2tDdWUpOwogcHVibGljOgogICAgIHN0YXRp
YyBjb25zdCBBdG9tU3RyaW5nJiBjdWVTaGFkb3dQc2V1ZG9JZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCBm
Yjk5MzFkOTE5OTkyZmYxODY4MWE0NWUxNzkxZmI5NmFjZTA4NGVjLi41Y2I1OGI5Yzk5ZDlkNjlh
MGVkYjAzNWU0YmVjZDM0YjkxNmYyNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMzMsNiArMzMsNyBAQAog
CiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0LmgiCisjaW5jbHVkZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRl
ICJBdHRyLmgiCiAjaW5jbHVkZSAiQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgiCiAjaW5j
bHVkZSAiQ1NTUGFyc2VyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaAppbmRleCBkMDlkMmU0NzZjNTI2ZWFiMmEyNzU3YWFh
MWViOTAyMDE0MTlmZWNjLi5hZTE4NmFlZWZlNDI5OWNjYWUzZDk2ODQzYmQ1YTBkZWI1YTNiODM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRp
b25DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNh
dGlvbkNhY2hlLmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
QXBwbGljYXRpb25DYWNoZUhvc3Q7CiBjbGFzcyBGcmFtZTsKIAotY2xhc3MgRE9NQXBwbGljYXRp
b25DYWNoZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUFwcGxpY2F0aW9uQ2FjaGU+LCBw
dWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5
LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8RE9NQXBwbGljYXRpb25DYWNoZT4geworY2xhc3MgRE9N
QXBwbGljYXRpb25DYWNoZSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPERPTUFwcGxpY2F0aW9u
Q2FjaGU+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIERPTVdpbmRv
d1Byb3BlcnR5IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKERPTUFwcGxpY2F0aW9uQ2Fj
aGUpOwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8RE9NQXBwbGljYXRpb25DYWNoZT4gY3JlYXRl
KERPTVdpbmRvdyYgd2luZG93KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTUFwcGxpY2F0aW9u
Q2FjaGUod2luZG93KSk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA3NjVhYzQ3
MWZmZjlkNTM0YTliZmY5MWE5YjNlMTlhYjhiYmUyNDI0Li43MzY4NGI0ZTJlYTk3ODUxODE5NjY3
YmU2ODQ5YzU5MzY3NDkyZGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0yMTQ1
LDcgKzIxNDUsNyBAQCB2b2lkIERPTVdpbmRvdzo6cmVzZXRBbGxHZW9sb2NhdGlvblBlcm1pc3Np
b24oKQogI2VuZGlmCiB9CiAKLWJvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKGNv
bnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0
IExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKK2Jvb2wgRE9NV2luZG93OjpyZW1vdmVFdmVudExp
c3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVu
ZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQogewogICAgIGlmICghRXZl
bnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9u
cy5jYXB0dXJlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgK
aW5kZXggYWMyNzg0Zjg5NzdkMTFhODE3ZTMyOTk2MmJmZjA1NjMxNjFkNGIwYS4uMGUzNTExN2Y1
YWQ4YWI4ZmRkZjRkZGY2NjY5MDE3YzAxZjg5YzQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5o
CkBAIC0xMTEsNyArMTExLDYgQEAgc3RydWN0IFdpbmRvd1Bvc3RNZXNzYWdlT3B0aW9ucyA6IHB1
YmxpYyBQb3N0TWVzc2FnZU9wdGlvbnMgewogLy8gRklYTUU6IFJlbmFtZSBET01XaW5kb3cgdG8g
TG9jYWxXaW5kb3cgYW5kIEFic3RyYWN0RE9NV2luZG93IHRvIERPTVdpbmRvdy4KIGNsYXNzIERP
TVdpbmRvdyBmaW5hbAogICAgIDogcHVibGljIEFic3RyYWN0RE9NV2luZG93Ci0gICAgLCBwdWJs
aWMgQ2FuTWFrZVdlYWtQdHI8RE9NV2luZG93PgogICAgICwgcHVibGljIENvbnRleHREZXN0cnVj
dGlvbk9ic2VydmVyCiAgICAgLCBwdWJsaWMgQmFzZTY0VXRpbGl0aWVzCiAgICAgLCBwdWJsaWMg
U3VwcGxlbWVudGFibGU8RE9NV2luZG93PiB7CkBAIC0zMTQsNyArMzEzLDcgQEAgcHVibGljOgog
ICAgIC8vIEV2ZW50cwogICAgIC8vIEV2ZW50VGFyZ2V0IEFQSQogICAgIGJvb2wgYWRkRXZlbnRM
aXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYm
LCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYpIGZpbmFsOwotICAgIGJvb2wgcmVtb3Zl
RXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIm
LCBjb25zdCBMaXN0ZW5lck9wdGlvbnMmKSBmaW5hbDsKKyAgICBib29sIHJlbW92ZUV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3Qg
RXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBmaW5hbDsKICAgICB2b2lkIHJlbW92ZUFsbEV2ZW50TGlz
dGVuZXJzKCkgZmluYWw7CiAKICAgICB1c2luZyBFdmVudFRhcmdldDo6ZGlzcGF0Y2hFdmVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXliYWNrU2Vzc2lv
bk1vZGVsTWVkaWFFbGVtZW50Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxh
eWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KaW5kZXggNWU2MDFkMzdhNTdlMzgzOWM4
YmNjNWJjNWEzYjFkNDU0MTQwMTEzNS4uMTA1MmJlNzBhMzc4ZTg0N2QzYWUyOTk0NjRhMzExMzRi
Yjc4NmI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJh
Y2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW0KQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpIHx8IChQTEFURk9STShNQUMpICYmIEVO
QUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkpCiAKKyNpbXBvcnQgIkFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zLmgiCiAjaW1wb3J0ICJBdWRpb1RyYWNrTGlzdC5oIgogI2ltcG9ydCAiRXZlbnQu
aCIKICNpbXBvcnQgIkV2ZW50TGlzdGVuZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1ZpZGVvRnVsbHNjcmVlbk1vZGVsVmlkZW9FbGVtZW50Lm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRlb0VsZW1l
bnQubW0KaW5kZXggNGNhNGMyY2JjNjBkMGEzNTRjNWIzNGE2NjMzZTZiZTc4NDU4MjcxMi4uNzMx
YTlmZmZkNmQ2ZWFjNjQxOTI5MTQ5MWFmYTUzNTkwMjE5M2Q5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRlb0VsZW1lbnQu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmlkZW9GdWxsc2NyZWVuTW9k
ZWxWaWRlb0VsZW1lbnQubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShWSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkKIAorI2ltcG9ydCAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIK
ICNpbXBvcnQgIkRPTVdpbmRvdy5oIgogI2ltcG9ydCAiRXZlbnQuaCIKICNpbXBvcnQgIkV2ZW50
TGlzdGVuZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCBjYWFjNTU3ODMyMjA3
NDk1MGU0OGI1NDU5MWNiOTlmNWYxNzY5OGY5Li5kNDgwZTVmNmFlMDcyMjU3ODlhMjFiMDU0OGNi
MzY2NDA3MDUxZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC0zODEsNyArMzgx
LDcgQEAgYm9vbCBTVkdFbGVtZW50OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcm
IGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXIKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9v
bCBTVkdFbGVtZW50OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50
VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYgb3B0
aW9ucykKK2Jvb2wgU1ZHRWxlbWVudDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3Ry
aW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBjb25zdCBFdmVudExpc3Rl
bmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkK
ICAgICAgICAgcmV0dXJuIE5vZGU6OnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0
ZW5lciwgb3B0aW9ucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAppbmRleCBhZTZjMDc2NWY0M2Qy
MjMwZDQ1ODliYzA2ZTA4YzA5ODRmOTg3NzM0Li5hODRjOWJmNzJmNzE1MTk0YTkzNjE4ZjAyZGI1
ZjgzZDNjN2I4ZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKQEAgLTExMiw3ICsxMTIsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGhhdmVMb2FkZWRSZXF1aXJlZFJlc291cmNlcygp
OwogCiAgICAgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlw
ZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJikg
b3ZlcnJpZGU7Ci0gICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcm
IGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYpIG92ZXJy
aWRlOworICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVu
dFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYpIG92ZXJy
aWRlOwogCiAgICAgYm9vbCBoYXNUYWdOYW1lKGNvbnN0IFNWR1F1YWxpZmllZE5hbWUmIG5hbWUp
IGNvbnN0IHsgcmV0dXJuIGhhc0xvY2FsTmFtZShuYW1lLmxvY2FsTmFtZSgpKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcAppbmRleCAxMzI5MmJjNmNjNTAwMzFkOTg1NDcx
OGVlNGFkNGFiYTM3MjNhZGZhLi43NjlhYTFhMTJkZmVjYjk1ZTg2YzYxODkyMDBjMWQ3ZWI2Mjg2
NjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAKQEAgLTIzLDYgKzIzLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdUUmVmRWxlbWVudC5oIgogCisj
aW5jbHVkZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJFdmVudExpc3Rl
bmVyLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIk11dGF0aW9uRXZlbnQu
aCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9hbmltYXRpb24vU1ZHU01JTEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAK
aW5kZXggMDQzMjEyOGM5ODEyZTk1YjYwZWM3MTdhNmU4Zjc5NTllOWZjNDJhYi4uNjgxOTFiOTRh
NDAwMTA1ZmIyNmExNjkyZTZmMDJkYjU3OGNiYWVjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdTTUlMRWxlbWVudC5oIgogCisjaW5jbHVkZSAi
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGZlNzIwZTkzNWVlOWYzMmFjYzdkOGQ4ZWNiNWY1MzFh
Y2IxZDlmMjEuLjdlZmQ2OGY2Zjg2NzI2Y2FjYjY1OWYwNDY1MjBjZjRkMWI1YTVjZGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1
ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY3Rpdml0eVN0YXRlLmgiCisjaW5jbHVk
ZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJBbmltYXRpb25UaW1lbGlu
ZS5oIgogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmgiCiAjaW5jbHVkZSAiQXVk
aW9TZXNzaW9uLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAppbmRleCA1YzRiOTcwMmM0MGJhNThhMWU2YmM5NWVm
ZDA2N2YwODk4OTk5NzAwLi5lYmJlOTVlODkyNGM4ZjFkNzM3NTI1ZGVhMTYzMGIxZmFkNTZmYjI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJBZGRFdmVu
dExpc3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAi
SURMVHlwZXMuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvRE9NL0dP
YmplY3RFdmVudExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2d0ay9ET00vR09iamVjdEV2ZW50TGlzdGVuZXIuaAppbmRleCBiZTIzM2MzYzAx
ZmI0ZWEwNmNhODY0NDkzYWNkNWUyOGFiNGEzNTU2Li45MTdlZDg2ZDg3OGRmYjNmMTc3MzUxYzZk
ZjM4ZGFkNjg4ODE2YmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2d0ay9ET00vR09iamVjdEV2ZW50TGlzdGVuZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9ET00vR09iamVjdEV2
ZW50TGlzdGVuZXIuaApAQCAtMTgsNiArMTgsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1
ZGUgPFdlYkNvcmUvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0V2ZW50TGlzdGVuZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0V2ZW50VGFyZ2V0Lmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1BsdWdpbnMvUERGL1BERlBsdWdpbkFubm90YXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luQW5ub3RhdGlvbi5tbQppbmRleCBiYjA5ZWQzODQz
ZmRiMTUwY2JkZTEwYzEzOThlYzE1MjdkYTY5Yjk5Li5jYWVmM2UxOTAwYzI4M2MxYjM2MDUzOTQx
MjI4ZWUwZTcxNmQ2NzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luQW5ub3RhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvUGx1Z2lucy9QREYvUERGUGx1Z2luQW5ub3RhdGlvbi5tbQpAQCAtMzQsNiArMzQsNyBA
QAogI2ltcG9ydCAiUERGUGx1Z2luQ2hvaWNlQW5ub3RhdGlvbi5oIgogI2ltcG9ydCAiUERGUGx1
Z2luVGV4dEFubm90YXRpb24uaCIKICNpbXBvcnQgPFF1YXJ0ei9RdWFydHouaD4KKyNpbXBvcnQg
PFdlYkNvcmUvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ1NT
UHJpbWl0aXZlVmFsdWUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ1NTUHJvcGVydHlOYW1lcy5oPgog
I2ltcG9ydCA8V2ViQ29yZS9Db2xvck1hYy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvRE9NL0RPTU5vZGUubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9N
Tm9kZS5tbQppbmRleCAyY2Q5YjMzMWFlYThmMTBmN2Y5MTE0YzQ0YTExY2RhM2Q4Y2U4MWFkLi41
ZDE0YmExNDk2ZTI5NGQyNTYxNjJmODM4MmEzMWVjMDgyYjYzZGYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9ET00vRE9NTm9kZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9ET00vRE9NTm9kZS5tbQpAQCAtMzMsNiArMzMsNyBAQAogI2ltcG9ydCAiRE9NTm9k
ZUxpc3RJbnRlcm5hbC5oIgogI2ltcG9ydCAiRXhjZXB0aW9uSGFuZGxlcnMuaCIKICNpbXBvcnQg
Ik9iakNFdmVudExpc3RlbmVyLmgiCisjaW1wb3J0IDxXZWJDb3JlL0FkZEV2ZW50TGlzdGVuZXJP
cHRpb25zLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTUltcGxlbWVudGF0aW9uLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0VsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvSlNFeGVjU3RhdGUuaD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0RPTUNvcmVDbGFzc2VzLmNwcCBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0RPTUNvcmVDbGFzc2VzLmNwcAppbmRleCBiMDM2MWZlYWQ1
N2QwMzEyZjU0Yzk1ZTQxYmE0Y2FmMmJjYzJjZGZlLi41ZGZhZDhkYTU1ZThmMjg3ZWExOTljOWVi
ZDk4NjFlNjNkNDUxODlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9ET01D
b3JlQ2xhc3Nlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRE9NQ29yZUNsYXNz
ZXMuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRE9NRXZlbnRzQ2xhc3Nlcy5oIgog
I2luY2x1ZGUgIkRPTUhUTUxDbGFzc2VzLmgiCiAjaW5jbHVkZSAiV2ViS2l0R3JhcGhpY3MuaCIK
KyNpbmNsdWRlIDxXZWJDb3JlL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9BdHRyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9CU3RyaW5nLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9DT01QdHIuaD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDIzMTZl
ZDYyM2Q0ODZhZDY5NzE1ZjNhYjdmMmRlYWNlNTY2NjYwNDkuLjM4YWQzMjhmNTUzM2Y5MDFkMzg5
ZTBhNjY1MmJiMDhkM2U1MGJmMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIwIEBACisyMDIxLTAxLTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgU3VwcG9ydCBBYm9ydFNpZ25hbCBpbiBhZGRFdmVudExpc3RlbmVyT3B0aW9u
cyB0byB1bnN1YnNjcmliZSBmcm9tIGV2ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzUzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MTI1
ODAxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bXBvcnQgdGVzdCBjb3ZlcmFnZSBmcm9tIFdQVC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnktZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9B
ZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNp
Z25hbC5hbnkuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZl
bnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvdzNjLWltcG9ydC5sb2c6CisKIDIwMjEt
MDEtMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBt
b3JlIGRlc2NyaXB0aXZlIG1lc3NhZ2VzIHRvIHNldExvY2FsRGVzY3JpcHRpb24vc2V0UmVtb3Rl
RGVzY3JpcHRpb24gZXJyb3IgY2FzZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9u
cy1zaWduYWwuYW55LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwu
YW55LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTM5Y2U1MWEzMzI3MDM4OGIyZTgxMTg2NDAy
ZGM3YTAxY2I2Njk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNp
Z25hbC5hbnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKKworUEFTUyBQYXNzaW5nIGFu
IEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgb3B0aW9ucyBzaG91bGQgYWxsb3cgcmVt
b3ZpbmcgYSBsaXN0ZW5lcgorUEFTUyBQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50
TGlzdGVuZXIgZG9lcyBub3QgcHJldmVudCByZW1vdmVFdmVudExpc3RlbmVyCitQQVNTIFBhc3Np
bmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciB3b3JrcyB3aXRoIHRoZSBvbmNl
IGZsYWcKK1BBU1MgUmVtb3ZpbmcgYSBvbmNlIGxpc3RlbmVyIHdvcmtzIHdpdGggYSBwYXNzZWQg
c2lnbmFsCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gbXVsdGlwbGUgbGlzdGVuZXJz
CitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciB3b3JrcyB3
aXRoIHRoZSBjYXB0dXJlIGZsYWcKK1BBU1MgQWJvcnRpbmcgZnJvbSBhIGxpc3RlbmVyIGRvZXMg
bm90IGNhbGwgZnV0dXJlIGxpc3RlbmVycworUEFTUyBBZGRpbmcgdGhlbiBhYm9ydGluZyBhIGxp
c3RlbmVyIGluIGFub3RoZXIgbGlzdGVuZXIgZG9lcyBub3QgY2FsbCBpdAorUEFTUyBBYm9ydGlu
ZyBmcm9tIGEgbmVzdGVkIGxpc3RlbmVyIHNob3VsZCByZW1vdmUgaXQKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0Fk
ZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0
aW9ucy1zaWduYWwuYW55Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2
MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9u
cy1zaWduYWwuYW55Lmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWly
ZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRl
c3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlz
dGVuZXJPcHRpb25zLXNpZ25hbC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFs
LmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40Mjg3MTA2MWYzYjkxNjdjZmEyOGU1MzZiODYwODg0NDY4NDQy
N2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnku
anMKQEAgLTAsMCArMSwxMzMgQEAKKyd1c2Ugc3RyaWN0JzsKKwordGVzdChmdW5jdGlvbigpIHsK
KyAgbGV0IGNvdW50ID0gMDsKKyAgZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAgICBjb3VudCsrOwor
ICB9CisgIGNvbnN0IGV0ID0gbmV3IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0IGNvbnRyb2xsZXIg
PSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBo
YW5kbGVyLCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgfSk7CisgIGV0LmRpc3BhdGNoRXZl
bnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAxLCAiQWRkaW5n
IGEgc2lnbmFsIHN0aWxsIGFkZHMgYSBsaXN0ZW5lciIpOworICBldC5kaXNwYXRjaEV2ZW50KG5l
dyBFdmVudCgndGVzdCcpKTsKKyAgYXNzZXJ0X2VxdWFscyhjb3VudCwgMiwgIlRoZSBsaXN0ZW5l
ciB3YXMgbm90IGFkZGVkIHdpdGggdGhlIG9uY2UgZmxhZyIpOworICBjb250cm9sbGVyLmFib3J0
KCk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3NlcnRfZXF1
YWxzKGNvdW50LCAyLCAiQWJvcnRpbmcgb24gdGhlIGNvbnRyb2xsZXIgcmVtb3ZlcyB0aGUgbGlz
dGVuZXIiKTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFs
OiBjb250cm9sbGVyLnNpZ25hbCB9KTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rl
c3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQsIDIsICJQYXNzaW5nIGFuIGFib3J0ZWQgc2ln
bmFsIG5ldmVyIGFkZHMgdGhlIGhhbmRsZXIiKTsKK30sICJQYXNzaW5nIGFuIEFib3J0U2lnbmFs
IHRvIGFkZEV2ZW50TGlzdGVuZXIgb3B0aW9ucyBzaG91bGQgYWxsb3cgcmVtb3ZpbmcgYSBsaXN0
ZW5lciIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBsZXQgY291bnQgPSAwOworICBmdW5jdGlv
biBoYW5kbGVyKCkgeworICAgIGNvdW50Kys7CisgIH0KKyAgY29uc3QgZXQgPSBuZXcgRXZlbnRU
YXJnZXQoKTsKKyAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAg
ZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVy
LnNpZ25hbCB9KTsKKyAgZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIpOwor
ICBldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgndGVzdCcpKTsKKyAgYXNzZXJ0X2VxdWFscyhj
b3VudCwgMCwgIlRoZSBsaXN0ZW5lciB3YXMgc3RpbGwgcmVtb3ZlZCIpOworfSwgIlBhc3Npbmcg
YW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciBkb2VzIG5vdCBwcmV2ZW50IHJlbW92
ZUV2ZW50TGlzdGVuZXIiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgbGV0IGNvdW50ID0gMDsK
KyAgZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAgICBjb3VudCsrOworICB9CisgIGNvbnN0IGV0ID0g
bmV3IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9s
bGVyKCk7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoYW5kbGVyLCB7IHNpZ25hbDog
Y29udHJvbGxlci5zaWduYWwsIG9uY2U6IHRydWUgfSk7CisgIGNvbnRyb2xsZXIuYWJvcnQoKTsK
KyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMo
Y291bnQsIDAsICJUaGUgbGlzdGVuZXIgd2FzIHN0aWxsIHJlbW92ZWQiKTsKK30sICJQYXNzaW5n
IGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgd29ya3Mgd2l0aCB0aGUgb25jZSBm
bGFnIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0aW9u
IGhhbmRsZXIoKSB7CisgICAgY291bnQrKzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVudFRh
cmdldCgpOworICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOworICBl
dC5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIu
c2lnbmFsLCBvbmNlOiB0cnVlIH0pOworICBldC5yZW1vdmVFdmVudExpc3RlbmVyKCd0ZXN0Jywg
aGFuZGxlcik7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3Nl
cnRfZXF1YWxzKGNvdW50LCAwLCAiVGhlIGxpc3RlbmVyIHdhcyBzdGlsbCByZW1vdmVkIik7Cit9
LCAiUmVtb3ZpbmcgYSBvbmNlIGxpc3RlbmVyIHdvcmtzIHdpdGggYSBwYXNzZWQgc2lnbmFsIik7
CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0aW9uIGhhbmRs
ZXIoKSB7CisgICAgY291bnQrKzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVudFRhcmdldCgp
OworICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOworICBldC5hZGRF
dmVudExpc3RlbmVyKCdmaXJzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25h
bCwgb25jZTogdHJ1ZSB9KTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcignc2Vjb25kJywgaGFuZGxl
ciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLCBvbmNlOiB0cnVlIH0pOworICBjb250cm9s
bGVyLmFib3J0KCk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmaXJzdCcpKTsKKyAg
ZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3NlY29uZCcpKTsKKyAgYXNzZXJ0X2VxdWFscyhj
b3VudCwgMCwgIlRoZSBsaXN0ZW5lciB3YXMgc3RpbGwgcmVtb3ZlZCIpOworfSwgIlBhc3Npbmcg
YW4gQWJvcnRTaWduYWwgdG8gbXVsdGlwbGUgbGlzdGVuZXJzIik7CisKK3Rlc3QoZnVuY3Rpb24o
KSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7CisgICAgY291bnQr
KzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVudFRhcmdldCgpOworICBjb25zdCBjb250cm9s
bGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOworICBldC5hZGRFdmVudExpc3RlbmVyKCd0ZXN0
JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLCBjYXB0dXJlOiB0cnVlIH0p
OworICBjb250cm9sbGVyLmFib3J0KCk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0
ZXN0JykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAwLCAiVGhlIGxpc3RlbmVyIHdhcyBzdGls
bCByZW1vdmVkIik7Cit9LCAiUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0byBhZGRFdmVudExpc3Rl
bmVyIHdvcmtzIHdpdGggdGhlIGNhcHR1cmUgZmxhZyIpOworCit0ZXN0KGZ1bmN0aW9uKCkgewor
ICBsZXQgY291bnQgPSAwOworICBmdW5jdGlvbiBoYW5kbGVyKCkgeworICAgIGNvdW50Kys7Cisg
IH0KKyAgY29uc3QgZXQgPSBuZXcgRXZlbnRUYXJnZXQoKTsKKyAgY29uc3QgY29udHJvbGxlciA9
IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsICgp
ID0+IHsKKyAgICBjb250cm9sbGVyLmFib3J0KCk7CisgIH0sIHsgc2lnbmFsOiBjb250cm9sbGVy
LnNpZ25hbCB9KTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsgc2ln
bmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQo
J3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQsIDAsICJUaGUgbGlzdGVuZXIgd2FzIHN0
aWxsIHJlbW92ZWQiKTsKK30sICJBYm9ydGluZyBmcm9tIGEgbGlzdGVuZXIgZG9lcyBub3QgY2Fs
bCBmdXR1cmUgbGlzdGVuZXJzIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBjb3VudCA9
IDA7CisgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7CisgICAgY291bnQrKzsKKyAgfQorICBjb25zdCBl
dCA9IG5ldyBFdmVudFRhcmdldCgpOworICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29u
dHJvbGxlcigpOworICBldC5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgKCkgPT4geworICAgIGV0
LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoYW5kbGVyLCB7IHNpZ25hbDogY29udHJvbGxlci5z
aWduYWwgfSk7CisgICAgY29udHJvbGxlci5hYm9ydCgpOworICB9LCB7IHNpZ25hbDogY29udHJv
bGxlci5zaWduYWwgfSk7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0JykpOwor
ICBhc3NlcnRfZXF1YWxzKGNvdW50LCAwLCAiVGhlIGxpc3RlbmVyIHdhcyBzdGlsbCByZW1vdmVk
Iik7Cit9LCAiQWRkaW5nIHRoZW4gYWJvcnRpbmcgYSBsaXN0ZW5lciBpbiBhbm90aGVyIGxpc3Rl
bmVyIGRvZXMgbm90IGNhbGwgaXQiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgY29uc3QgZXQg
PSBuZXcgRXZlbnRUYXJnZXQoKTsKKyAgY29uc3QgYWMgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7
CisgIGxldCBjb3VudCA9IDA7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvbycsICgpID0+IHsK
KyAgICBldC5hZGRFdmVudExpc3RlbmVyKCdmb28nLCAoKSA9PiB7CisgICAgICBjb3VudCsrOwor
ICAgICAgaWYgKGNvdW50ID4gNSkgYWMuYWJvcnQoKTsKKyAgICAgIGV0LmRpc3BhdGNoRXZlbnQo
bmV3IEV2ZW50KCdmb28nKSk7CisgICAgfSwgeyBzaWduYWw6IGFjLnNpZ25hbCB9KTsKKyAgICBl
dC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZm9vJykpOworICB9LCB7IG9uY2U6IHRydWUgfSk7
CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdmb28nKSk7Cit9LCAiQWJvcnRpbmcgZnJv
bSBhIG5lc3RlZCBsaXN0ZW5lciBzaG91bGQgcmVtb3ZlIGl0Iik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZl
bnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50
TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lZTM5Y2U1MWEzMzI3MDM4OGIyZTgxMTg2NDAyZGM3YTAxY2I2Njk4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29ya2VyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDExIEBACisKK1BBU1MgUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0byBhZGRF
dmVudExpc3RlbmVyIG9wdGlvbnMgc2hvdWxkIGFsbG93IHJlbW92aW5nIGEgbGlzdGVuZXIKK1BB
U1MgUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0byBhZGRFdmVudExpc3RlbmVyIGRvZXMgbm90IHBy
ZXZlbnQgcmVtb3ZlRXZlbnRMaXN0ZW5lcgorUEFTUyBQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRv
IGFkZEV2ZW50TGlzdGVuZXIgd29ya3Mgd2l0aCB0aGUgb25jZSBmbGFnCitQQVNTIFJlbW92aW5n
IGEgb25jZSBsaXN0ZW5lciB3b3JrcyB3aXRoIGEgcGFzc2VkIHNpZ25hbAorUEFTUyBQYXNzaW5n
IGFuIEFib3J0U2lnbmFsIHRvIG11bHRpcGxlIGxpc3RlbmVycworUEFTUyBQYXNzaW5nIGFuIEFi
b3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgd29ya3Mgd2l0aCB0aGUgY2FwdHVyZSBmbGFn
CitQQVNTIEFib3J0aW5nIGZyb20gYSBsaXN0ZW5lciBkb2VzIG5vdCBjYWxsIGZ1dHVyZSBsaXN0
ZW5lcnMKK1BBU1MgQWRkaW5nIHRoZW4gYWJvcnRpbmcgYSBsaXN0ZW5lciBpbiBhbm90aGVyIGxp
c3RlbmVyIGRvZXMgbm90IGNhbGwgaXQKK1BBU1MgQWJvcnRpbmcgZnJvbSBhIG5lc3RlZCBsaXN0
ZW5lciBzaG91bGQgcmVtb3ZlIGl0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9u
cy1zaWduYWwuYW55Lndvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5h
bnkud29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2
MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWdu
YWwuYW55Lndvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVp
cmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0
ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy93M2MtaW1wb3J0
LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy93M2MtaW1wb3J0LmxvZwppbmRleCAyN2RiYWNhYzc2MGZmZWVjMzA0YWVmMmE4NDgxNWQ1
MWY1ODQ5NmY3Li40YTQzOTk2YTE4NWY0ZjA0ZjAwMWZlNzAxZDA1NmU5MzQ1MDQ3MTFlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3czYy1pbXBvcnQubG9nCkBAIC0xNiw2ICsxNiw3IEBA
IE5vbmUKIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLW9uY2UuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9B
ZGRFdmVudExpc3RlbmVyT3B0aW9ucy1wYXNzaXZlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlv
bnMtc2lnbmFsLmFueS5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9DdXN0b21FdmVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWNhbmNlbEJ1YmJsZS5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L0V2ZW50LWNvbnN0YW50cy5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418299</attachid>
            <date>2021-01-25 09:07:30 -0800</date>
            <delta_ts>2021-01-25 12:06:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218753-20210125090730.patch</filename>
            <type>text/plain</type>
            <size>84936</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBiODYyNDAzMzNkNDE0N2QzYTk5NTRl
MTEzOWYwMTFjMTljZDczYmYuLjFhNGUwYWI2ZDU0OTRjNGFjNzFkMWI5OTA1ODU0YjIxYzdjOGUw
MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IEFib3J0U2lnbmFsIGluIGFkZEV2ZW50TGlz
dGVuZXJPcHRpb25zIHRvIHVuc3Vic2NyaWJlIGZyb20gZXZlbnRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg3NTMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzcxMjU4MDEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisg
ICAgICAgIEFkZCBpbml0aWFsaXplV2Vha1B0ckZhY3RvcnkoKSBwcm90ZWN0aW9uIGZ1bmN0aW9u
IHRvIENhbk1ha2VXZWFrUHRyIHNvIHRoYXQgYSBzdWJjbGFzcworICAgICAgICBjYW4gZWFnZXJs
eSBpbml0aWFsaXplIHRoZSBXZWFrUHRyRmFjdG9yeSBldmVuIGlmIGl0IGRvZXMgbm90IHN1YmNs
YXNzCisgICAgICAgIFdlYWtQdHJGYWN0b3J5PFQsIFdlYWtQdHJGYWN0b3J5SW5pdGlhbGl6YXRp
b246OkVhZ2VyPi4gTWVzc2FnZVBvcnQgdXNlZCB0byBzdWJjbGFzcworICAgICAgICBXZWFrUHRy
RmFjdG9yeTxULCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpFYWdlcj4gZm9yIHRocmVh
ZC1zYWZldHkgcmVhc29uIGJ1dCBpdAorICAgICAgICBub3cgc3ViY2xhc3NlcyBXZWFrUHRyRmFj
dG9yeTxULCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpMYXp5PiB2aWEgRXZlbnRUYXJn
ZXQuCisKKyAgICAgICAgKiB3dGYvV2Vha1B0ci5oOgorICAgICAgICAoV1RGOjpDYW5NYWtlV2Vh
a1B0cjo6aW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KToKKwogMjAyMS0wMS0yMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYXR0ZW1wdCB0byBm
aXggV2F0Y2hPUyBidWlsZCBhZnRlciByMjcxNjczLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhmMzdmM2QxYjhm
NjViMjEwMmUwNDdjMDQ0MzM0NDI1YmViMzRiNjQuLjYwNmIyNTlhYTE5NDgwZjdjZDRhODQxOGVk
ZDA4MGRlYzMwYjAzODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OSBAQAorMjAyMS0wMS0yMiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgQWJvcnRT
aWduYWwgaW4gYWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgdG8gdW5zdWJzY3JpYmUgZnJvbSBldmVu
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNTgwMTI+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgU3VwcG9ydCBBYm9ydFNpZ25hbCBpbiBhZGRFdmVu
dExpc3RlbmVyT3B0aW9ucyB0byB1bnN1YnNjcmliZSBmcm9tIGV2ZW50czoKKyAgICAgICAgLSBo
dHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2RvbS9pc3N1ZXMvOTExCisgICAgICAgIC0gaHR0cHM6
Ly9naXRodWIuY29tL3doYXR3Zy9kb20vcHVsbC85MTkKKworICAgICAgICBCbGluayBhbHJlYWR5
IGFkZGVkIHN1cHBvcnQgZm9yIHRoaXMuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWdu
YWwuYW55Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55Lndvcmtlci5o
dG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogSGVhZGVy
cy5jbWFrZToKKyAgICAgICAgKiBNb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaDoK
KyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oOgorICAg
ICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUGVlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L1BheW1lbnRSZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2du
aXRpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaDoKKyAgICAgICAgKiBNb2R1
bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmg6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGFuaW1hdGlv
bi9XZWJBbmltYXRpb24uaDoKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUxpc3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeUxpc3Q6OmFkZExpc3RlbmVyKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5lcik6CisgICAgICAgICogY3NzL01l
ZGlhUXVlcnlMaXN0Lmg6CisgICAgICAgICogZG9tL0Fib3J0U2lnbmFsLmg6CisgICAgICAgICog
ZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmguCisgICAgICAgIChXZWJDb3Jl
OjpBZGRFdmVudExpc3RlbmVyT3B0aW9uczo6QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMpOgorICAg
ICAgICAqIGRvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGw6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmguCisgICAgICAg
ICogZG9tL0V2ZW50TGlzdGVuZXIuaDoKKyAgICAgICAgKiBkb20vRXZlbnRMaXN0ZW5lck1hcC5j
cHA6CisgICAgICAgICogZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmg6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmguCisgICAg
ICAgIChXZWJDb3JlOjpFdmVudExpc3RlbmVyT3B0aW9uczo6RXZlbnRMaXN0ZW5lck9wdGlvbnMp
OgorICAgICAgICAqIGRvbS9FdmVudExpc3RlbmVyT3B0aW9ucy5pZGw6IENvcGllZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmguCisgICAg
ICAgICogZG9tL0V2ZW50VGFyZ2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0
OjphZGRFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50VGFyZ2V0OjpyZW1v
dmVFdmVudExpc3RlbmVyRm9yQmluZGluZ3MpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJn
ZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6
OnNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJn
ZXQ6OmlubmVySW52b2tlRXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdl
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIp
OgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5pZGw6CisgICAgICAgICogZG9tL01lc3NhZ2VQ
b3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lc3NhZ2VQb3J0OjpNZXNzYWdlUG9ydCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZXNzYWdlUG9ydDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAg
ICAgICogZG9tL01lc3NhZ2VQb3J0Lmg6CisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dHJ5QWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjp0cnlS
ZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlbW92ZUV2ZW50
TGlzdGVuZXIpOgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92
ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAg
ICAgICAqIGh0bWwvSW1hZ2VEb2N1bWVudC5jcHA6CisgICAgICAgICogaHRtbC90cmFjay9UZXh0
VHJhY2tDdWUuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50
LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oOgor
ICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRv
dzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5t
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5Nb2RlbFZpZGVvRWxl
bWVudC5tbToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdFbGVtZW50OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBzdmcvU1ZHRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUUmVmRWxlbWVudC5jcHA6CisgICAgICAgICogc3Zn
L2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5h
bHMuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVy
Lmg6CisKIDIwMjEtMDEtMjIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBBdm9pZCBkdXBsaWNhdGUgY2FsY3VsYXRpb25zIGluIFJlbmRlckJsb2NrOjpjb21wdXRlUHJl
ZmVycmVkTG9naWNhbFdpZHRocwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjNjA5ZTk3OTk4YzE3YWZhNjM3YjVjMTM1
MWVmM2IyNGUwMTRiYzk0Li45OGViMGQ3NTJiOWIwMWI1MjgyNzRhZWE1NDQ0OTJkMjcyNDZkOGY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAxLTIyICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBBYm9ydFNpZ25hbCBpbiBhZGRFdmVu
dExpc3RlbmVyT3B0aW9ucyB0byB1bnN1YnNjcmliZSBmcm9tIGV2ZW50cworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzUzCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MTI1ODAxMj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICBNaW5vciBidWlsZCBmaXhlcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvUGx1
Z2lucy9QREYvUERGUGx1Z2luQW5ub3RhdGlvbi5tbToKKwogMjAyMS0wMS0yMiAgSmlld2VuIFRh
biAgPGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJBdXRobl0gTm8gZXJyb3Ig
aXMgdmlzaWJsZSBhZnRlciB1c2VyIGVudGVycyB0aGUgaW5jb3JyZWN0IFBJTgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCmluZGV4IGIxYzRmMGE3YTU3MzMxYWM1Yjk0NWMyZDlkN2NlMWQwNTJl
ZWQwMjkuLmZjMjQyZGNhMmI1NjUyYjBiYmNhNzRjMDg2OGUwODhkNzc4YzQwYWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMS0yMiAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgQWJvcnRTaWduYWwg
aW4gYWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgdG8gdW5zdWJzY3JpYmUgZnJvbSBldmVudHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MworICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNzEyNTgwMTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCisKKyAgICAgICAgTWlub3IgYnVpbGQgZml4ZXMuCisKKyAgICAgICAgKiBET00v
RE9NTm9kZS5tbToKKwogMjAyMS0wMS0yMSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5j
b20+CiAKICAgICAgICAgW0FwcGxlIFBheV0gdXNlIHRoZSBmaXJzdCBpdGVtIGluIGBzaGlwcGlu
Z09wdGlvbnNgIGV2ZW4gd2hlbiBpdCdzIG5vdCBgc2VsZWN0ZWRgCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9XZWFrUHRyLmggYi9Tb3VyY2UvV1RGL3d0Zi9XZWFrUHRyLmgKaW5kZXggYThi
MTFhYjk3NTU2MmE1NzkzMzZhMTRlZDJkZDJjZGEyYTQ3ZjViOC4uMTQzMmMyZjI1Yjc0N2I1MmVj
NmZmZDU2MWY1NDkwOGEzZjQwNjRlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvV2Vha1B0
ci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dlYWtQdHIuaApAQCAtMjAwLDcgKzIwMCwxMiBAQCBw
cm90ZWN0ZWQ6CiAgICAgQ2FuTWFrZVdlYWtQdHIoKQogICAgIHsKICAgICAgICAgaWYgKGluaXRp
YWxpemF0aW9uTW9kZSA9PSBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0aW9uOjpFYWdlcikKLSAg
ICAgICAgICAgIG1fd2Vha1B0ckZhY3RvcnkuaW5pdGlhbGl6ZUlmTmVlZGVkKHN0YXRpY19jYXN0
PFQmPigqdGhpcykpOworICAgICAgICAgICAgaW5pdGlhbGl6ZVdlYWtQdHJGYWN0b3J5KCk7Cisg
ICAgfQorCisgICAgdm9pZCBpbml0aWFsaXplV2Vha1B0ckZhY3RvcnkoKQorICAgIHsKKyAgICAg
ICAgbV93ZWFrUHRyRmFjdG9yeS5pbml0aWFsaXplSWZOZWVkZWQoc3RhdGljX2Nhc3Q8VCY+KCp0
aGlzKSk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA0MzRlNDlj
MTBiMDcxZjJkYWFjYjMyMDQ1YjAyNjdkNTI4NmIyMTk4Li40NWRiNTkxMzg0MDI0NGFjNDg5NzE0
NjhkYmEwMTRkMTNjMjRmMTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNzg1LDYgKzc4NSw3
IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgZG9tL0Fib3J0Q29udHJvbGxl
ci5pZGwKICAgICBkb20vQWJvcnRTaWduYWwuaWRsCiAgICAgZG9tL0Fic3RyYWN0UmFuZ2UuaWRs
CisgICAgZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbAogICAgIGRvbS9BbmltYXRpb25F
dmVudC5pZGwKICAgICBkb20vQXR0ci5pZGwKICAgICBkb20vQmVmb3JlTG9hZEV2ZW50LmlkbApA
QCAtODQzLDYgKzg0NCw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgZG9t
L0Vycm9yRXZlbnQuaWRsCiAgICAgZG9tL0V2ZW50LmlkbAogICAgIGRvbS9FdmVudEluaXQuaWRs
CisgICAgZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25zLmlkbAogICAgIGRvbS9FdmVudE1vZGlmaWVy
SW5pdC5pZGwKICAgICBkb20vRXZlbnRUYXJnZXQuaWRsCiAgICAgZG9tL0ZvY3VzRXZlbnQuaWRs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVs
aXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRl
eCA3MjE1M2NiNDkyOTc0ZWUxYjgzMzUzZTBhYWUwNzcxN2Y4Yzk2MmE0Li41MDE4NDIzYTlhZWQx
NDY3M2VlZmUxOTAwYTFhZjQ1YjAzOWQ5NGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTcwMCw2ICs3MDAsNyBAQCAkKFBST0pFQ1Rf
RElSKS9kb20vQWJvcnRBbGdvcml0aG0uaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vQWJvcnRDb250
cm9sbGVyLmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0Fib3J0U2lnbmFsLmlkbAogJChQUk9KRUNU
X0RJUikvZG9tL0Fic3RyYWN0UmFuZ2UuaWRsCiskKFBST0pFQ1RfRElSKS9kb20vQWRkRXZlbnRM
aXN0ZW5lck9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vQW5pbWF0aW9uRXZlbnQuaWRs
CiAkKFBST0pFQ1RfRElSKS9kb20vQXR0ci5pZGwKICQoUFJPSkVDVF9ESVIpL2RvbS9CZWZvcmVM
b2FkRXZlbnQuaWRsCkBAIC03NjAsNiArNzYxLDcgQEAgJChQUk9KRUNUX0RJUikvZG9tL0Vycm9y
RXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9k
b20vRXZlbnRJbml0LmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0V2ZW50TGlzdGVuZXIuaWRsCisk
KFBST0pFQ1RfRElSKS9kb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElS
KS9kb20vRXZlbnRNb2RpZmllckluaXQuaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vRXZlbnROYW1l
cy5pbgogJChQUk9KRUNUX0RJUikvZG9tL0V2ZW50VGFyZ2V0LmlkbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAzNzA5NDk4OTk4NTM2
Yzc2NDY3NDU1NGQ3YTBkMDA3YmZhNWMzYjgxLi45Y2ZjMjk4ZmNlZmVkMmQwNGZjM2FiMTc1YTYz
NTU2Yzg5MzBjYmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRw
dXQueGNmaWxlbGlzdApAQCAtNTIsNiArNTIsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Fic3RyYWN0V29ya2VyLmNwcAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBYnN0cmFjdFdvcmtlci5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FjY2Vzc2liaWxpdHlSb2xl
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBY2Nl
c3NpYmlsaXR5Um9sZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FkZHJlc3NFcnJvcnMu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0FkZHJl
c3NFcnJvcnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNBZXNDYmNDZmJQYXJhbXMuY3BwCkBAIC03NDMsNiArNzQ1LDggQEAgJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudC5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRXZlbnQuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudEluaXQuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50SW5pdC5oCiskKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50TGlzdGVuZXJPcHRp
b25zLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNF
dmVudExpc3RlbmVyT3B0aW9ucy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0V2ZW50TW9kaWZpZXJJbml0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFdmVudE1vZGlmaWVySW5pdC5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0V2ZW50U291cmNlLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYzczZjA2MDJhYzI3MDY0MjVjMjdlZWZiMmE3
ZmI2Y2QwMzM3YTE3OC4uYzI3ODljNDdiMDllMTI0OTNjNGM1NDc2NWE1YTAyNmRlODc2MjhkOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC02NTksNiArNjU5LDcgQEAgSlNfQklO
RElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL2RvbS9BYm9ydENvbnRyb2xsZXIuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2RvbS9BYm9ydFNpZ25hbC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9t
L0Fic3RyYWN0UmFuZ2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2RvbS9BZGRFdmVudExpc3RlbmVy
T3B0aW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0FuaW1hdGlvbkV2ZW50LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9kb20vQXR0ci5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0JlZm9yZUxv
YWRFdmVudC5pZGwgXApAQCAtNzE3LDYgKzcxOCw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAg
ICAgJChXZWJDb3JlKS9kb20vRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudElu
aXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9FdmVudExpc3RlbmVyLmlkbCBcCisgICAgJChX
ZWJDb3JlKS9kb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Rv
bS9FdmVudE1vZGlmaWVySW5pdC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50VGFyZ2V0
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9kb20vRm9jdXNFdmVudC5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKaW5kZXggZDhmYzE0MTc0NTYzMjMxYWVmMTIxZTE5ZjcyNmQ2YTUxMzE3MTM0Ni4uZWQwNjZj
MTFjYWMyMThhM2Q4ZmRlYmZmMTY5MjY2MTZmYzI4NDNmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBA
IC0zOTYsOSArMzk2LDExIEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMK
ICAgICBkaXNwbGF5L2Nzcy9EaXNwbGF5UmVwbGFjZWRCb3guaAogICAgIGRpc3BsYXkvY3NzL0Rp
c3BsYXlTdHlsZS5oCiAKKyAgICBkb20vQWJvcnRTaWduYWwuaAogICAgIGRvbS9BYnN0cmFjdFJh
bmdlLmgKICAgICBkb20vQWN0aXZlRE9NQ2FsbGJhY2suaAogICAgIGRvbS9BY3RpdmVET01PYmpl
Y3QuaAorICAgIGRvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oCiAgICAgZG9tL0F0dHIuaAog
ICAgIGRvbS9BdHRyaWJ1dGUuaAogICAgIGRvbS9Cb3VuZGFyeVBvaW50LmgKQEAgLTQ0NCw2ICs0
NDYsNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgZG9tL0V2
ZW50SW5pdC5oCiAgICAgZG9tL0V2ZW50TGlzdGVuZXIuaAogICAgIGRvbS9FdmVudExpc3RlbmVy
TWFwLmgKKyAgICBkb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaAogICAgIGRvbS9FdmVudE1vZGlm
aWVySW5pdC5oCiAgICAgZG9tL0V2ZW50TmFtZXMuaAogICAgIGRvbS9FdmVudFF1ZXVlLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL0NsaXBib2Fy
ZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmgK
aW5kZXggMzZkZTYyZTJiODg2Zjk3MDk3MDQyYjhkNTUxZmY3NTkwZGY5YzRjYS4uYTZjNThiYzky
OWI1YmM3NTUyY2JkNjU1NGY0ODI5NDdhMzQyODFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmgKQEAgLTQwLDcgKzQwLDcgQEAg
Y2xhc3MgTmF2aWdhdG9yOwogY2xhc3MgUGFzdGVib2FyZDsKIGNsYXNzIFBhc3RlYm9hcmRDdXN0
b21EYXRhOwogCi1jbGFzcyBDbGlwYm9hcmQgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxDbGlw
Ym9hcmQ+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENhbk1ha2VX
ZWFrUHRyPENsaXBib2FyZD4geworY2xhc3MgQ2xpcGJvYXJkIGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWQ8Q2xpcGJvYXJkPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoQ2xpcGJvYXJkKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPENsaXBib2FyZD4gY3JlYXRlKE5hdmlnYXRvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKaW5kZXggMzAz
NmFhOWY5ZThjNTVhZmU4ODE5NDFhMWE1YWU4ZmNkMTFiYjMxMC4uODIxNzkwMzg1N2ViODIxNGEw
MjlkMzM1ZGY4Yjg5ODQ0NmE0NDIwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC02Nyw2ICs2Nyw4IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1lZGlhS2V5U2Vzc2lvbj4gY3JlYXRlKERvY3VtZW50
JiwgV2Vha1B0cjxNZWRpYUtleXM+JiYsIE1lZGlhS2V5U2Vzc2lvblR5cGUsIGJvb2wgdXNlRGlz
dGluY3RpdmVJZGVudGlmaWVyLCBSZWY8Q0RNPiYmLCBSZWY8Q0RNSW5zdGFuY2VTZXNzaW9uPiYm
KTsKICAgICB2aXJ0dWFsIH5NZWRpYUtleVNlc3Npb24oKTsKIAorICAgIHVzaW5nIENETUluc3Rh
bmNlU2Vzc2lvbkNsaWVudDo6d2Vha1B0ckZhY3Rvcnk7CisgICAgdXNpbmcgV2Vha1ZhbHVlVHlw
ZSA9IENETUluc3RhbmNlU2Vzc2lvbkNsaWVudDo6V2Vha1ZhbHVlVHlwZTsKICAgICB1c2luZyBS
ZWZDb3VudGVkPE1lZGlhS2V5U2Vzc2lvbj46OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkPE1l
ZGlhS2V5U2Vzc2lvbj46OmRlcmVmOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJSZXF1ZXN0LmgKaW5kZXggOWE0NjExYmNiZGE5YTI4NTY3MWM1OTNlZmY0OGE2ZDc3
ZmY0NmZlNS4uNmExM2U1ZjRiNTNlNDE3ZDdlNzRlZmFjZTVlMzM4NWQwYzhlZGUzNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaApAQCAtNjEsNyAr
NjEsNyBAQCBjbGFzcyBJREJDb25uZWN0aW9uUHJveHk7CiBjbGFzcyBJREJDb25uZWN0aW9uVG9T
ZXJ2ZXI7CiB9CiAKLWNsYXNzIElEQlJlcXVlc3QgOiBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5s
aW5lRGF0YSwgcHVibGljIElEQkFjdGl2ZURPTU9iamVjdCwgcHVibGljIFRocmVhZFNhZmVSZWZD
b3VudGVkPElEQlJlcXVlc3Q+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8SURCUmVxdWVzdD4gewor
Y2xhc3MgSURCUmVxdWVzdCA6IHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJs
aWMgSURCQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SURCUmVx
dWVzdD4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoSURCUmVxdWVzdCk7CiBwdWJsaWM6
CiAgICAgZW51bSBjbGFzcyBOdWxsUmVzdWx0VHlwZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaAppbmRleCA2ZjkwNjI4YWIwY2M4ZjBh
MzQxMTEzNGY4Nzk3ZTY0YmZjODE2ZjM5Li4wMGYxMGEyN2FjYWIyMWJkYjVjYjljMmExNDVhODc2
MTQzZTExNTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhRGV2aWNlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFEZXZpY2VzLmgKQEAgLTU1LDcgKzU1LDcgQEAgc3RydWN0IE1lZGlhVHJhY2tTdXBwb3J0
ZWRDb25zdHJhaW50czsKIAogdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJv
bWlzZURlZmVycmVkOwogCi1jbGFzcyBNZWRpYURldmljZXMgZmluYWwgOiBwdWJsaWMgUmVmQ291
bnRlZDxNZWRpYURldmljZXM+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRU
YXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENhbk1ha2VXZWFrUHRyPE1lZGlhRGV2aWNlcz4g
eworY2xhc3MgTWVkaWFEZXZpY2VzIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFEZXZp
Y2VzPiwgcHVibGljIEFjdGl2ZURPTU9iamVjdCwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGlu
ZURhdGEgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoTWVkaWFEZXZpY2VzKTsKIHB1Ymxp
YzoKICAgICBzdGF0aWMgUmVmPE1lZGlhRGV2aWNlcz4gY3JlYXRlKERvY3VtZW50Jik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0
aW9uLmgKaW5kZXggYWNjZTZlOWJkZTRjNzdiMzMzZjliNjA2MzEzNzMwYzU3OTk0Zjk5ZC4uNTY5
MTQzYWE3MmIzYWU2MjM5NTNkZTkzNWY3YWM0MWY4ZTVkN2EyOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaApAQCAt
NzcsNyArNzcsNiBAQCBjbGFzcyBSVENQZWVyQ29ubmVjdGlvbiBmaW5hbAogICAgIDogcHVibGlj
IFJlZkNvdW50ZWQ8UlRDUGVlckNvbm5lY3Rpb24+CiAgICAgLCBwdWJsaWMgRXZlbnRUYXJnZXRX
aXRoSW5saW5lRGF0YQogICAgICwgcHVibGljIEFjdGl2ZURPTU9iamVjdAotICAgICwgcHVibGlj
IENhbk1ha2VXZWFrUHRyPFJUQ1BlZXJDb25uZWN0aW9uPgogI2lmICFSRUxFQVNFX0xPR19ESVNB
QkxFRAogICAgICwgcHJpdmF0ZSBMb2dnZXJIZWxwZXIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCmluZGV4
IDY4YWNhYzk2YjJlN2JkYTJhMDVlZGY1YWNiNWZkOWFlNmY4ZDg5OTEuLmNkOTNkMjMxMTJiNTc1
M2Q5MDE3YTg4YTkyYzI3ZDM0MDBmYjhiYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKQEAgLTUxLDcgKzUxLDcg
QEAgc3RydWN0IFBheW1lbnREZXRhaWxzVXBkYXRlOwogc3RydWN0IFBheW1lbnRNZXRob2REYXRh
OwogdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOwog
Ci1jbGFzcyBQYXltZW50UmVxdWVzdCBmaW5hbCA6IHB1YmxpYyBBY3RpdmVET01PYmplY3QsIHB1
YmxpYyBDYW5NYWtlV2Vha1B0cjxQYXltZW50UmVxdWVzdD4sIHB1YmxpYyBFdmVudFRhcmdldFdp
dGhJbmxpbmVEYXRhLCBwdWJsaWMgUmVmQ291bnRlZDxQYXltZW50UmVxdWVzdD4geworY2xhc3Mg
UGF5bWVudFJlcXVlc3QgZmluYWwgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZl
bnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIFJlZkNvdW50ZWQ8UGF5bWVudFJlcXVlc3Q+
IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFBheW1lbnRSZXF1ZXN0KTsKIHB1YmxpYzoK
ICAgICB1c2luZyBBYm9ydFByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb24uaAppbmRl
eCAzNzkyMzJlYmM4ZTRmODAxNGFhYjkyMWRjODQyNTQ5ZWFhNTE3MGNhLi5jMjAwYmFlNjVjYjg1
M2FlMzFiYjZhYjIxZTIyMTMxZTE4MDRhMDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmgKQEAgLTQxLDYgKzQxLDkgQEAgY2xhc3Mg
U3BlZWNoUmVjb2duaXRpb24gOiBwdWJsaWMgU3BlZWNoUmVjb2duaXRpb25Db25uZWN0aW9uQ2xp
ZW50LCBwdWJsaWMgQWN0aXYKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNwZWVjaFJlY29nbml0
aW9uPiBjcmVhdGUoRG9jdW1lbnQmKTsKIAorICAgIHVzaW5nIFNwZWVjaFJlY29nbml0aW9uQ29u
bmVjdGlvbkNsaWVudDo6d2Vha1B0ckZhY3Rvcnk7CisgICAgdXNpbmcgV2Vha1ZhbHVlVHlwZSA9
IFNwZWVjaFJlY29nbml0aW9uQ29ubmVjdGlvbkNsaWVudDo6V2Vha1ZhbHVlVHlwZTsKKwogICAg
IGNvbnN0IFN0cmluZyYgbGFuZygpIGNvbnN0IHsgcmV0dXJuIG1fbGFuZzsgfQogICAgIHZvaWQg
c2V0TGFuZyhTdHJpbmcmJiBsYW5nKSB7IG1fbGFuZyA9IFdURk1vdmUobGFuZyk7IH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CYXNlQXVkaW9Db250ZXh0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaApp
bmRleCA3OTgyMmRmNjVmNWRhMzFiYjYxZDdmMTNiOTkxODIxYTA5MjFlN2I5Li44NWM3NzRmZGFk
ZWFkYmViZDhjN2ExYzIyNzEzYTA3NzU1NTRmZmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jhc2VBdWRpb0NvbnRleHQuaApAQCAtOTUsNyArOTUsNiBAQCBj
bGFzcyBCYXNlQXVkaW9Db250ZXh0CiAgICAgOiBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0CiAgICAg
LCBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QmFzZUF1ZGlvQ29udGV4dD4KICAgICAsIHB1
YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhCi0gICAgLCBwdWJsaWMgQ2FuTWFrZVdlYWtQ
dHI8QmFzZUF1ZGlvQ29udGV4dD4KICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKICAgICAsIHB1
YmxpYyBMb2dnZXJIZWxwZXIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJncHUvV2ViR1BVRGV2aWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdw
dS9XZWJHUFVEZXZpY2UuaAppbmRleCBjZmEzYjk1ZWEwYjMwZGRlMDM3ZDM2MGFlZWQ5M2ZhMjc1
ZDJhOTQzLi5jOWNjM2M0ZTQzNWM5MjY0YjI4MTRkM2Q2M2MyNDBmY2I2NjcwNmMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9XZWJHUFVEZXZpY2UuaApAQCAtNzcsNyArNzcs
NyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7
CiB1c2luZyBFcnJvcklETFVuaW9uID0gSURMVW5pb248SURMSW50ZXJmYWNlPEdQVU91dE9mTWVt
b3J5RXJyb3I+LCBJRExJbnRlcmZhY2U8R1BVVmFsaWRhdGlvbkVycm9yPj47CiB1c2luZyBFcnJv
clByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMTnVsbGFibGU8RXJyb3JJRExVbmlvbj4+
OwogCi1jbGFzcyBXZWJHUFVEZXZpY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVEZXZpY2U+
LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIENhbk1ha2VXZWFrUHRy
PFdlYkdQVURldmljZT4geworY2xhc3MgV2ViR1BVRGV2aWNlIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViR1BVRGV2aWNlPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoV2ViR1BVRGV2aWNlKTsKIHB1YmxpYzoKICAgICB2aXJ0dWFs
IH5XZWJHUFVEZXZpY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTeXN0
ZW0uaAppbmRleCBhZTJiOTY3NWYzM2ExYzhjZDMxYzI5NzVmZjJiNTljZWU2OWIwNjg4Li5jNzYy
ZDQ2YWMwZTkwNGEzOTgzZDM5N2Y2ODY1NjFkNGMxNjViMzU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5oCkBAIC01Myw3ICs1Myw3IEBAIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBXZWJYUlNlc3Npb247CiBzdHJ1Y3QgWFJTZXNzaW9u
SW5pdDsKIAotY2xhc3MgV2ViWFJTeXN0ZW0gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJY
UlN5c3RlbT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZl
RE9NT2JqZWN0LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViWFJTeXN0ZW0+IHsKK2NsYXNzIFdl
YlhSU3lzdGVtIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJTeXN0ZW0+LCBwdWJsaWMg
RXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJYUlN5c3RlbSk7CiBwdWJsaWM6CiAgICAgdXNpbmcg
SXNTZXNzaW9uU3VwcG9ydGVkUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFu
PjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKaW5kZXggN2FhNTViYjQzNDY4ZDczYzc0ZDhlYmNkYzQ3MjBiYWJhMjhl
NTJmNy4uNzI5NmNjZjNlZjllZmM3MTY5MmMxYzFiMTAwN2EwYTZlNzkyMDM1NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKQEAgLTI3MjIsNiArMjcyMiw3IEBAIEpTQWJvcnRTaWduYWwuY3BwCiBKU0Fic3RyYWN0
UmFuZ2UuY3BwCiBKU0Fic3RyYWN0V29ya2VyLmNwcAogSlNBZGRyZXNzRXJyb3JzLmNwcAorSlNB
ZGRFdmVudExpc3RlbmVyT3B0aW9ucy5jcHAKIEpTQWVzQ2JjQ2ZiUGFyYW1zLmNwcAogSlNBZXND
dHJQYXJhbXMuY3BwCiBKU0Flc0djbVBhcmFtcy5jcHAKQEAgLTI5NjEsNiArMjk2Miw3IEBAIEpT
RXJyb3JDYWxsYmFjay5jcHAKIEpTRXJyb3JFdmVudC5jcHAKIEpTRXZlbnQuY3BwCiBKU0V2ZW50
SW5pdC5jcHAKK0pTRXZlbnRMaXN0ZW5lck9wdGlvbnMuY3BwCiBKU0V2ZW50TW9kaWZpZXJJbml0
LmNwcAogSlNFdmVudFNvdXJjZS5jcHAKIEpTRXZlbnRUYXJnZXQuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzFmN2M4Mzgx
MTlhMjM1MTczZDQwY2I4ODkxYmM1YWJmOWMzNmVmZS4uMDUzYmQ4N2RhN2NkYTg0NTFhZjEzZWRi
MzFjMTM4YWY2NjQ1OTVlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzAyLDYgKzMwMiw3IEBACiAJCTBGNDk2NkFCMURCNDBD
NDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjQ5NjZBNTFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludC5o
ICovOyB9OwogCQkwRjQ5NjZBRDFEQjQwQzQzMDBBMjc0QkIgLyogSlNET01Qb2ludEluaXQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNDk2NkE3MURC
NDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50SW5pdC5oICovOyB9OwogCQkwRjQ5NjZBRjFEQjQw
QzQzMDBBMjc0QkIgLyogSlNET01Qb2ludFJlYWRPbmx5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjQ5NjZBOTFEQjQwQzQzMDBBMjc0QkIgLyogSlNE
T01Qb2ludFJlYWRPbmx5LmggKi87IH07CisJCTBGNTNGQjg0MjEzQjdBNjQwMEM0MEQzNCAvKiBS
ZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRjUzRkI4NDIxM0I3ODY0MDBDNDBEMzQgLyogUmVuZGVyTGF5ZXJT
Y3JvbGxhYmxlQXJlYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTBGNTREQ0U2MTg4MTA1MUQwMDNFRURCQiAvKiBUZXh0QXV0b1NpemluZy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NERDRTQxODgx
MDUxRDAwM0VFREJCIC8qIFRleHRBdXRvU2l6aW5nLmggKi87IH07CiAJCTBGNTRERDA4MTg4MUQ1
RjUwMDNFRURCQiAvKiBUb3VjaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMEY1NEREMDUxODgxRDVGNTAwM0VFREJCIC8qIFRvdWNoLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY1NEREMDkxODgxRDVG
NTAwM0VFREJCIC8qIFRvdWNoRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDBGNTRERDA2MTg4MUQ1RjUwMDNFRURCQiAvKiBUb3VjaEV2ZW50Lmgg
Ki87IH07CkBAIC0xMjYyLDYgKzEyNjMsOCBAQAogCQk0NkI5NTE5QTIwN0Q2MzU0MDBBN0QyREQg
LyogUmVtb3RlRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ2Qjk1MTkyMjA3RDYzMkUwMEE3RDJERCAvKiBSZW1vdGVGcmFtZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2Qjk1QkY1MjIzMUNG
RDYwMDUzQTUwNCAvKiBEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Qjk1QkY0
MjIzMUNGQjgwMDUzQTUwNCAvKiBEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRy
b2xsZXIuaCAqLzsgfTsKIAkJNDZCQ0JCQzIyMDg1MDA4RjAwNzEwNjM4IC8qIEpTUmVtb3RlRE9N
V2luZG93QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDZCQ0JCQzAyMDg1MDA3RjAwNzEwNjM4IC8qIEpTUmVtb3RlRE9NV2luZG93QmFzZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ2QkQwNUM1
MjVCQjZFNTkwMDIyNUYzMCAvKiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCRDA1QzIyNUJCNkU0RTAwMjI1
RjMwIC8qIEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDZCRDA1QzYyNUJCNkU2QzAwMjI1RjMwIC8qIEV2
ZW50TGlzdGVuZXJPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NkJEMDVDMzI1QkI2RTRFMDAyMjVGMzAgLyogRXZlbnRMaXN0ZW5lck9wdGlv
bnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
NkMwOTYyMTIzRDc4REQ2MDA2NTdDMDkgLyogSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDMDk2MjAyM0Q3OERE
NjAwNjU3QzA5IC8qIEhUVFBDb29raWVBY2NlcHRQb2xpY3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkMzNzY2MjIwODUxNzdEMDBDNzM4Mjkg
LyogSlNSZW1vdGVET01XaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ2QzM3NjYxMjA4NTE3NkQwMEM3MzgyOSAvKiBKU1JlbW90ZURPTVdpbmRv
dy5oICovOyB9OwogCQk0NkM2OTZDQjFFNzIwNUY3MDA1OTc5MzcgLyogQ1BVTW9uaXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDNjk2QzkxRTcy
MDVFNDAwNTk3OTM3IC8qIENQVU1vbml0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjM5OSw3ICsyNDAyLDcgQEAKIAkJN0NDOTcyMkUxRjkz
RTMzNjAwMDRENENGIC8qIFNldHRpbmdzQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0NDNjYwOTkxRjkzMDU3ODAwRDUwMEU5IC8qIFNldHRpbmdz
QmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTdDQ0VCRkMwMUREOEY2QUIwMDJDNDBCOCAvKiBTVkdMZW5ndGhWYWx1ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFNThENTMxREQ3QjA5MzAwMTI4
NTUyIC8qIFNWR0xlbmd0aFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJN0NEMEUyQjgxRjgwQTQ4MjAwMTZBNENFIC8qIEFib3J0Q29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NE
MEUyQjUxRjgwQTQ4MjAwMTZBNENFIC8qIEFib3J0Q29udHJvbGxlci5oICovOyB9OwotCQk3Q0Qw
RTJCRjFGODBBNTZFMDAxNkE0Q0UgLyogQWJvcnRTaWduYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRDBFMkJDMUY4MEE1NkUwMDE2QTRDRSAvKiBB
Ym9ydFNpZ25hbC5oICovOyB9OworCQk3Q0QwRTJCRjFGODBBNTZFMDAxNkE0Q0UgLyogQWJvcnRT
aWduYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
RDBFMkJDMUY4MEE1NkUwMDE2QTRDRSAvKiBBYm9ydFNpZ25hbC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDRDFFNjkzMjRBQkY2MjQwMDg5QzQx
OSAvKiBDb2xvclNlcmlhbGl6YXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDRDFFNjkxMjRBQkY2MjQwMDg5QzQxOSAvKiBDb2xvclNlcmlhbGl6
YXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3Q0Q0OTRDRDFBODZFQjFEMDAwQTg3RUMgLyogUmVuZGVyQXR0YWNobWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NENDk0Q0IxQTg2RUIxRDAw
MEE4N0VDIC8qIFJlbmRlckF0dGFjaG1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk3Q0Q1OERGQjFGOTU2NUE1MDAxMTI3OTEgLyogU2V0dGlu
Z3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRUI1
N0U5MUY5NTY1MTUwMDA5N0FFQyAvKiBTZXR0aW5ncy5oICovOyB9OwpAQCAtNDA4Nyw3ICs0MDkw
LDYgQEAKIAkJQkNFQTQ4NzYwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlckltYWdlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VBNDgzNzA5N0Q5MzAy
MDA5NEM5RTQgLyogUmVuZGVySW1hZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlCQ0VBNDg3ODA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVySW5s
aW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VB
NDgzOTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVySW5saW5lLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFQTQ4N0EwOTdEOTMwMjAwOTRDOUU0
IC8qIFJlbmRlckxheWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0VBNDgzQjA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyTGF5ZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkwRjUzRkI4NDIxM0I3
QTY0MDBDNDBEMzQgLyogUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1M0ZCODQyMTNCNzg2NDAwQzQwRDM0
IC8qIFJlbmRlckxheWVyU2Nyb2xsYWJsZUFyZWEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQ0VBNDg4MDA5N0Q5MzAyMDA5NEM5RTQgLyogUmVu
ZGVyT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0VBNDg0MTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkNFQTQ4ODcwOTdEOTMwMjAw
OTRDOUU0IC8qIFJlbmRlclRoZW1lTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0VBNDg0ODA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyVGhlbWVN
YWMuaCAqLzsgfTsKIAkJQkNFQTQ4OEEwOTdEOTMwMjAwOTRDOUU0IC8qIFJlbmRlclRoZW1lLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VBNDg0QjA5
N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyVGhlbWUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNTA4OSw2ICs1MDkxLDcgQEAKIAkJRTQyNUE0OUEx
ODI5MkI4NDAwMjBDRkNGIC8qIENvbGxlY3Rpb25JbmRleENhY2hlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDI1QTQ5OTE4MjkyQjg0MDAyMENGQ0Yg
LyogQ29sbGVjdGlvbkluZGV4Q2FjaGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlFNDI5NUZBNDEyQjA2MTRFMDBEMUFDRTAgLyogUmVzb3VyY2VM
b2FkUHJpb3JpdHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEU0Mjk1RkEzMTJCMDYxNEUwMEQxQUNFMCAvKiBSZXNvdXJjZUxvYWRQcmlvcml0eS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0MkU3NkRD
MUM3QUY3NzYwMEUzNjE0RCAvKiBTdHlsZVVwZGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQyRTc2REIxQzdBRjc3NjAwRTM2MTREIC8qIFN0eWxl
VXBkYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJRTQyRUUzQTcxNzU3NkU1NTAwRUVFOENGIC8qIEZvbnRHZW5lcmljRmFtaWxpZXMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NEVFM0E3MTc1NzZF
NTUwMEVFRThDRiAvKiBGb250R2VuZXJpY0ZhbWlsaWVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQzMTA1QkIxNjc1MEYxNjAwREIyRkI4IC8q
IE5vZGVUcmF2ZXJzYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEU0MzEwNUJBMTY3NTBGMTYwMERCMkZCOCAvKiBOb2RlVHJhdmVyc2FsLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQzQTAyM0IxN0VC
MzcwQTAwNENERDI1IC8qIFJlbmRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0M0EwMjNBMTdFQjM3MEEwMDRDREQyNSAvKiBSZW5kZXJF
bGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRTQzQUY4RTcxQUM1QjdFQzAwQ0E3MTdFIC8qIENhY2hlVmFsaWRhdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQzQUY4RTUxQUM1QjdERDAw
Q0E3MTdFIC8qIENhY2hlVmFsaWRhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CkBAIC01MTEyLDcgKzUxMTUsNiBAQAogCQlFNDQ2MTQzQzBDRDY4
OUNDMDBGQURBNzUgLyogSlNIVE1MU291cmNlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTRCNDIzNzIwQ0JGQjZFMDAwQUYyRUNFIC8qIEpT
SFRNTFNvdXJjZUVsZW1lbnQuaCAqLzsgfTsKIAkJRTQ0NjE0NTIwQ0Q2OEEzNTAwRkFEQTc1IC8q
IFJlbmRlclZpZGVvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFNEI0MUUzNDBDQkZCNjA5MDBBRjJFQ0UgLyogUmVuZGVyVmlkZW8uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDRCNEJCNDE0MTY1MEQ3
MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFNDRCNEJCMjE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JD
aGVja2VyLmggKi87IH07Ci0JCUU0MkVFM0E3MTc1NzZFNTUwMEVFRThDRiAvKiBGb250R2VuZXJp
Y0ZhbWlsaWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFNDRFRTNBNzE3NTc2RTU1MDBFRUU4Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NEZBMTg1MUJD
QTZCNUEwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0RkExODQxQkNBNkI1QTAwOTFCNkVGIC8q
IENvbXBvc2VkVHJlZUl0ZXJhdG9yLmggKi87IH07CiAJCUU0NTFDNjMxMjM5NDAyNzkwMDk5MzE5
MCAvKiBMYXlvdXRVbml0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNkY3MzkxOEMyMTA2Q0VERDAwNkFGMjYyIC8qIExheW91dFVuaXRzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ1MUM2MzIyMzk0
MDMxQTAwOTkzMTkwIC8qIE1hcmdpblR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2RkU3QUEyNjIxQzM3QjYzMDAyOTZEQ0QgLyogTWFyZ2luVHlw
ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
ODE4OCw2ICs4MTkwLDEwIEBACiAJCTQ2QkNCQkMwMjA4NTAwN0YwMDcxMDYzOCAvKiBKU1JlbW90
ZURPTVdpbmRvd0Jhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNSZW1v
dGVET01XaW5kb3dCYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QkNCQkMx
MjA4NTAwODAwMDcxMDYzOCAvKiBKU1JlbW90ZURPTVdpbmRvd0Jhc2UuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZW1vdGVET01XaW5kb3dCYXNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZCQ0JCQzMyMDg1MDBBNzAwNzEwNjM4IC8qIFJl
bW90ZURPTVdpbmRvdy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVtb3RlRE9NV2luZG93
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZCRDA1QzAyNUJCNkU0RDAwMjI1
RjMwIC8qIEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBFdmVudExpc3RlbmVyT3B0aW9u
cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QkQwNUMyMjVCQjZFNEUwMDIy
NUYzMCAvKiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBZGRFdmVu
dExpc3RlbmVyT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkJEMDVD
MzI1QkI2RTRFMDAyMjVGMzAgLyogRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRXZlbnRMaXN0ZW5lck9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDZCRDA1QzQyNUJCNkU0RjAwMjI1RjMwIC8qIEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ2QzA5NjIwMjNENzhERDYwMDY1N0MwOSAvKiBIVFRQQ29va2llQWNjZXB0UG9saWN5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEhUVFBDb29raWVBY2NlcHRQb2xpY3kuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDZDMzc2NUYyMDg1MTc2QzAwQzczODI5IC8qIEpTUmVtb3RlRE9N
V2luZG93LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVtb3Rl
RE9NV2luZG93LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZDMzc2NjEyMDg1
MTc2RDAwQzczODI5IC8qIEpTUmVtb3RlRE9NV2luZG93LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTUmVtb3RlRE9NV2luZG93Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05NzU4LDggKzk3NjQsOCBAQAogCQk2RTUzODhFMTI0NThBRTFEMDA3NkFFMDMgLyog
V2ViR0xDb2xvckJ1ZmZlckZsb2F0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJHTENvbG9yQnVmZmVyRmxvYXQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RTU3NkJDMzI0RUI1MDlDMDA5NEQ0QUEg
LyogSlNIVE1MQ2FudmFzRWxlbWVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0hUTUxDYW52YXNFbGVtZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNkU2N0QyQTgxMjgwRThCRDAwODc1OEY3IC8qIEV4dGVuc2lvbnNH
TC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeHRlbnNpb25zR0wuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNkU3Q0EzMEEyNUI0RDI4QTAwNEE5MTNFIC8qIEpT
V2ViR0xNdWx0aURyYXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNXZWJHTE11bHRpRHJhdy5oOyBwYXRo
ID0gSlNXZWJHTE11bHRpRHJhdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2RTdD
QTMwQjI1QjREMzI4MDA0QTkxM0UgLyogSlNXZWJHTE11bHRpRHJhdy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBKU1dlYkdMTXVsdGlEcmF3LmNwcDsgcGF0aCA9IEpTV2ViR0xNdWx0aURyYXcuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk2RTdDQTMwQTI1QjREMjhBMDA0QTkxM0Ug
LyogSlNXZWJHTE11bHRpRHJhdy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dlYkdMTXVsdGlEcmF3Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZFN0NBMzBCMjVCNEQzMjgwMDRBOTEzRSAv
KiBKU1dlYkdMTXVsdGlEcmF3LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xNdWx0aURy
YXcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RTg0RTlERTE3NjY4QkFEMDA4
MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmFzdGVyU2hhcGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RTg0
RTlERjE3NjY4QkFEMDA4MTVCNjggLyogUmFzdGVyU2hhcGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmFzdGVyU2hhcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNkU4QUNERTkyMzM0NUNBRjAwMjRBQUY1IC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVFVEMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViR0xDb21wcmVzc2VkVGV4dHVyZUVUQy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTkwMSw2ICsyOTkwNyw4IEBACiAJCQkJN0M1
MjIyOTgxRTFEQUUxNjAwMkNCOEY3IC8qIEFjdGl2ZURPTUNhbGxiYWNrLmggKi8sCiAJCQkJRTFD
NERFNkQwRUE3NUM2NTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5jcHAgKi8sCiAJCQkJRTFD
NERFNjgwRUE3NUMxRTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oICovLAorCQkJCTQ2QkQw
NUMyMjVCQjZFNEUwMDIyNUYzMCAvKiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oICovLAorCQkJ
CTQ2QkQwNUM0MjVCQjZFNEYwMDIyNUYzMCAvKiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwg
Ki8sCiAJCQkJRTNBRTZDRDEyMjUyRjI3MDAwQzcwQjUwIC8qIEFsbERlc2NlbmRhbnRzQ29sbGVj
dGlvbi5jcHAgKi8sCiAJCQkJODNCQjVDODcxRDVENkYzQTAwNUE3MUY0IC8qIEFsbERlc2NlbmRh
bnRzQ29sbGVjdGlvbi5oICovLAogCQkJCTMxOTg0N0ZFMUExRDgxNjcwMEExMzMxOCAvKiBBbmlt
YXRpb25FdmVudC5jcHAgKi8sCkBAIC0zMDExMyw2ICszMDEyMSw4IEBACiAJCQkJODVBRkE3NDEw
QUFGMjk4NDAwRTg0MzA1IC8qIEV2ZW50TGlzdGVuZXIuaWRsICovLAogCQkJCUFENDQ5NUYxMTQx
RkMwODkwMDU0MUVERiAvKiBFdmVudExpc3RlbmVyTWFwLmNwcCAqLywKIAkJCQlBRDQ0OTVGMjE0
MUZDMDg5MDA1NDFFREYgLyogRXZlbnRMaXN0ZW5lck1hcC5oICovLAorCQkJCTQ2QkQwNUMzMjVC
QjZFNEUwMDIyNUYzMCAvKiBFdmVudExpc3RlbmVyT3B0aW9ucy5oICovLAorCQkJCTQ2QkQwNUMw
MjVCQjZFNEQwMDIyNUYzMCAvKiBFdmVudExpc3RlbmVyT3B0aW9ucy5pZGwgKi8sCiAJCQkJOUI5
MURDQ0MyMzgzNzkyRDAwMEVFRTBGIC8qIEV2ZW50TG9vcC5jcHAgKi8sCiAJCQkJOUIwQUJDQTEy
MzY3OUFCMzAwQjQ1MDg1IC8qIEV2ZW50TG9vcC5oICovLAogCQkJCTgzRkU3Q0EzMURBOUYxNjUw
MDM3MjM3QyAvKiBFdmVudE1vZGlmaWVySW5pdC5oICovLApAQCAtMzEwNjUsNiArMzEwNzUsNyBA
QAogCQkJCUUxQzRERTY5MEVBNzVDMUUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTcyNEVFNTUwMURDODBEN0YwMEE5MUZGQiAvKiBBY3Rpdml0eVN0YXRl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MjRFRTU1MTFEQzgwRDg0MDBBOTFGRkIgLyogQWN0aXZp
dHlTdGF0ZUNoYW5nZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NkJEMDVDNTI1QkI2
RTU5MDAyMjVGMzAgLyogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExNjc3RTBFMjEzRTAyQTAwMEEwOEMzNCAvKiBBZGRyZXNzRXJyb3JzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0Y3RTQ5MTEzN0NEN0M3MDAxRERBRTcgLyogQWRqdXN0Vmlld1NpemVPck5v
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODREMEM0MDYxMTE1RjFFQTAwMThBQTM0IC8qIEFmZmlu
ZVRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjAwNiw2ICszMjAxNyw3IEBACiAJCQkJ
OTcwQjcyOEExNDRGRkFDNjAwRjAwQTM3IC8qIEV2ZW50SW50ZXJmYWNlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTM1RkJDNDUwOUJBMDBCOTAwRTIzMEIxIC8qIEV2ZW50TGlzdGVuZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUFENDQ5NUY0MTQxRkMwODkwMDU0MUVERiAvKiBFdmVudExpc3RlbmVy
TWFwLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NkJEMDVDNjI1QkI2RTZDMDAyMjVGMzAgLyogRXZl
bnRMaXN0ZW5lck9wdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ2RjAyQTFBMjM3MzdGODMw
MDEwNkE2NCAvKiBFdmVudExvb3AuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzRkU3Q0E4MURBOUYx
QjYwMDM3MjM3QyAvKiBFdmVudE1vZGlmaWVySW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5
ODg1QzQwOEI3RTNEMTAwRTcwN0M0IC8qIEV2ZW50TmFtZXMuaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IDQ5Yjc4Zjc1NDBmNDVhMTM1
NGVlYThkOWMxZTZiMjY2Zjk4YzMwOTUuLjRhMWJlZWQzYjM1YzU3OTM2MDdjNjE1MDVkZTU3MTQ0
YjNkZGViNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKQEAgLTQ5
LDcgKzQ5LDcgQEAgY2xhc3MgUmVuZGVyU3R5bGU7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5
cGU+IGNsYXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CiAKLWNsYXNzIFdl
YkFuaW1hdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkFuaW1hdGlvbj4sIHB1YmxpYyBDYW5N
YWtlV2Vha1B0cjxXZWJBbmltYXRpb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0
YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CitjbGFzcyBXZWJBbmltYXRpb24gOiBwdWJsaWMg
UmVmQ291bnRlZDxXZWJBbmltYXRpb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0
YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChX
ZWJBbmltYXRpb24pOwogcHVibGljOgogICAgIHN0YXRpYyBSZWY8V2ViQW5pbWF0aW9uPiBjcmVh
dGUoRG9jdW1lbnQmLCBBbmltYXRpb25FZmZlY3QqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eUxpc3QuY3BwCmluZGV4IDY3NGU4ZTFlZGQ5MzYxNDY3YTlkYTljYWI1MzEzYmM2YzFhZTllNjku
LjQ1YWFlOTlkODI5NmVkYTkwOGNiNmM3NGE4YmM2MDZlMzQzMDE5YTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlMaXN0LmNwcApAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0LmgiCiAKKyNpbmNsdWRlICJBZGRFdmVudExp
c3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlIDx3dGYv
SXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC02Niw3ICs2Nyw3IEBAIHZvaWQgTWVkaWFRdWVyeUxp
c3Q6OmFkZExpc3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyKQogICAgIGlm
ICghbGlzdGVuZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIGFkZEV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLmNoYW5nZUV2ZW50LCBsaXN0ZW5lci5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICBh
ZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgbGlzdGVuZXIucmVsZWFz
ZU5vbk51bGwoKSwgeyB9KTsKIH0KIAogdm9pZCBNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVu
ZXIoUmVmUHRyPEV2ZW50TGlzdGVuZXI+JiYgbGlzdGVuZXIpCkBAIC03NCw3ICs3NSw3IEBAIHZv
aWQgTWVkaWFRdWVyeUxpc3Q6OnJlbW92ZUxpc3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYm
IGxpc3RlbmVyKQogICAgIGlmICghbGlzdGVuZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIHJl
bW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCAqbGlzdGVuZXIpOwor
ICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCAqbGlzdGVu
ZXIsIHsgfSk7CiB9CiAKIHZvaWQgTWVkaWFRdWVyeUxpc3Q6OmV2YWx1YXRlKE1lZGlhUXVlcnlF
dmFsdWF0b3ImIGV2YWx1YXRvciwgYm9vbCYgbm90aWZpY2F0aW9uTmVlZGVkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUxpc3QuaAppbmRleCBiNzBhYTU1NjZiYzk3NTQwMWU3ZGJmOGU1MWI2YTk3
MGRiNTVlN2Y1Li4xM2Y1Mzk2ZGQ4NDIwZTBjZDI0Y2Q4YjczOTUxNGFjNWQwNDJmOGFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAvLyByZXRyaWV2ZSB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gbWVk
aWEgcXVlcnkgYW5kIHRvIGFkZC9yZW1vdmUgbGlzdGVuZXJzIHRoYXQKIC8vIHdpbGwgYmUgY2Fs
bGVkIHdoZW5ldmVyIHRoZSB2YWx1ZSBvZiB0aGUgcXVlcnkgY2hhbmdlcy4KIAotY2xhc3MgTWVk
aWFRdWVyeUxpc3QgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdD4sIHB1
YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVk
aWFRdWVyeUxpc3Q+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKK2NsYXNzIE1lZGlhUXVlcnlM
aXN0IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFRdWVyeUxpc3Q+LCBwdWJsaWMgRXZl
bnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChNZWRpYVF1ZXJ5TGlzdCk7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFJlZjxNZWRpYVF1ZXJ5TGlzdD4gY3JlYXRlKERvY3VtZW50JiwgTWVkaWFRdWVyeU1hdGNoZXIm
LCBSZWY8TWVkaWFRdWVyeVNldD4mJiwgYm9vbCBtYXRjaGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9BYm9ydFNpZ25hbC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0U2ln
bmFsLmgKaW5kZXggZGJkOTM2OGU1ODU4ZTk2OGFiZTlkNzhjNWZlNzVlNjcyOTc5MGI4YS4uMzIy
M2NjNzVkN2JkYjVkYTU0N2JmYTU2ODczY2NmZGU3NmM1M2JlYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0Fib3J0U2lnbmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Fib3J0
U2lnbmFsLmgKQEAgLTM4LDggKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWJv
cnRBbGdvcml0aG07CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCi1jbGFzcyBBYm9y
dFNpZ25hbCBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPEFib3J0U2lnbmFsPiwgcHVibGljIEV2
ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxBYm9ydFNpZ25h
bD4sIHByaXZhdGUgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIgewotICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoQWJvcnRTaWduYWwpOworY2xhc3MgQWJvcnRTaWduYWwgZmluYWwgOiBwdWJs
aWMgUmVmQ291bnRlZDxBYm9ydFNpZ25hbD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVE
YXRhLCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKKyAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0VYUE9SVChBYm9ydFNpZ25hbCwgV0VCQ09SRV9FWFBPUlQpOwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8QWJvcnRTaWduYWw+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3RlbmVy
T3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uY2IxMzRmYWJhYmExNTAwZjUwYzk3ZGNlZDQ4OWJlZTllNDc2MGRhOAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BZGRFdmVudExpc3RlbmVyT3B0aW9u
cy5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWJvcnRTaWduYWwuaCIK
KyNpbmNsdWRlICJFdmVudExpc3RlbmVyT3B0aW9ucy5oIgorI2luY2x1ZGUgPHd0Zi9PcHRpb25h
bC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBBZGRFdmVudExpc3RlbmVyT3B0
aW9ucyA6IEV2ZW50TGlzdGVuZXJPcHRpb25zIHsKKyAgICBBZGRFdmVudExpc3RlbmVyT3B0aW9u
cyhib29sIGNhcHR1cmUgPSBmYWxzZSwgT3B0aW9uYWw8Ym9vbD4gcGFzc2l2ZSA9IFdURjo6bnVs
bG9wdCwgYm9vbCBvbmNlID0gZmFsc2UsIFJlZlB0cjxBYm9ydFNpZ25hbD4mJiBzaWduYWwgPSBu
dWxscHRyKQorICAgICAgICA6IEV2ZW50TGlzdGVuZXJPcHRpb25zKGNhcHR1cmUpCisgICAgICAg
ICwgcGFzc2l2ZShwYXNzaXZlKQorICAgICAgICAsIG9uY2Uob25jZSkKKyAgICAgICAgLCBzaWdu
YWwoV1RGTW92ZShzaWduYWwpKQorICAgIHsKKyAgICB9CisKKyAgICBPcHRpb25hbDxib29sPiBw
YXNzaXZlOworICAgIGJvb2wgb25jZSB7IGZhbHNlIH07CisgICAgUmVmUHRyPEFib3J0U2lnbmFs
PiBzaWduYWw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNv
cmUvZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYWUwYTBlYWY5
ZDZiNGNlYTRlNjRjY2Q2MzdmZDBiYjQwNjMzYjUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLmlkbApAQCAtMCwwICsxLDMwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0
aW9uYXJ5IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIDogRXZlbnRMaXN0ZW5lck9wdGlvbnMgewor
ICAgIGJvb2xlYW4gcGFzc2l2ZTsKKyAgICBib29sZWFuIG9uY2UgPSBmYWxzZTsKKyAgICBBYm9y
dFNpZ25hbCBzaWduYWw7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmgKaW5kZXggOWQ2
YWNmYzk0YjI2OTQ3MDRlMzEwZjhjNjNiMjlmODY1OTM3ZTM0OS4uM2U0NjcxYTJlZDA1OWM1OWU2
YzFhZmEwMTEzNWFkYTM3YWI2ZjJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lci5oCkBA
IC0yMSw2ICsyMSw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiBjbGFzcyBK
U09iamVjdDsKQEAgLTMzLDcgKzM0LDcgQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsK
IGNsYXNzIEV2ZW50OwogY2xhc3MgRXZlbnRUYXJnZXQ7CiAKLWNsYXNzIEV2ZW50TGlzdGVuZXIg
OiBwdWJsaWMgUmVmQ291bnRlZDxFdmVudExpc3RlbmVyPiB7CitjbGFzcyBFdmVudExpc3RlbmVy
IDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRMaXN0ZW5lcj4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0
cjxFdmVudExpc3RlbmVyPiB7CiBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgSlNF
dmVudExpc3RlbmVyVHlwZSwgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRM
aXN0ZW5lck1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAK
aW5kZXggMGIwOWQwODJjMzZlZGRkODRiOWNkZTk4ODI1MjcyZGI1Zjk2ZTViZC4uZmMzNjNhZTMz
YWY5Mjc2ZmZjNWNhNmEyYjZiMWNmMjc1YmE4MDA5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dExpc3RlbmVyTWFwLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkV2ZW50TGlzdGVuZXJNYXAuaCIKIAorI2luY2x1ZGUgIkFkZEV2ZW50TGlzdGVu
ZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudFRhcmdldC5o
IgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExp
c3RlbmVyT3B0aW9ucy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwMWI0NGJjZTI4NWE2N2RlZmFhNmZlZTU2Yjdj
M2Q2MjUwNWIxOTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRM
aXN0ZW5lck9wdGlvbnMuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitzdHJ1Y3QgRXZlbnRMaXN0ZW5lck9wdGlvbnMgeworICAgIEV2ZW50TGlzdGVu
ZXJPcHRpb25zKGJvb2wgY2FwdHVyZSA9IGZhbHNlKQorICAgICAgICA6IGNhcHR1cmUoY2FwdHVy
ZSkKKyAgICB7IH0KKworICAgIGJvb2wgY2FwdHVyZSB7IGZhbHNlIH07Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0
ZW5lck9wdGlvbnMuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJPcHRpb25z
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43MGJiOTQyMjUzODQ4MmM0Y2MzNzQ2NTA0MTY5N2QzMWM2ZWYzMTRi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJPcHRp
b25zLmlkbApAQCAtMCwwICsxLDI4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5IEV2ZW50TGlzdGVuZXJPcHRpb25zIHsKKyAg
ICBib29sZWFuIGNhcHR1cmUgPSBmYWxzZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNw
cAppbmRleCAzNTRiZWU5OTg5MWI0OGFkZTdkZWRlMmNkYWQ5OTFiYjlhZGZmNGQ1Li4zMWE4MWVh
YjE5ZmMyZTAxMzk1NWI5NmZhOGM5NzUwMzJlYzM0ZWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldC5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJFdmVudFRhcmdldC5oIgogCisjaW5jbHVkZSAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIK
ICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAj
aW5jbHVkZSAiRXZlbnRUYXJnZXRDb25jcmV0ZS5oIgpAQCAtODEsMTkgKzgyLDI4IEBAIGJvb2wg
RXZlbnRUYXJnZXQ6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBSZWY8RXZlbnRMaXN0ZW5lCiAgICAgbGlzdGVuZXItPmNoZWNrVmFsaWRpdHlGb3JFdmVudFRh
cmdldCgqdGhpcyk7CiAjZW5kaWYKIAorICAgIGlmIChvcHRpb25zLnNpZ25hbCAmJiBvcHRpb25z
LnNpZ25hbC0+YWJvcnRlZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBhdXRvIHBh
c3NpdmUgPSBvcHRpb25zLnBhc3NpdmU7CiAKICAgICBpZiAoIXBhc3NpdmUuaGFzVmFsdWUoKSAm
JiBRdWlya3M6OnNob3VsZE1ha2VFdmVudExpc3RlbmVyUGFzc2l2ZSgqdGhpcywgZXZlbnRUeXBl
LCBsaXN0ZW5lci5nZXQoKSkpCiAgICAgICAgIHBhc3NpdmUgPSB0cnVlOwogCiAgICAgYm9vbCBs
aXN0ZW5lckNyZWF0ZWRGcm9tU2NyaXB0ID0gbGlzdGVuZXItPnR5cGUoKSA9PSBFdmVudExpc3Rl
bmVyOjpKU0V2ZW50TGlzdGVuZXJUeXBlICYmICFsaXN0ZW5lci0+d2FzQ3JlYXRlZEZyb21NYXJr
dXAoKTsKLSAgICBhdXRvIGxpc3RlbmVyUmVmID0gbGlzdGVuZXIuY29weVJlZigpOwogCi0gICAg
aWYgKCFlbnN1cmVFdmVudFRhcmdldERhdGEoKS5ldmVudExpc3RlbmVyTWFwLmFkZChldmVudFR5
cGUsIFdURk1vdmUobGlzdGVuZXIpLCB7IG9wdGlvbnMuY2FwdHVyZSwgcGFzc2l2ZS52YWx1ZU9y
KGZhbHNlKSwgb3B0aW9ucy5vbmNlIH0pKQorICAgIGlmICghZW5zdXJlRXZlbnRUYXJnZXREYXRh
KCkuZXZlbnRMaXN0ZW5lck1hcC5hZGQoZXZlbnRUeXBlLCBsaXN0ZW5lci5jb3B5UmVmKCksIHsg
b3B0aW9ucy5jYXB0dXJlLCBwYXNzaXZlLnZhbHVlT3IoZmFsc2UpLCBvcHRpb25zLm9uY2UgfSkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGlmIChvcHRpb25zLnNpZ25hbCkgeworICAg
ICAgICBvcHRpb25zLnNpZ25hbC0+YWRkQWxnb3JpdGhtKFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRy
KCp0aGlzKSwgZXZlbnRUeXBlLCBsaXN0ZW5lciA9IG1ha2VXZWFrUHRyKGxpc3RlbmVyLmdldCgp
KSwgY2FwdHVyZSA9IG9wdGlvbnMuY2FwdHVyZV0geworICAgICAgICAgICAgaWYgKHdlYWtUaGlz
ICYmIGxpc3RlbmVyKQorICAgICAgICAgICAgICAgIHdlYWtUaGlzLT5yZW1vdmVFdmVudExpc3Rl
bmVyKGV2ZW50VHlwZSwgKmxpc3RlbmVyLCBjYXB0dXJlKTsKKyAgICAgICAgfSk7CisgICAgfQor
CiAgICAgaWYgKGxpc3RlbmVyQ3JlYXRlZEZyb21TY3JpcHQpCi0gICAgICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkQWRkRXZlbnRMaXN0ZW5lcigqdGhpcywgZXZlbnRUeXBlLCBsaXN0
ZW5lclJlZi5nZXQoKSwgb3B0aW9ucy5jYXB0dXJlKTsKKyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRBZGRFdmVudExpc3RlbmVyKCp0aGlzLCBldmVudFR5cGUsIGxpc3RlbmVy
LmdldCgpLCBvcHRpb25zLmNhcHR1cmUpOwogCiAgICAgaWYgKGV2ZW50TmFtZXMoKS5pc1doZWVs
RXZlbnRUeXBlKGV2ZW50VHlwZSkpCiAgICAgICAgIGludmFsaWRhdGVFdmVudExpc3RlbmVyUmVn
aW9ucygpOwpAQCAtMTE2LDEyICsxMjYsMTIgQEAgdm9pZCBFdmVudFRhcmdldDo6YWRkRXZlbnRM
aXN0ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmUHQKICAg
ICBXVEY6OnZpc2l0KHZpc2l0b3IsIHZhcmlhbnQpOwogfQogCi12b2lkIEV2ZW50VGFyZ2V0Ojpy
ZW1vdmVFdmVudExpc3RlbmVyRm9yQmluZGluZ3MoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lciwgTGlzdGVuZXJPcHRpb25zT3JCb29s
ZWFuJiYgdmFyaWFudCkKK3ZvaWQgRXZlbnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXJGb3JC
aW5kaW5ncyhjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIFJlZlB0cjxFdmVudExpc3RlbmVy
PiYmIGxpc3RlbmVyLCBFdmVudExpc3RlbmVyT3B0aW9uc09yQm9vbGVhbiYmIHZhcmlhbnQpCiB7
CiAgICAgaWYgKCFsaXN0ZW5lcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgYXV0byB2aXNpdG9y
ID0gV1RGOjptYWtlVmlzaXRvcihbJl0oY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKSB7
CisgICAgYXV0byB2aXNpdG9yID0gV1RGOjptYWtlVmlzaXRvcihbJl0oY29uc3QgRXZlbnRMaXN0
ZW5lck9wdGlvbnMmIG9wdGlvbnMpIHsKICAgICAgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVu
dFR5cGUsICpsaXN0ZW5lciwgb3B0aW9ucyk7CiAgICAgfSwgWyZdKGJvb2wgY2FwdHVyZSkgewog
ICAgICAgICByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgKmxpc3RlbmVyLCBjYXB0dXJl
KTsKQEAgLTEzMCw3ICsxNDAsNyBAQCB2b2lkIEV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3Rl
bmVyRm9yQmluZGluZ3MoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZQogICAgIFdURjo6
dmlzaXQodmlzaXRvciwgdmFyaWFudCk7CiB9CiAKLWJvb2wgRXZlbnRUYXJnZXQ6OnJlbW92ZUV2
ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBs
aXN0ZW5lciwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9vbCBFdmVudFRhcmdl
dDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50
TGlzdGVuZXImIGxpc3RlbmVyLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykK
IHsKICAgICBhdXRvKiBkYXRhID0gZXZlbnRUYXJnZXREYXRhKCk7CiAgICAgaWYgKCFkYXRhKQpA
QCAtMTcwLDcgKzE4MCw3IEBAIGJvb2wgRXZlbnRUYXJnZXQ6OnNldEF0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8CiAKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQotICAgIHJldHVybiBhZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwg
bGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSk7CisgICAgcmV0dXJuIGFkZEV2ZW50TGlzdGVuZXIo
ZXZlbnRUeXBlLCBsaXN0ZW5lci5yZWxlYXNlTm9uTnVsbCgpLCB7IH0pOwogfQogCiBFdmVudExp
c3RlbmVyKiBFdmVudFRhcmdldDo6YXR0cmlidXRlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3Ry
aW5nJiBldmVudFR5cGUsIERPTVdyYXBwZXJXb3JsZCYgaXNvbGF0ZWRXb3JsZCkKQEAgLTMxOSw3
ICszMjksNyBAQCB2b2lkIEV2ZW50VGFyZ2V0Ojppbm5lckludm9rZUV2ZW50TGlzdGVuZXJzKEV2
ZW50JiBldmVudCwgRXZlbnRMaXN0ZW5lclZlY3RvciBsaQogCiAgICAgICAgIC8vIERvIHRoaXMg
YmVmb3JlIGludm9jYXRpb24gdG8gYXZvaWQgcmVlbnRyYW5jeSBpc3N1ZXMuCiAgICAgICAgIGlm
IChyZWdpc3RlcmVkTGlzdGVuZXItPmlzT25jZSgpKQotICAgICAgICAgICAgcmVtb3ZlRXZlbnRM
aXN0ZW5lcihldmVudC50eXBlKCksIHJlZ2lzdGVyZWRMaXN0ZW5lci0+Y2FsbGJhY2soKSwgTGlz
dGVuZXJPcHRpb25zKHJlZ2lzdGVyZWRMaXN0ZW5lci0+dXNlQ2FwdHVyZSgpKSk7CisgICAgICAg
ICAgICByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LnR5cGUoKSwgcmVnaXN0ZXJlZExpc3RlbmVy
LT5jYWxsYmFjaygpLCByZWdpc3RlcmVkTGlzdGVuZXItPnVzZUNhcHR1cmUoKSk7CiAKICAgICAg
ICAgaWYgKHJlZ2lzdGVyZWRMaXN0ZW5lci0+aXNQYXNzaXZlKCkpCiAgICAgICAgICAgICBldmVu
dC5zZXRJblBhc3NpdmVMaXN0ZW5lcih0cnVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKaW5k
ZXggY2ZjYjJjYjM1NDBkNDM0NmQ2MTA0MmIzNTJmN2JjYThhYmM1MjNmYy4uNDA5NTliMWU2ZWUx
NTFmMmY3YzY2N2VhMzQ1N2E3YmE4NzJjN2Q5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgK
QEAgLTMxLDYgKzMxLDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5l
ck1hcC5oIgorI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXJPcHRpb25zLmgiCiAjaW5jbHVkZSAiRXZl
bnRUYXJnZXRJbnRlcmZhY2VzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRl
ICJTY3JpcHRXcmFwcGFibGUuaCIKQEAgLTM4LDkgKzM5LDExIEBACiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1Zhcmlh
bnQuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K3N0cnVjdCBBZGRFdmVudExpc3RlbmVyT3B0aW9uczsKIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsK
IAogc3RydWN0IEV2ZW50VGFyZ2V0RGF0YSB7CkBAIC01MSw3ICs1NCw3IEBAIHB1YmxpYzoKICAg
ICBib29sIGlzRmlyaW5nRXZlbnRMaXN0ZW5lcnMgeyBmYWxzZSB9OwogfTsKIAotY2xhc3MgRXZl
bnRUYXJnZXQgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKK2NsYXNzIEV2ZW50VGFyZ2V0IDog
cHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIENhbk1ha2VXZWFrUHRyPEV2ZW50VGFyZ2V0
PiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChFdmVudFRhcmdldCk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxFdmVudFRhcmdldD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
KTsKQEAgLTYyLDQwICs2NSwyMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBFdmVudFRhcmdldElu
dGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCA9IDA7
CiAKLSAgICB2aXJ0dWFsIGJvb2wgaXNOb2RlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGlz
UGF5bWVudFJlcXVlc3QoKSBjb25zdDsKLQotICAgIHN0cnVjdCBMaXN0ZW5lck9wdGlvbnMgewot
ICAgICAgICBMaXN0ZW5lck9wdGlvbnMoYm9vbCBjYXB0dXJlID0gZmFsc2UpCi0gICAgICAgICAg
ICA6IGNhcHR1cmUoY2FwdHVyZSkKLSAgICAgICAgeyB9Ci0KLSAgICAgICAgYm9vbCBjYXB0dXJl
IHsgZmFsc2UgfTsKLSAgICB9OwotCi0gICAgc3RydWN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25z
IDogTGlzdGVuZXJPcHRpb25zIHsKLSAgICAgICAgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMoYm9v
bCBjYXB0dXJlID0gZmFsc2UsIE9wdGlvbmFsPGJvb2w+IHBhc3NpdmUgPSBXVEY6Om51bGxvcHQs
IGJvb2wgb25jZSA9IGZhbHNlKQotICAgICAgICAgICAgOiBMaXN0ZW5lck9wdGlvbnMoY2FwdHVy
ZSkKLSAgICAgICAgICAgICwgcGFzc2l2ZShwYXNzaXZlKQotICAgICAgICAgICAgLCBvbmNlKG9u
Y2UpCi0gICAgICAgIHsgfQotCi0gICAgICAgIE9wdGlvbmFsPGJvb2w+IHBhc3NpdmU7Ci0gICAg
ICAgIGJvb2wgb25jZSB7IGZhbHNlIH07Ci0gICAgfTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0
dWFsIGJvb2wgaXNOb2RlKCkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29s
IGlzUGF5bWVudFJlcXVlc3QoKSBjb25zdDsKIAogICAgIHVzaW5nIEFkZEV2ZW50TGlzdGVuZXJP
cHRpb25zT3JCb29sZWFuID0gVmFyaWFudDxBZGRFdmVudExpc3RlbmVyT3B0aW9ucywgYm9vbD47
CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRFdmVudExpc3RlbmVyRm9yQmluZGluZ3MoY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiwgQWRkRXZl
bnRMaXN0ZW5lck9wdGlvbnNPckJvb2xlYW4mJik7Ci0gICAgdXNpbmcgTGlzdGVuZXJPcHRpb25z
T3JCb29sZWFuID0gVmFyaWFudDxMaXN0ZW5lck9wdGlvbnMsIGJvb2w+OwotICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgUmVmUHRyPEV2ZW50TGlzdGVuZXI+JiYsIExpc3RlbmVyT3B0aW9uc09y
Qm9vbGVhbiYmKTsKKyAgICB1c2luZyBFdmVudExpc3RlbmVyT3B0aW9uc09yQm9vbGVhbiA9IFZh
cmlhbnQ8RXZlbnRMaXN0ZW5lck9wdGlvbnMsIGJvb2w+OworICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgcmVtb3ZlRXZlbnRMaXN0ZW5lckZvckJpbmRpbmdzKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50
VHlwZSwgUmVmUHRyPEV2ZW50TGlzdGVuZXI+JiYsIEV2ZW50TGlzdGVuZXJPcHRpb25zT3JCb29s
ZWFuJiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIEV4Y2VwdGlvbk9yPGJvb2w+IGRpc3BhdGNoRXZl
bnRGb3JCaW5kaW5ncyhFdmVudCYpOwogCi0gICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29s
IGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRM
aXN0ZW5lcj4mJiwgY29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmID0geyB9KTsKLSAgICB2
aXJ0dWFsIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5
cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBMaXN0ZW5lck9wdGlvbnMmID0geyB9KTsKKyAgICBX
RUJDT1JFX0VYUE9SVCB2aXJ0dWFsIGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3Ry
aW5nJiBldmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmLCBjb25zdCBBZGRFdmVudExpc3Rl
bmVyT3B0aW9ucyYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgYm9vbCByZW1vdmVFdmVu
dExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNv
bnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiA9IHsgfSk7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcmVt
b3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hFdmVudChF
dmVudCYpOwotICAgIHZpcnR1YWwgdm9pZCB1bmNhdWdodEV4Y2VwdGlvbkluRXZlbnRIYW5kbGVy
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHJlbW92ZUFsbEV2ZW50TGlzdGVu
ZXJzKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIGRpc3BhdGNoRXZlbnQoRXZl
bnQmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIHZvaWQgdW5jYXVnaHRFeGNlcHRpb25J
bkV2ZW50SGFuZGxlcigpOwogCiAgICAgLy8gVXNlZCBmb3IgbGVnYWN5ICJvbmV2ZW50IiBhdHRy
aWJ1dGVzLgogICAgIGJvb2wgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3Ry
aW5nJiBldmVudFR5cGUsIFJlZlB0cjxFdmVudExpc3RlbmVyPiYmLCBET01XcmFwcGVyV29ybGQm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaWRsCmluZGV4IDVmYWUxOGJhZGQ5ZjA2Nzg3YWY3
YWVkNTdmYTM2YWZjZjJhMmYzMGUuLjM2OTBlZDYwMTBlMTQwNjFhOWI2M2Y4ZWQxMzlkNDYxZDY5
YjAzZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbApAQCAtMzIsMTIgKzMyLDMgQEAK
ICAgICBbSW1wbGVtZW50ZWRBcz1yZW1vdmVFdmVudExpc3RlbmVyRm9yQmluZGluZ3NdIHVuZGVm
aW5lZCByZW1vdmVFdmVudExpc3RlbmVyKFtBdG9tU3RyaW5nXSBET01TdHJpbmcgdHlwZSwgRXZl
bnRMaXN0ZW5lcj8gY2FsbGJhY2ssIG9wdGlvbmFsIChFdmVudExpc3RlbmVyT3B0aW9ucyBvciBi
b29sZWFuKSBvcHRpb25zID0gZmFsc2UpOwogICAgIFtJbXBsZW1lbnRlZEFzPWRpc3BhdGNoRXZl
bnRGb3JCaW5kaW5ncywgTWF5VGhyb3dFeGNlcHRpb25dIGJvb2xlYW4gZGlzcGF0Y2hFdmVudChF
dmVudCBldmVudCk7CiB9OwotCi1kaWN0aW9uYXJ5IEV2ZW50TGlzdGVuZXJPcHRpb25zIHsKLSAg
ICBib29sZWFuIGNhcHR1cmUgPSBmYWxzZTsKLX07Ci0KLWRpY3Rpb25hcnkgQWRkRXZlbnRMaXN0
ZW5lck9wdGlvbnMgOiBFdmVudExpc3RlbmVyT3B0aW9ucyB7Ci0gICAgYm9vbGVhbiBwYXNzaXZl
OwotICAgIGJvb2xlYW4gb25jZSA9IGZhbHNlOwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQu
Y3BwCmluZGV4IGI0MTgyODVkZTFmZDAzY2YxOThmMWExOGU3MzU5ZTgxYjc4MDY3OTMuLjIxZGQ1
ZjBiN2FkMWI2MDc0NjA3NWQ4ZjZmOWYyZmU0NDA2NjAyMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3Nh
Z2VQb3J0LmNwcApAQCAtMTA0LDYgKzEwNCw5IEBAIE1lc3NhZ2VQb3J0OjpNZXNzYWdlUG9ydChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBNCiAg
ICAgTG9ja2VyPExvY2s+IGxvY2tlcihhbGxNZXNzYWdlUG9ydHNMb2NrKTsKICAgICBhbGxNZXNz
YWdlUG9ydHMoKS5zZXQobV9pZGVudGlmaWVyLCB0aGlzKTsKIAorICAgIC8vIE1ha2Ugc3VyZSB0
aGUgV2Vha1B0ckZhY3RvcnkgZ2V0cyBpbml0aWFsaXplZCBlYWdlcmx5IG9uIHRoZSB0aHJlYWQg
dGhlIE1lc3NhZ2VQb3J0IGdldHMgY29uc3RydWN0ZWQgb24gZm9yIHRocmVhZC1zYWZldHkgcmVh
c29ucy4KKyAgICBpbml0aWFsaXplV2Vha1B0ckZhY3RvcnkoKTsKKwogICAgIG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+Y3JlYXRlZE1lc3NhZ2VQb3J0KCp0aGlzKTsKICAgICBzdXNwZW5kSWZO
ZWVkZWQoKTsKIApAQCAtNDE5LDcgKzQyMiw3IEBAIGJvb2wgTWVzc2FnZVBvcnQ6OmFkZEV2ZW50
TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lCiAg
ICAgcmV0dXJuIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGE6OmFkZEV2ZW50TGlzdGVuZXIoZXZl
bnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgb3B0aW9ucyk7CiB9CiAKLWJvb2wgTWVzc2FnZVBv
cnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVu
dExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9v
bCBNZXNzYWdlUG9ydDo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVu
dFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBjb25zdCBFdmVudExpc3RlbmVyT3B0aW9u
cyYgb3B0aW9ucykKIHsKICAgICBhdXRvIHJlc3VsdCA9IEV2ZW50VGFyZ2V0V2l0aElubGluZURh
dGE6OnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgKaW5kZXggYzZiZjhkMWUzZWNlYzQxZWNmMGFjNjY2MDgz
Y2I3YjYxYmQ4YzJhNS4uOWI0Y2NiYmQ1NmQ5MWVkZTFkNDcwNGY3ZGNjMGY3OWYwNDQ1OGU2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBGcmFtZTsKIAotY2xhc3MgTWVzc2FnZVBvcnQgZmluYWwgOiBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVi
bGljIENhbk1ha2VXZWFrUHRyPE1lc3NhZ2VQb3J0LCBXZWFrUHRyRmFjdG9yeUluaXRpYWxpemF0
aW9uOjpFYWdlcj4geworY2xhc3MgTWVzc2FnZVBvcnQgZmluYWwgOiBwdWJsaWMgQWN0aXZlRE9N
T2JqZWN0LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoTWVzc2FnZVBvcnQpOwogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoTWVz
c2FnZVBvcnQpOwogcHVibGljOgpAQCAtOTksNyArOTksNyBAQCBwcml2YXRlOgogICAgIGV4cGxp
Y2l0IE1lc3NhZ2VQb3J0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBNZXNzYWdlUG9y
dElkZW50aWZpZXImIGxvY2FsLCBjb25zdCBNZXNzYWdlUG9ydElkZW50aWZpZXImIHJlbW90ZSk7
CiAKICAgICBib29sIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBm
aW5hbDsKLSAgICBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZl
bnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRpb25zJikgZmluYWw7Cisg
ICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwg
RXZlbnRMaXN0ZW5lciYsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJikgZmluYWw7CiAKICAg
ICAvLyBBY3RpdmVET01PYmplY3QKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1l
KCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggNGNiMjdmNjA3MDZlZDQzNmJkYzZi
ZTQ0Y2FhNzZhZGRhNWI4MTA5Yy4uMGEzODI3NTUyMDY2YmI2NTY3MzhjMDU1OGY3OWE5MThhODIy
MzU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMjEyOCw3ICsyMTI4LDcgQEAgdm9pZCBOb2RlOjpt
b3ZlTm9kZVRvTmV3RG9jdW1lbnQoRG9jdW1lbnQmIG9sZERvY3VtZW50LCBEb2N1bWVudCYgbmV3
RG9jdW1lbnQpCiAgICAgICAgIGRvd25jYXN0PEVsZW1lbnQ+KCp0aGlzKS5kaWRNb3ZlVG9OZXdE
b2N1bWVudChvbGREb2N1bWVudCwgbmV3RG9jdW1lbnQpOwogfQogCi1zdGF0aWMgaW5saW5lIGJv
b2wgdHJ5QWRkRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyLCBjb25zdCBFdmVudFRh
cmdldDo6QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCitzdGF0aWMgaW5saW5lIGJv
b2wgdHJ5QWRkRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBBdG9tU3RyaW5n
JiBldmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyLCBjb25zdCBBZGRFdmVu
dExpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBpZiAoIXRhcmdldE5vZGUtPkV2ZW50
VGFyZ2V0OjphZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIuY29weVJlZigpLCBv
cHRpb25zKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjE2NCw3ICsyMTY0LDcgQEAgYm9v
bCBOb2RlOjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVm
PEV2ZW50TGlzdGVuZXI+JiYgbGkKICAgICByZXR1cm4gdHJ5QWRkRXZlbnRMaXN0ZW5lcih0aGlz
LCBldmVudFR5cGUsIFdURk1vdmUobGlzdGVuZXIpLCBvcHRpb25zKTsKIH0KIAotc3RhdGljIGlu
bGluZSBib29sIHRyeVJlbW92ZUV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZl
bnRUYXJnZXQ6Okxpc3RlbmVyT3B0aW9ucyYgb3B0aW9ucykKK3N0YXRpYyBpbmxpbmUgYm9vbCB0
cnlSZW1vdmVFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21TdHJpbmcm
IGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJP
cHRpb25zJiBvcHRpb25zKQogewogICAgIGlmICghdGFyZ2V0Tm9kZS0+RXZlbnRUYXJnZXQ6OnJl
bW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9ucykpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKQEAgLTIxOTYsNyArMjE5Niw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCB0
cnlSZW1vdmVFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21TdHJpbmcm
IGV2CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgTm9kZTo6cmVtb3ZlRXZlbnRMaXN0ZW5l
cihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBj
b25zdCBMaXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCitib29sIE5vZGU6OnJlbW92ZUV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5l
ciwgY29uc3QgRXZlbnRMaXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgcmV0dXJuIHRy
eVJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcywgZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuaAppbmRleCAyOWUyOGM5YTE5NjI3ZTBlZDJmN2NlNzI3NDdmMmE2ZDY5YWQw
MzYxLi4zMjJhZWU2MGEwMTFjNGRhZDI2ODdiOTM3YmU3NzkzMTEzMzQzYjJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
LmgKQEAgLTY5LDcgKzY5LDcgQEAgY2xhc3MgVG91Y2hFdmVudDsKIAogdXNpbmcgTm9kZU9yU3Ry
aW5nID0gVmFyaWFudDxSZWZQdHI8Tm9kZT4sIFN0cmluZz47CiAKLWNsYXNzIE5vZGUgOiBwdWJs
aWMgQ2FuTWFrZVdlYWtQdHI8Tm9kZT4sIHB1YmxpYyBFdmVudFRhcmdldCB7CitjbGFzcyBOb2Rl
IDogcHVibGljIEV2ZW50VGFyZ2V0IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKE5vZGUp
OwogCiAgICAgZnJpZW5kIGNsYXNzIERvY3VtZW50OwpAQCAtNDQ3LDcgKzQ0Nyw3IEBAIHB1Ymxp
YzoKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkg
Y29uc3QgZmluYWw7IC8vIEltcGxlbWVudGVkIGluIERvY3VtZW50LmgKIAogICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUs
IFJlZjxFdmVudExpc3RlbmVyPiYmLCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyYpIG92
ZXJyaWRlOwotICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlk
ZTsKKyAgICBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRU
eXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlk
ZTsKIAogICAgIHVzaW5nIEV2ZW50VGFyZ2V0OjpkaXNwYXRjaEV2ZW50OwogICAgIHZvaWQgZGlz
cGF0Y2hFdmVudChFdmVudCYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKaW5kZXggOTRmZTRmMmJhMzRjOThhNmEwNWJlYWYzNWRhNzViYzE5YTFhMmZl
Ni4uODIwODkxNmE5OWQ5N2VlMzk4OTBjMzgxNjRlYWQ0MTc0NjI0NTgyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC01Nzk1LDcgKzU3OTUsNyBAQCBib29s
IEhUTUxNZWRpYUVsZW1lbnQ6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZl
bnRUeXBlLCBSZWY8RXZlbnRMaQogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIEhUTUxNZWRp
YUVsZW1lbnQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25z
KQorYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21T
dHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IEV2ZW50TGlz
dGVuZXJPcHRpb25zJiBvcHRpb25zKQogewogI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAmJiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQogICAgIGlmIChldmVudFR5cGUgPT0gZXZl
bnROYW1lcygpLndlYmtpdG5lZWRrZXlFdmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgKaW5kZXggYzdiZTcwNmRkZmQ3MjhmNWY1MjdlZWRjNDVhNDVmYTRkODczMGNlYi4u
MTI0MzJiZDViOTZiYjZjMTE2NTAzM2FiM2Y3NjVhODFiZWVmNzY3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTQwMiw3ICs0MDIsNyBAQCBwdWJsaWM6CiAjaWYg
RU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICB2b2lkIHdlYmtpdFNob3dQbGF5
YmFja1RhcmdldFBpY2tlcigpOwogICAgIGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9t
U3RyaW5nJiBldmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmLCBjb25zdCBBZGRFdmVudExp
c3RlbmVyT3B0aW9ucyYpIG92ZXJyaWRlOwotICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihj
b25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBMaXN0ZW5l
ck9wdGlvbnMmKSBvdmVycmlkZTsKKyAgICBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgRXZlbnRMaXN0ZW5l
ck9wdGlvbnMmKSBvdmVycmlkZTsKIAogICAgIHZvaWQgd2lyZWxlc3NSb3V0ZXNBdmFpbGFibGVE
aWRDaGFuZ2UoKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFdpcmVsZXNzUGxheWJhY2tUYXJnZXQo
UmVmPE1lZGlhUGxheWJhY2tUYXJnZXQ+JiYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1h
Z2VEb2N1bWVudC5jcHAKaW5kZXggYTU0NmUxZDA2NzVlMjY1YzM5ODBmYzY1N2ZkNjc5YjM0NWUy
N2JmOS4uNDUzOGNmNzY5MDUxMjA5Y2EzOTkyNzJjMGQ5YWM4MjYzN2ZkMWY0ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSW1hZ2VEb2N1bWVudC5oIgogCisjaW5jbHVkZSAiQWRkRXZl
bnRMaXN0ZW5lck9wdGlvbnMuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUg
IkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
dHJhY2svVGV4dFRyYWNrQ3VlLmgKaW5kZXggYmQ5NzZlNGMzOWZhNTE3ZDU2MGY1NWI5YmNlYWZk
MTlkMzE5ZmJlZC4uYjUwMzgxYzVhZGZjZjZmNTBmZWQzNWQ0YTg5ZDFlNzgxNzUzZDM1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZS5oCkBAIC02Miw3ICs2Miw3IEBA
IHByaXZhdGU6CiAgICAgV2Vha1B0cjxUZXh0VHJhY2tDdWU+IG1fY3VlOwogfTsKIAotY2xhc3Mg
VGV4dFRyYWNrQ3VlIDogcHVibGljIFJlZkNvdW50ZWQ8VGV4dFRyYWNrQ3VlPiwgcHVibGljIEV2
ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxUZXh0VHJhY2tD
dWU+IHsKK2NsYXNzIFRleHRUcmFja0N1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRUcmFja0N1
ZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhIHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFRleHRUcmFja0N1ZSk7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEF0b21T
dHJpbmcmIGN1ZVNoYWRvd1BzZXVkb0lkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IGZiOTkzMWQ5MTk5OTJm
ZjE4NjgxYTQ1ZTE3OTFmYjk2YWNlMDg0ZWMuLjVjYjU4YjljOTlkOWQ2OWEwZWRiMDM1ZTRiZWNk
MzRiOTE2ZjI3M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMv
SW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2Vu
dHMvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJB
WE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaCIKKyNp
bmNsdWRlICJBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkF0dHIuaCIKICNp
bmNsdWRlICJDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCIKICNpbmNsdWRlICJDU1NQYXJz
ZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBs
aWNhdGlvbkNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGlj
YXRpb25DYWNoZS5oCmluZGV4IGQwOWQyZTQ3NmM1MjZlYWIyYTI3NTdhYWExZWI5MDIwMTQxOWZl
Y2MuLmFlMTg2YWVlZmU0Mjk5Y2NhZTNkOTY4NDNiZDVhMGRlYjVhM2I4MzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaApA
QCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlSG9zdDsKIGNsYXNzIEZyYW1lOwogCi1jbGFzcyBET01BcHBsaWNhdGlvbkNhY2hlIGZpbmFs
IDogcHVibGljIFJlZkNvdW50ZWQ8RE9NQXBwbGljYXRpb25DYWNoZT4sIHB1YmxpYyBFdmVudFRh
cmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHksIHB1YmxpYyBDYW5N
YWtlV2Vha1B0cjxET01BcHBsaWNhdGlvbkNhY2hlPiB7CitjbGFzcyBET01BcHBsaWNhdGlvbkNh
Y2hlIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RE9NQXBwbGljYXRpb25DYWNoZT4sIHB1Ymxp
YyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgewog
ICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoRE9NQXBwbGljYXRpb25DYWNoZSk7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFJlZjxET01BcHBsaWNhdGlvbkNhY2hlPiBjcmVhdGUoRE9NV2luZG93JiB3
aW5kb3cpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NQXBwbGljYXRpb25DYWNoZSh3aW5kb3cp
KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDc2NWFjNDcxZmZmOWQ1MzRhOWJm
ZjkxYTliM2UxOWFiOGJiZTI0MjQuLjczNjg0YjRlMmVhOTc4NTE4MTk2NjdiZTY4NDljNTkzNjc0
OTJkYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTIxNDUsNyArMjE0NSw3IEBA
IHZvaWQgRE9NV2luZG93OjpyZXNldEFsbEdlb2xvY2F0aW9uUGVybWlzc2lvbigpCiAjZW5kaWYK
IH0KIAotYm9vbCBET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmlu
ZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgTGlzdGVuZXJPcHRp
b25zJiBvcHRpb25zKQorYm9vbCBET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgRXZl
bnRMaXN0ZW5lck9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgaWYgKCFFdmVudFRhcmdldDo6cmVt
b3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCBvcHRpb25zLmNhcHR1cmUpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RP
TVdpbmRvdy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCBhYzI3ODRm
ODk3N2QxMWE4MTdlMzI5OTYyYmZmMDU2MzE2MWQ0YjBhLi4wZTM1MTE3ZjVhZDhhYjhmZGRmNGRk
ZjY2NjkwMTdjMDFmODljNDUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTExMSw3ICsx
MTEsNiBAQCBzdHJ1Y3QgV2luZG93UG9zdE1lc3NhZ2VPcHRpb25zIDogcHVibGljIFBvc3RNZXNz
YWdlT3B0aW9ucyB7CiAvLyBGSVhNRTogUmVuYW1lIERPTVdpbmRvdyB0byBMb2NhbFdpbmRvdyBh
bmQgQWJzdHJhY3RET01XaW5kb3cgdG8gRE9NV2luZG93LgogY2xhc3MgRE9NV2luZG93IGZpbmFs
CiAgICAgOiBwdWJsaWMgQWJzdHJhY3RET01XaW5kb3cKLSAgICAsIHB1YmxpYyBDYW5NYWtlV2Vh
a1B0cjxET01XaW5kb3c+CiAgICAgLCBwdWJsaWMgQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIK
ICAgICAsIHB1YmxpYyBCYXNlNjRVdGlsaXRpZXMKICAgICAsIHB1YmxpYyBTdXBwbGVtZW50YWJs
ZTxET01XaW5kb3c+IHsKQEAgLTMxNCw3ICszMTMsNyBAQCBwdWJsaWM6CiAgICAgLy8gRXZlbnRz
CiAgICAgLy8gRXZlbnRUYXJnZXQgQVBJCiAgICAgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0
IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2
ZW50TGlzdGVuZXJPcHRpb25zJikgZmluYWw7Ci0gICAgYm9vbCByZW1vdmVFdmVudExpc3RlbmVy
KGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3Rl
bmVyT3B0aW9ucyYpIGZpbmFsOworICAgIGJvb2wgcmVtb3ZlRXZlbnRMaXN0ZW5lcihjb25zdCBB
dG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBFdmVudExpc3RlbmVy
T3B0aW9ucyYpIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKSBmaW5h
bDsKIAogICAgIHVzaW5nIEV2ZW50VGFyZ2V0OjpkaXNwYXRjaEV2ZW50OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVs
ZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25N
b2RlbE1lZGlhRWxlbWVudC5tbQppbmRleCA1ZTYwMWQzN2E1N2UzODM5YzhiY2M1YmM1YTNiMWQ0
NTQxNDAxMTM1Li4xMDUyYmU3MGEzNzhlODQ3ZDNhZTI5OTQ2NGEzMTEzNGJiNzg2YjY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QbGF5
YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkgfHwgKFBMQVRGT1JNKE1BQykgJiYgRU5BQkxFKFZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKSkKIAorI2ltcG9ydCAiQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaCIK
ICNpbXBvcnQgIkF1ZGlvVHJhY2tMaXN0LmgiCiAjaW1wb3J0ICJFdmVudC5oIgogI2ltcG9ydCAi
RXZlbnRMaXN0ZW5lci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29j
b2EvVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRlb0VsZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5Nb2RlbFZpZGVvRWxlbWVudC5tbQppbmRleCA0
Y2E0YzJjYmM2MGQwYTM1NGM1YjM0YTY2MzNlNmJlNzg0NTgyNzEyLi43MzFhOWZmZmQ2ZDZlYWM2
NDE5MjkxNDkxYWZhNTM1OTAyMTkzZDk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5Nb2RlbFZpZGVvRWxlbWVudC5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5Nb2RlbFZpZGVvRWxlbWVu
dC5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKQogCisjaW1wb3J0ICJBZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oIgogI2ltcG9ydCAiRE9N
V2luZG93LmgiCiAjaW1wb3J0ICJFdmVudC5oIgogI2ltcG9ydCAiRXZlbnRMaXN0ZW5lci5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IGNhYWM1NTc4MzIyMDc0OTUwZTQ4YjU0NTkx
Y2I5OWY1ZjE3Njk4ZjkuLmQ0ODBlNWY2YWUwNzIyNTc4OWEyMWIwNTQ4Y2IzNjY0MDcwNTFmZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTM4MSw3ICszODEsNyBAQCBib29sIFNW
R0VsZW1lbnQ6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBS
ZWY8RXZlbnRMaXN0ZW5lcgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFNWR0VsZW1lbnQ6
OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExp
c3RlbmVyJiBsaXN0ZW5lciwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiBvcHRpb25zKQorYm9vbCBT
VkdFbGVtZW50OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlw
ZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJiBv
cHRpb25zKQogewogICAgIGlmIChjb250YWluaW5nU2hhZG93Um9vdCgpKQogICAgICAgICByZXR1
cm4gTm9kZTo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3RlbmVyLCBvcHRpb25z
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmluZGV4IGFlNmMwNzY1ZjQzZDIyMzBkNDU4OWJjMDZl
MDhjMDk4NGY5ODc3MzQuLmE4NGM5YmY3MmY3MTUxOTRhOTM2MThmMDJkYjVmODNkM2M3YjhkOTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApAQCAtMTEyLDcgKzExMiw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGJvb2wgaGF2ZUxvYWRlZFJlcXVpcmVkUmVzb3VyY2VzKCk7CiAKICAgICBib29s
IGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRM
aXN0ZW5lcj4mJiwgY29uc3QgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMmKSBvdmVycmlkZTsKLSAg
ICBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBF
dmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CisgICAgYm9v
bCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRM
aXN0ZW5lciYsIGNvbnN0IEV2ZW50TGlzdGVuZXJPcHRpb25zJikgb3ZlcnJpZGU7CiAKICAgICBi
b29sIGhhc1RhZ05hbWUoY29uc3QgU1ZHUXVhbGlmaWVkTmFtZSYgbmFtZSkgY29uc3QgeyByZXR1
cm4gaGFzTG9jYWxOYW1lKG5hbWUubG9jYWxOYW1lKCkpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VFJlZkVsZW1lbnQuY3BwCmluZGV4IDEzMjkyYmM2Y2M1MDAzMWQ5ODU0NzE4ZWU0YWQ0YWJhMzcy
M2FkZmEuLjc2OWFhMWExMmRmZWNiOTVlODZjNjE4OTIwMGMxZDdlYjYyODY2NjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcApAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR1RSZWZFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJBZGRF
dmVudExpc3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25FdmVudC5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL2FuaW1hdGlvbi9TVkdTTUlMRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9uL1NWR1NNSUxFbGVtZW50LmNwcAppbmRleCAwNDMyMTI4
Yzk4MTJlOTViNjBlYzcxN2E2ZThmNzk1OWU5ZmM0MmFiLi42ODE5MWI5NGE0MDAxMDVmYjI2YTE2
OTJlNmYwMmRiNTc4Y2JhZWNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0
aW9uL1NWR1NNSUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvYW5pbWF0aW9u
L1NWR1NNSUxFbGVtZW50LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlNWR1NNSUxFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJBZGRFdmVudExpc3Rl
bmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKaW5kZXggZmU3MjBlOTM1ZWU5ZjMyYWNjN2Q4ZDhlY2I1ZjUzMWFjYjFkOWYyMS4uN2Vm
ZDY4ZjZmODY3MjZjYWNiNjU5ZjA0NjUyMGNmNGQxYjVhNWNkYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkFjdGl2aXR5U3RhdGUuaCIKKyNpbmNsdWRlICJBZGRFdmVudExp
c3RlbmVyT3B0aW9ucy5oIgogI2luY2x1ZGUgIkFuaW1hdGlvblRpbWVsaW5lLmgiCiAjaW5jbHVk
ZSAiQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIKICNpbmNsdWRlICJBdWRpb1Nlc3Npb24uaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5oCmluZGV4IDVjNGI5NzAyYzQwYmE1OGExZTZiYzk1ZWZkMDY3ZjA4OTg5OTk3
MDAuLmViYmU5NWU4OTI0YzhmMWQ3Mzc1MjVkZWExNjMwYjFmYWQ1NmZiMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuaApAQCAtMjgsNiArMjgsNyBAQAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2lu
Y2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkFkZEV2ZW50TGlzdGVuZXJPcHRp
b25zLmgiCiAjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJJRExUeXBlcy5oIgog
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9ET00vR09iamVjdEV2ZW50TGlz
dGVuZXIuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3Rr
L0RPTS9HT2JqZWN0RXZlbnRMaXN0ZW5lci5oCmluZGV4IGJlMjMzYzNjMDFmYjRlYTA2Y2E4NjQ0
OTNhY2Q1ZTI4YWI0YTM1NTYuLjkxN2VkODZkODc4ZGZiM2YxNzczNTFjNmRmMzhkYWQ2ODg4MTZi
ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvZ3RrL0RPTS9HT2JqZWN0RXZlbnRMaXN0ZW5lci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL0RPTS9HT2JqZWN0RXZlbnRMaXN0ZW5lci5o
CkBAIC0xOCw2ICsxOCw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8V2ViQ29yZS9B
ZGRFdmVudExpc3RlbmVyT3B0aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRXZlbnRMaXN0ZW5l
ci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRXZlbnRUYXJnZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYv
UERGUGx1Z2luQW5ub3RhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BERi9QREZQbHVnaW5Bbm5vdGF0aW9uLm1tCmluZGV4IGJiMDllZDM4NDNmZGIxNTBjYmRlMTBj
MTM5OGVjMTUyN2RhNjliOTkuLmNhZWYzZTE5MDBjMjgzYzFiMzYwNTM5NDEyMjhlZTBlNzE2ZDY3
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9QREZQ
bHVnaW5Bbm5vdGF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BERi9QREZQbHVnaW5Bbm5vdGF0aW9uLm1tCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJQ
REZQbHVnaW5DaG9pY2VBbm5vdGF0aW9uLmgiCiAjaW1wb3J0ICJQREZQbHVnaW5UZXh0QW5ub3Rh
dGlvbi5oIgogI2ltcG9ydCA8UXVhcnR6L1F1YXJ0ei5oPgorI2ltcG9ydCA8V2ViQ29yZS9BZGRF
dmVudExpc3RlbmVyT3B0aW9ucy5oPgogI2ltcG9ydCA8V2ViQ29yZS9DU1NQcmltaXRpdmVWYWx1
ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9DU1NQcm9wZXJ0eU5hbWVzLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0NvbG9yTWFjLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00v
RE9NTm9kZS5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9ET01Ob2RlLm1tCmluZGV4
IDJjZDliMzMxYWVhOGYxMGY3ZjkxMTRjNDRhMTFjZGEzZDhjZTgxYWQuLjVkMTRiYTE0OTZlMjk0
ZDI1NjE2MmY4MzgyYTMxZWMwODJiNjNkZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL0RPTS9ET01Ob2RlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0RPTS9E
T01Ob2RlLm1tCkBAIC0zMyw2ICszMyw3IEBACiAjaW1wb3J0ICJET01Ob2RlTGlzdEludGVybmFs
LmgiCiAjaW1wb3J0ICJFeGNlcHRpb25IYW5kbGVycy5oIgogI2ltcG9ydCAiT2JqQ0V2ZW50TGlz
dGVuZXIuaCIKKyNpbXBvcnQgPFdlYkNvcmUvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaD4KICNp
bXBvcnQgPFdlYkNvcmUvRE9NSW1wbGVtZW50YXRpb24uaD4KICNpbXBvcnQgPFdlYkNvcmUvRWxl
bWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9KU0V4ZWNTdGF0ZS5oPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vRE9NQ29yZUNsYXNzZXMuY3BwIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vRE9NQ29yZUNsYXNzZXMuY3BwCmluZGV4IGIwMzYxZmVhZDU3ZDAzMTJmNTRjOTVl
NDFiYTRjYWYyYmNjMmNkZmUuLjVkZmFkOGRhNTVlOGYyODdlYTE5OWM5ZWJkOTg2MWU2M2Q0NTE4
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0RPTUNvcmVDbGFzc2VzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9ET01Db3JlQ2xhc3Nlcy5jcHAKQEAgLTMw
LDYgKzMwLDcgQEAKICNpbmNsdWRlICJET01FdmVudHNDbGFzc2VzLmgiCiAjaW5jbHVkZSAiRE9N
SFRNTENsYXNzZXMuaCIKICNpbmNsdWRlICJXZWJLaXRHcmFwaGljcy5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0F0dHIu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0JTdHJpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0NPTVB0
ci5oPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMjMxNmVkNjIzZDQ4NmFkNjk3
MTVmM2FiN2YyZGVhY2U1NjY2NjA0OS4uMzhhNTcxY2JkZmE2MDg2MmYwNmM0ODU5Nzk3NzdjNTMx
MmI2YjYzMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMjEtMDEtMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBT
dXBwb3J0IEFib3J0U2lnbmFsIGluIGFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHRvIHVuc3Vic2Ny
aWJlIGZyb20gZXZlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTg3NTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcxMjU4MDEyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEltcG9ydCB0ZXN0IGNvdmVy
YWdlIGZyb20gV1BULgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
QWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJP
cHRpb25zLXNpZ25hbC5hbnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS5qczogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0
ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9u
cy1zaWduYWwuYW55Lndvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy93M2MtaW1wb3J0LmxvZzoKKwogMjAyMS0wMS0yMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1vcmUgZGVzY3JpcHRpdmUg
bWVzc2FnZXMgdG8gc2V0TG9jYWxEZXNjcmlwdGlvbi9zZXRSZW1vdGVEZXNjcmlwdGlvbiBlcnJv
ciBjYXNlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnktZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnktZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmVlMzljZTUxYTMzMjcwMzg4YjJlODExODY0MDJkYzdhMDFjYjY2OTgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMSBAQAorCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8g
YWRkRXZlbnRMaXN0ZW5lciBvcHRpb25zIHNob3VsZCBhbGxvdyByZW1vdmluZyBhIGxpc3RlbmVy
CitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5lciBkb2VzIG5v
dCBwcmV2ZW50IHJlbW92ZUV2ZW50TGlzdGVuZXIKK1BBU1MgUGFzc2luZyBhbiBBYm9ydFNpZ25h
bCB0byBhZGRFdmVudExpc3RlbmVyIHdvcmtzIHdpdGggdGhlIG9uY2UgZmxhZworUEFTUyBSZW1v
dmluZyBhIG9uY2UgbGlzdGVuZXIgd29ya3Mgd2l0aCBhIHBhc3NlZCBzaWduYWwKK1BBU1MgUGFz
c2luZyBhbiBBYm9ydFNpZ25hbCB0byBtdWx0aXBsZSBsaXN0ZW5lcnMKK1BBU1MgUGFzc2luZyBh
biBBYm9ydFNpZ25hbCB0byBhZGRFdmVudExpc3RlbmVyIHdvcmtzIHdpdGggdGhlIGNhcHR1cmUg
ZmxhZworUEFTUyBBYm9ydGluZyBmcm9tIGEgbGlzdGVuZXIgZG9lcyBub3QgY2FsbCBmdXR1cmUg
bGlzdGVuZXJzCitQQVNTIEFkZGluZyB0aGVuIGFib3J0aW5nIGEgbGlzdGVuZXIgaW4gYW5vdGhl
ciBsaXN0ZW5lciBkb2VzIG5vdCBjYWxsIGl0CitQQVNTIEFib3J0aW5nIGZyb20gYSBuZXN0ZWQg
bGlzdGVuZXIgc2hvdWxkIHJlbW92ZSBpdAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9w
dGlvbnMtc2lnbmFsLmFueS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkuaHRt
bApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRl
c3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2ln
bmFsLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQyODcxMDYxZjNiOTE2N2NmYTI4ZTUzNmI4NjA4ODQ0Njg0NDI3ZDYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS5qcwpAQCAtMCwwICsxLDEz
MyBAQAorJ3VzZSBzdHJpY3QnOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBsZXQgY291bnQgPSAw
OworICBmdW5jdGlvbiBoYW5kbGVyKCkgeworICAgIGNvdW50Kys7CisgIH0KKyAgY29uc3QgZXQg
PSBuZXcgRXZlbnRUYXJnZXQoKTsKKyAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRy
b2xsZXIoKTsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFs
OiBjb250cm9sbGVyLnNpZ25hbCB9KTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rl
c3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQsIDEsICJBZGRpbmcgYSBzaWduYWwgc3RpbGwg
YWRkcyBhIGxpc3RlbmVyIik7CisgIGV0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCd0ZXN0Jykp
OworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAyLCAiVGhlIGxpc3RlbmVyIHdhcyBub3QgYWRkZWQg
d2l0aCB0aGUgb25jZSBmbGFnIik7CisgIGNvbnRyb2xsZXIuYWJvcnQoKTsKKyAgZXQuZGlzcGF0
Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQsIDIsICJB
Ym9ydGluZyBvbiB0aGUgY29udHJvbGxlciByZW1vdmVzIHRoZSBsaXN0ZW5lciIpOworICBldC5h
ZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2ln
bmFsIH0pOworICBldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgndGVzdCcpKTsKKyAgYXNzZXJ0
X2VxdWFscyhjb3VudCwgMiwgIlBhc3NpbmcgYW4gYWJvcnRlZCBzaWduYWwgbmV2ZXIgYWRkcyB0
aGUgaGFuZGxlciIpOworfSwgIlBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0
ZW5lciBvcHRpb25zIHNob3VsZCBhbGxvdyByZW1vdmluZyBhIGxpc3RlbmVyIik7CisKK3Rlc3Qo
ZnVuY3Rpb24oKSB7CisgIGxldCBjb3VudCA9IDA7CisgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7Cisg
ICAgY291bnQrKzsKKyAgfQorICBjb25zdCBldCA9IG5ldyBFdmVudFRhcmdldCgpOworICBjb25z
dCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpOworICBldC5hZGRFdmVudExpc3Rl
bmVyKCd0ZXN0JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsIH0pOworICBl
dC5yZW1vdmVFdmVudExpc3RlbmVyKCd0ZXN0JywgaGFuZGxlcik7CisgIGV0LmRpc3BhdGNoRXZl
bnQobmV3IEV2ZW50KCd0ZXN0JykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAwLCAiVGhlIGxp
c3RlbmVyIHdhcyBzdGlsbCByZW1vdmVkIik7Cit9LCAiUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0
byBhZGRFdmVudExpc3RlbmVyIGRvZXMgbm90IHByZXZlbnQgcmVtb3ZlRXZlbnRMaXN0ZW5lciIp
OworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBsZXQgY291bnQgPSAwOworICBmdW5jdGlvbiBoYW5k
bGVyKCkgeworICAgIGNvdW50Kys7CisgIH0KKyAgY29uc3QgZXQgPSBuZXcgRXZlbnRUYXJnZXQo
KTsKKyAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAgZXQuYWRk
RXZlbnRMaXN0ZW5lcigndGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25h
bCwgb25jZTogdHJ1ZSB9KTsKKyAgY29udHJvbGxlci5hYm9ydCgpOworICBldC5kaXNwYXRjaEV2
ZW50KG5ldyBFdmVudCgndGVzdCcpKTsKKyAgYXNzZXJ0X2VxdWFscyhjb3VudCwgMCwgIlRoZSBs
aXN0ZW5lciB3YXMgc3RpbGwgcmVtb3ZlZCIpOworfSwgIlBhc3NpbmcgYW4gQWJvcnRTaWduYWwg
dG8gYWRkRXZlbnRMaXN0ZW5lciB3b3JrcyB3aXRoIHRoZSBvbmNlIGZsYWciKTsKKwordGVzdChm
dW5jdGlvbigpIHsKKyAgbGV0IGNvdW50ID0gMDsKKyAgZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAg
ICBjb3VudCsrOworICB9CisgIGNvbnN0IGV0ID0gbmV3IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0
IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgIGV0LmFkZEV2ZW50TGlzdGVu
ZXIoJ3Rlc3QnLCBoYW5kbGVyLCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsIG9uY2U6IHRy
dWUgfSk7CisgIGV0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoYW5kbGVyKTsKKyAgZXQu
ZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMoY291bnQs
IDAsICJUaGUgbGlzdGVuZXIgd2FzIHN0aWxsIHJlbW92ZWQiKTsKK30sICJSZW1vdmluZyBhIG9u
Y2UgbGlzdGVuZXIgd29ya3Mgd2l0aCBhIHBhc3NlZCBzaWduYWwiKTsKKwordGVzdChmdW5jdGlv
bigpIHsKKyAgbGV0IGNvdW50ID0gMDsKKyAgZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAgICBjb3Vu
dCsrOworICB9CisgIGNvbnN0IGV0ID0gbmV3IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0IGNvbnRy
b2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ2Zp
cnN0JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsLCBvbmNlOiB0cnVlIH0p
OworICBldC5hZGRFdmVudExpc3RlbmVyKCdzZWNvbmQnLCBoYW5kbGVyLCB7IHNpZ25hbDogY29u
dHJvbGxlci5zaWduYWwsIG9uY2U6IHRydWUgfSk7CisgIGNvbnRyb2xsZXIuYWJvcnQoKTsKKyAg
ZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2ZpcnN0JykpOworICBldC5kaXNwYXRjaEV2ZW50
KG5ldyBFdmVudCgnc2Vjb25kJykpOworICBhc3NlcnRfZXF1YWxzKGNvdW50LCAwLCAiVGhlIGxp
c3RlbmVyIHdhcyBzdGlsbCByZW1vdmVkIik7Cit9LCAiUGFzc2luZyBhbiBBYm9ydFNpZ25hbCB0
byBtdWx0aXBsZSBsaXN0ZW5lcnMiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgbGV0IGNvdW50
ID0gMDsKKyAgZnVuY3Rpb24gaGFuZGxlcigpIHsKKyAgICBjb3VudCsrOworICB9CisgIGNvbnN0
IGV0ID0gbmV3IEV2ZW50VGFyZ2V0KCk7CisgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRD
b250cm9sbGVyKCk7CisgIGV0LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoYW5kbGVyLCB7IHNp
Z25hbDogY29udHJvbGxlci5zaWduYWwsIGNhcHR1cmU6IHRydWUgfSk7CisgIGNvbnRyb2xsZXIu
YWJvcnQoKTsKKyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2Vy
dF9lcXVhbHMoY291bnQsIDAsICJUaGUgbGlzdGVuZXIgd2FzIHN0aWxsIHJlbW92ZWQiKTsKK30s
ICJQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgd29ya3Mgd2l0aCB0
aGUgY2FwdHVyZSBmbGFnIik7CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgIGxldCBjb3VudCA9IDA7
CisgIGZ1bmN0aW9uIGhhbmRsZXIoKSB7CisgICAgY291bnQrKzsKKyAgfQorICBjb25zdCBldCA9
IG5ldyBFdmVudFRhcmdldCgpOworICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJv
bGxlcigpOworICBldC5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgKCkgPT4geworICAgIGNvbnRy
b2xsZXIuYWJvcnQoKTsKKyAgfSwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsIH0pOworICBl
dC5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgaGFuZGxlciwgeyBzaWduYWw6IGNvbnRyb2xsZXIu
c2lnbmFsIH0pOworICBldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgndGVzdCcpKTsKKyAgYXNz
ZXJ0X2VxdWFscyhjb3VudCwgMCwgIlRoZSBsaXN0ZW5lciB3YXMgc3RpbGwgcmVtb3ZlZCIpOwor
fSwgIkFib3J0aW5nIGZyb20gYSBsaXN0ZW5lciBkb2VzIG5vdCBjYWxsIGZ1dHVyZSBsaXN0ZW5l
cnMiKTsKKwordGVzdChmdW5jdGlvbigpIHsKKyAgbGV0IGNvdW50ID0gMDsKKyAgZnVuY3Rpb24g
aGFuZGxlcigpIHsKKyAgICBjb3VudCsrOworICB9CisgIGNvbnN0IGV0ID0gbmV3IEV2ZW50VGFy
Z2V0KCk7CisgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7CisgIGV0
LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCAoKSA9PiB7CisgICAgZXQuYWRkRXZlbnRMaXN0ZW5l
cigndGVzdCcsIGhhbmRsZXIsIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTsKKyAgICBj
b250cm9sbGVyLmFib3J0KCk7CisgIH0sIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9KTsK
KyAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3Rlc3QnKSk7CisgIGFzc2VydF9lcXVhbHMo
Y291bnQsIDAsICJUaGUgbGlzdGVuZXIgd2FzIHN0aWxsIHJlbW92ZWQiKTsKK30sICJBZGRpbmcg
dGhlbiBhYm9ydGluZyBhIGxpc3RlbmVyIGluIGFub3RoZXIgbGlzdGVuZXIgZG9lcyBub3QgY2Fs
bCBpdCIpOworCit0ZXN0KGZ1bmN0aW9uKCkgeworICBjb25zdCBldCA9IG5ldyBFdmVudFRhcmdl
dCgpOworICBjb25zdCBhYyA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTsKKyAgbGV0IGNvdW50ID0g
MDsKKyAgZXQuYWRkRXZlbnRMaXN0ZW5lcignZm9vJywgKCkgPT4geworICAgIGV0LmFkZEV2ZW50
TGlzdGVuZXIoJ2ZvbycsICgpID0+IHsKKyAgICAgIGNvdW50Kys7CisgICAgICBpZiAoY291bnQg
PiA1KSBhYy5hYm9ydCgpOworICAgICAgZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Zvbycp
KTsKKyAgICB9LCB7IHNpZ25hbDogYWMuc2lnbmFsIH0pOworICAgIGV0LmRpc3BhdGNoRXZlbnQo
bmV3IEV2ZW50KCdmb28nKSk7CisgIH0sIHsgb25jZTogdHJ1ZSB9KTsKKyAgZXQuZGlzcGF0Y2hF
dmVudChuZXcgRXZlbnQoJ2ZvbycpKTsKK30sICJBYm9ydGluZyBmcm9tIGEgbmVzdGVkIGxpc3Rl
bmVyIHNob3VsZCByZW1vdmUgaXQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9u
cy1zaWduYWwuYW55Lndvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMt
c2lnbmFsLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlMzljZTUxYTMzMjcw
Mzg4YjJlODExODY0MDJkYzdhMDFjYjY2OTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvQWRkRXZlbnRMaXN0
ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEg
QEAKKworUEFTUyBQYXNzaW5nIGFuIEFib3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgb3B0
aW9ucyBzaG91bGQgYWxsb3cgcmVtb3ZpbmcgYSBsaXN0ZW5lcgorUEFTUyBQYXNzaW5nIGFuIEFi
b3J0U2lnbmFsIHRvIGFkZEV2ZW50TGlzdGVuZXIgZG9lcyBub3QgcHJldmVudCByZW1vdmVFdmVu
dExpc3RlbmVyCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRkRXZlbnRMaXN0ZW5l
ciB3b3JrcyB3aXRoIHRoZSBvbmNlIGZsYWcKK1BBU1MgUmVtb3ZpbmcgYSBvbmNlIGxpc3RlbmVy
IHdvcmtzIHdpdGggYSBwYXNzZWQgc2lnbmFsCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwg
dG8gbXVsdGlwbGUgbGlzdGVuZXJzCitQQVNTIFBhc3NpbmcgYW4gQWJvcnRTaWduYWwgdG8gYWRk
RXZlbnRMaXN0ZW5lciB3b3JrcyB3aXRoIHRoZSBjYXB0dXJlIGZsYWcKK1BBU1MgQWJvcnRpbmcg
ZnJvbSBhIGxpc3RlbmVyIGRvZXMgbm90IGNhbGwgZnV0dXJlIGxpc3RlbmVycworUEFTUyBBZGRp
bmcgdGhlbiBhYm9ydGluZyBhIGxpc3RlbmVyIGluIGFub3RoZXIgbGlzdGVuZXIgZG9lcyBub3Qg
Y2FsbCBpdAorUEFTUyBBYm9ydGluZyBmcm9tIGEgbmVzdGVkIGxpc3RlbmVyIHNob3VsZCByZW1v
dmUgaXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29y
a2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtc2lnbmFsLmFueS53b3JrZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJPcHRpb25zLXNpZ25hbC5hbnkud29ya2VyLmh0
bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0
ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3czYy1pbXBvcnQu
bG9nCmluZGV4IDI3ZGJhY2FjNzYwZmZlZWMzMDRhZWYyYTg0ODE1ZDUxZjU4NDk2ZjcuLjRhNDM5
OTZhMTg1ZjRmMDRmMDAxZmU3MDFkMDU2ZTkzNDUwNDcxMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy93M2MtaW1wb3J0
LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvdzNjLWltcG9ydC5sb2cKQEAgLTE2LDYgKzE2LDcgQEAgTm9uZQogTGlzdCBvZiBm
aWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMtb25jZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0FkZEV2ZW50TGlzdGVuZXJP
cHRpb25zLXBhc3NpdmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9BZGRFdmVudExpc3RlbmVyT3B0aW9ucy1zaWduYWwuYW55Lmpz
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L0N1c3RvbUV2ZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtY2FuY2VsQnViYmxlLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtY29uc3RhbnRz
Lmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>