<?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>218750</bug_id>
          
          <creation_ts>2020-11-10 07:15:20 -0800</creation_ts>
          <short_desc>Add infrastructure for WebRTC transforms</short_desc>
          <delta_ts>2020-11-12 23:20:47 -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>WebRTC</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>218790</dependson>
          <blocked>218751</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1706071</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-10 07:15:20 -0800</bug_when>
    <thetext>Add infrastructure for WebRTC transforms</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706372</commentid>
    <comment_count>1</comment_count>
      <attachid>413790</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-11 00:23:44 -0800</bug_when>
    <thetext>Created attachment 413790
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706375</commentid>
    <comment_count>2</comment_count>
      <attachid>413793</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-11 00:33:38 -0800</bug_when>
    <thetext>Created attachment 413793
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706926</commentid>
    <comment_count>3</comment_count>
      <attachid>413793</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2020-11-12 10:58:38 -0800</bug_when>
    <thetext>Comment on attachment 413793
WIP

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

&gt; Source/WebCore/Modules/mediastream/RTCRtpReceiverWithTransform.h:2
&gt; + * Copyright (C) 2013 Apple Inc. All rights reserved.

s/2013/2020/

&gt; Source/WebCore/Modules/mediastream/RTCRtpSenderWithTransform.h:2
&gt; + * Copyright (C) 2013 Apple Inc. All rights reserved.

Ditto

&gt; Source/WebCore/Modules/mediastream/RTCRtpTransform.cpp:29
&gt; +/*
&gt; + * Copyright (C) 2012 Google Inc. All rights reserved.
&gt; + * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
&gt; + * Copyright (C) 2017 Apple Inc. All rights reserved.
&gt; + *

Is this necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706941</commentid>
    <comment_count>4</comment_count>
      <attachid>413955</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-12 11:19:06 -0800</bug_when>
    <thetext>Created attachment 413955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706946</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-12 11:34:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/71335495&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706952</commentid>
    <comment_count>6</comment_count>
      <attachid>413959</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-12 11:43:34 -0800</bug_when>
    <thetext>Created attachment 413959
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706968</commentid>
    <comment_count>7</comment_count>
      <attachid>413963</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-12 12:11:19 -0800</bug_when>
    <thetext>Created attachment 413963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706976</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-11-12 12:22:17 -0800</bug_when>
    <thetext>(In reply to Eric Carlson from comment #3)
&gt; Comment on attachment 413793 [details]
&gt; WIP
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=413793&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/RTCRtpReceiverWithTransform.h:2
&gt; &gt; + * Copyright (C) 2013 Apple Inc. All rights reserved.
&gt; 
&gt; s/2013/2020/
&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/RTCRtpSenderWithTransform.h:2
&gt; &gt; + * Copyright (C) 2013 Apple Inc. All rights reserved.
&gt; 
&gt; Ditto
&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/RTCRtpTransform.cpp:29
&gt; &gt; +/*
&gt; &gt; + * Copyright (C) 2012 Google Inc. All rights reserved.
&gt; &gt; + * Copyright (C) 2013 Nokia Corporation and/or its subsidiary(-ies).
&gt; &gt; + * Copyright (C) 2017 Apple Inc. All rights reserved.
&gt; &gt; + *
&gt; 
&gt; Is this necessary?

Nope!
Fixed now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1707127</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-12 23:20:45 -0800</bug_when>
    <thetext>Committed r269764: &lt;https://trac.webkit.org/changeset/269764&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413963.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413790</attachid>
            <date>2020-11-11 00:23:44 -0800</date>
            <delta_ts>2020-11-11 00:44:29 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-218750-20201111092341.patch</filename>
            <type>text/plain</type>
            <size>118001</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhZjg2M2M5ZWM1ZDA1YzIwODE0YmQwNWJmNmE5YzE0MWFhNWQ1MDliLi43Nzli
ZmMyMTMxMTkwMTRiMjRiZWRkOTk5YmRmM2VlMTliNzZlMmE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0xMS0xMSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZv
ciBXZWJSVEMgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgd2VicnRjLXRyYW5zZm9ybQorCisgICAgICAgICogU291cmNlL3dlYnJ0Yy9z
ZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW06CisgICAgICAgICh3ZWJydGM6OmVuY29kZXJWaWRl
b1Rhc2tDb21wbGV0ZSk6CisKIDIwMjAtMTEtMTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPiBhbmQgVmljdG9yIE0gSmFxdWV6IDx2amFxdWV6QGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVXBkYXRlIFdlYlJUQyBsaXdlYnJ0YyB0byBNODcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZjM4OTc1YzViMzY1MWZhZTVj
ZThhMDhjMmNlZGMzMmM2ZTZjZjFjMi4uMjU2ZWNlZDNmMzZkMDQwNGRjNDAyODQ3ODE3YjQ5NTkx
MDM5YzdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0xMS0xMSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZvciBXZWJS
VEMgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE4NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgd2VicnRjLXRyYW5zZm9ybQorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIwLTExLTEwICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUGFyc2UgYXNwZWN0LXJhdGlvIENTUyBwcm9w
ZXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDYzOTNiMTg3Njg4M2I4ZTc4ZDZiNzdhNDQ0MTMyOWJmYTA1Yjkz
N2EuLjJhZjI0M2E1NGY2ZTllNDRlYmE2MTkyYWQ3MjZlMzlmMTUyZWMwMWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMDggQEAKKzIwMjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9y
bXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdlYnJ0
Yy10cmFuc2Zvcm0KKworICAgICAgICBUZXN0OiB3ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1s
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJUQ1J0cFJlY2VpdmVyOjp+UlRDUnRwUmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UlRDUnRwUmVjZWl2ZXI6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXI6
OnNldFRyYW5zZm9ybSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNl
aXZlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNr
ZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcldpdGhU
cmFuc2Zvcm0uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNlaXZlcldpdGhU
cmFuc2Zvcm06OnRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNlaXZlcldp
dGhUcmFuc2Zvcm06OnNldFRyYW5zZm9ybSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU2Vu
ZGVyOjp+UlRDUnRwU2VuZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcjo6c3Rv
cCk6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXI6OnNldFRyYW5zZm9ybSk6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaDoKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtOjp0cmFuc2Zvcm0pOgorICAgICAg
ICAoV2ViQ29yZTo6UlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybTo6c2V0VHJhbnNmb3JtKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjp+UlRDUnRwVHJhbnNmb3JtKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNoVG9SZWNlaXZlcik6CisgICAg
ICAgIChXZWJDb3JlOjpSVENSdHBUcmFuc2Zvcm06OmF0dGFjaFRvU2VuZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlJUQ1J0cFRyYW5zZm9ybTo6ZGV0YWNoRnJvbVJlY2VpdmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlJUQ1J0cFRyYW5zZm9ybTo6ZGV0YWNoRnJvbVNlbmRlcik6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5k
LmguCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1hYmxlRnJh
bWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlckJhY2tlbmQuaC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBS
ZWNlaXZlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBS
ZWNlaXZlckJhY2tlbmQuaC4KKyAgICAgICAgKFdlYkNvcmU6Om1lZGlhVHlwZUZyb21SZWNlaXZl
cik6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tl
bmQ6OkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBS
ZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRw
UmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayk6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVj
ZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oLgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRl
ckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZDo6Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9y
bUJhY2tlbmQuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaC4KKyAgICAgICAgKFdl
YkNvcmU6Om1lZGlhVHlwZUZyb21TZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFj
a2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNr
ZW5kOjp+TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxl
RnJhbWVDYWxsYmFjayk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZl
ckJhY2tlbmQuaC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpM
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpzZXRJbnB1dENhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OmNsZWFyVHJhbnNmb3JtYWJs
ZUZyYW1lQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZDo6c2V0T3V0cHV0Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZDo6cHJvY2Vzc1RyYW5zZm9ybWVkRnJhbWUpOgorICAgICAgICAo
V2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6VHJhbnNmb3JtKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNm
b3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZVNpbmtDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJh
bnNmb3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKToK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpSZWxlYXNlIGNvbnN0KToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmguCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OnRvUlRDRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpk
YXRhIGNvbnN0KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1
aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNyZWF0ZU1vY2tSVENSdHBUcmFu
c2Zvcm0pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5zZm9ybWVyOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5zZm9ybWVyOjpjbGVhcik6Cisg
ICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OnRyYW5zZm9ybSk6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmlzUHJvY2Vzc2luZyBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6Ok1vY2tSVENSdHBUcmFu
c2Zvcm1lcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtOjpNb2NrUlRD
UnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06On5N
b2NrUlRDUnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zv
cm06OmlzUHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJh
bnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OndpbGxDbGVhckJhY2tlbmQpOgorICAg
ICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oOiBBZGRlZC4KKyAgICAgICAgKiB0
ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsOiBBZGRlZC4KKwogMjAyMC0xMS0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+IGFuZCBWaWN0b3IgTSBKYXF1ZXogPHZqYXF1
ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBVcGRhdGUgV2ViUlRDIGxpd2VicnRjIHRvIE04Nwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2Rr
L1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tCmluZGV4IGQ3OTUxYzYxMjFk
NjE4NTJkYjZjYTg3ZDU5YTdiMjIxZjk1ZjUyYmMuLmU3OTA1Njk2OWJjZWU1YmU3Yzk2OWNiODQ1
OTJlMGE4NzMwMzJmMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbQorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIu
bW0KQEAgLTI5Miw3ICsyOTIsNyBAQCBpbnQzMl90IFJlbW90ZVZpZGVvRW5jb2Rlcjo6UmVnaXN0
ZXJFbmNvZGVDb21wbGV0ZUNhbGxiYWNrKEVuY29kZWRJbWFnZUNhbGxiYWNrKgogCiB2b2lkIGVu
Y29kZXJWaWRlb1Rhc2tDb21wbGV0ZSh2b2lkKiBjYWxsYmFjaywgd2VicnRjOjpWaWRlb0NvZGVj
VHlwZSBjb2RlY1R5cGUsIHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwgY29uc3QgV2Vi
S2l0RW5jb2RlZEZyYW1lSW5mbyYgaW5mbykKIHsKLSAgICB3ZWJydGM6OkVuY29kZWRJbWFnZSBl
bmNvZGVkSW1hZ2UoYnVmZmVyLCBsZW5ndGgsIGxlbmd0aCk7CisgICAgd2VicnRjOjpFbmNvZGVk
SW1hZ2UgZW5jb2RlZEltYWdlKGNvbnN0X2Nhc3Q8dWludDhfdCo+KGJ1ZmZlciksIGxlbmd0aCwg
bGVuZ3RoKTsKICAgICBlbmNvZGVkSW1hZ2UuX2VuY29kZWRXaWR0aCA9IGluZm8ud2lkdGg7CiAg
ICAgZW5jb2RlZEltYWdlLl9lbmNvZGVkSGVpZ2h0ID0gaW5mby5oZWlnaHQ7CiAgICAgZW5jb2Rl
ZEltYWdlLlNldFRpbWVzdGFtcChpbmZvLnRpbWVTdGFtcCk7CkBAIC0zMTIsNiArMzEyLDcgQEAg
dm9pZCBlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGUodm9pZCogY2FsbGJhY2ssIHdlYnJ0Yzo6Vmlk
ZW9Db2RlY1R5cGUgY29kZWNUeXBlLAogICAgIGVsc2UgaWYgKGNvZGVjVHlwZSA9PSBrVmlkZW9D
b2RlY0gyNjUpCiAgICAgICAgIGNvZGVjU3BlY2lmaWNJbmZvLmNvZGVjU3BlY2lmaWMuSDI2NS5w
YWNrZXRpemF0aW9uX21vZGUgPSBIMjY1UGFja2V0aXphdGlvbk1vZGU6Ok5vbkludGVybGVhdmVk
OwogCisgICAgZW5jb2RlZEltYWdlLlJldGFpbigpOwogICAgIHN0YXRpY19jYXN0PEVuY29kZWRJ
bWFnZUNhbGxiYWNrKj4oY2FsbGJhY2spLT5PbkVuY29kZWRJbWFnZShlbmNvZGVkSW1hZ2UsICZj
b2RlY1NwZWNpZmljSW5mbyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9T
Y3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXgg
YjAxNmFjOWY3MzJiMTI2ODhmOWE4NTIzZTAwZjRhZjEzYmJhNWM2Yi4uZTdiOTI2ZGFiZTA4ZTRh
OGY0MTYwNDMwZjkyNGNiODI2ZTZkN2ZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwK
QEAgLTk4NCw2ICs5ODQsMTkgQEAgV2ViUlRDSDI2NUNvZGVjRW5hYmxlZDoKICAgICBXZWJLaXQ6
CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitXZWJSVENJbnNlcnRhYmxlU3RyZWFtc0VuYWJsZWQ6
CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoV0VCX1JUQykKKyAgaHVtYW5SZWFk
YWJsZU5hbWU6ICJXZWJSVEMgSW5zZXJ0YWJsZSBTdHJlYW1zIEFQSSIKKyAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYlJUQyBJbnNlcnRhYmxlIFN0cmVhbXMgQVBJIgorICBk
ZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAg
ICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZh
dWx0OiBmYWxzZQorCiAjIEZJWE1FOiBUaGlzIGlzIG5vdCByZWxldmVudCBmb3IgV2ViS2l0TGVn
YWN5LCBzbyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kgZW50aXJlbHkuCiBX
ZWJSVENQbGF0Zm9ybUNvZGVjc0luR1BVUHJvY2Vzc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggNWQ0YTRlOWQ0ODE2NGVkNWExYzM0ZTU4NTM4M2MxZmMzMGE0
MGI4OC4uYWY4MDExNDM5ZDQ3MjQzZjEyYWJlMzEzOGY0OGRjMTNiNTkwNzgyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTQwMCwxMiArNDAwLDE1IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURM
X0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBIZWFkZXJFeHRlbnNpb25QYXJh
bWV0ZXJzLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1ldGVycy5pZGwK
ICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmlkbAorICAgIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwUmVpY2V2ZXIrVHJhbnNmb3JtLmlkbAogICAgIE1vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwUnR4UGFyYW1ldGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyK1RyYW5zZm9ybS5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
ci5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJj
ZS5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbAogICAg
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsCisgICAg
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsCiAgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENTZHBUeXBlLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uSW5pdC5pZGwKQEAgLTE3NDksNiArMTc1Miw3IEBAIHNldChXZWJDb3JlVGVzdFN1cHBv
cnRfSURMX0ZJTEVTCiAgICAgdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwKICAgICB0ZXN0aW5n
L01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaWRsCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJs
YXkuaWRsCisgICAgdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlkbAogICAgIHRlc3Rpbmcv
U2VydmljZVdvcmtlckludGVybmFscy5pZGwKICAgICB0ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5p
ZGwKICkKQEAgLTE3NzIsNiArMTc3Niw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVUZXN0U3VwcG9y
dF9TT1VSQ0VTCiAgICAgdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwCiAg
ICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXkuY3BwCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJs
YXlDbGllbnQuY3BwCisgICAgdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtZXIuY3BwCiAgICAg
dGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcAogICAgIHRlc3RpbmcvanMvV2ViQ29y
ZVRlc3RTdXBwb3J0LmNwcAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKaW5kZXggYWExOGE4Y2Y3MmNkYmZmYTA2MWU5MjFiYzkxMzYyZDQ3ZDhj
MzViMy4uNjY5YjY4NjFiNmFmYTFkMGFjMDk3YjFiZDMxMDY0NDgzZWVjNzUxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMjksOCAr
MTI5LDggQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkNhbGxi
YWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9y
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2Fs
bGJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uT3B0
aW9ucy5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lz
dGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3crSW5kZXhlZERhdGFiYXNl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yRGlyZWN0aW9uLmlkbApAQCAt
MjMzLDEzICsyMzMsMTYgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBFbmNvZGluZ1BhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cEZlY1BhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFBhcmFtZXRlcnMuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJ0eFBhcmFtZXRlcnMuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3Jt
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFN5bmNocm9uaXphdGlv
blNvdXJjZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJh
bnNjZWl2ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRy
YW5zY2VpdmVyRGlyZWN0aW9uLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1NkcFR5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nl
c3Npb25EZXNjcmlwdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGwKQEAgLTI4OSw2ICsyOTIsNyBAQCAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3F1b3RhL1dvcmtlck5hdmlnYXRvcitTdG9yYWdlUXVvdGEuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL0hUTUxNZWRpYUVsZW1lbnQrUmVt
b3RlUGxheWJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL1Jl
bW90ZVBsYXliYWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9S
ZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmlkbAorJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9zcGVlY2gvRE9NV2luZG93K1NwZWVjaFN5bnRoZXNpcy5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3JDb2RlLmlkbApAQCAtMjk2
LDcgKzMwMCw2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0
aW9uRXJyb3JFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJl
Y29nbml0aW9uRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hS
ZWNvZ25pdGlvblJlc3VsdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVj
aFJlY29nbml0aW9uUmVzdWx0TGlzdC5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNo
L0RPTVdpbmRvdytTcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9T
cGVlY2hTeW50aGVzaXNFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1Nw
ZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5pZGwKQEAgLTEzMDEsNiArMTMwNCw3IEBAICQoUFJPSkVD
VF9ESVIpL3Rlc3RpbmcvTW9ja1BheW1lbnRBZGRyZXNzLmlkbAogJChQUk9KRUNUX0RJUikvdGVz
dGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5n
L01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tQ
YXltZW50RXJyb3IuaWRsCiskKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zv
cm0uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZp
Z3VyYXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5h
bHMuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMzgx
ZmJkNDg5NWUwZWE5N2U5ZGIyMWU1ZDRkNDc3ZjZmYTIwYWFiYS4uZGI2NzEwMDg4ZWYyNDU0NDgz
MDI1ZTAxZTRhYTdjZTVkZmVjMzA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTExMDUsMTAgKzExMDUsMTAgQEAgJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hhbmdlRXZlbnQuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hhc2hDaGFu
Z2VFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hkck1ldGFkYXRhVHlwZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTSGRyTWV0YWRhdGFUeXBlLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCi0kKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodFJlZ2lzdGVyLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGln
aHQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdo
bGlnaHRSZWdpc3Rlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaXN0b3J5LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaXN0b3J5LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGtkZlBhcmFtcy5jcHAKQEAgLTEzNDEsNiArMTM0MSw4
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1Bh
eW1lbnRDb29yZGluYXRvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTW9ja1BheW1lbnRDb29yZGluYXRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50RXJyb3IuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50RXJyb3Iu
aAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb2NrUlRD
UnRwVHJhbnNmb3JtLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1dl
YkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3BwCkBAIC0xNjk3LDEyICsxNjk5LDE2
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRw
SGVhZGVyRXh0ZW5zaW9uUGFyYW1ldGVycy5jCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBQYXJhbWV0
ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
VENSdHBQYXJhbWV0ZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmNwcAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSZWNl
aXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UlRDUnRwUmVjZWl2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNSVENSdHBSdHhQYXJhbWV0ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSdHhQYXJhbWV0ZXJzLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZFBhcmFtZXRlcnMu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0
cFNlbmRQYXJhbWV0ZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFNlbmRlci5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRw
U2VuZGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmNwcApAQCAtMTcxMSw2ICsxNzE3LDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBUcmFuc2Nl
aXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UlRDUnRwVHJhbnNjZWl2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rp
b24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENS
dHBUcmFuc2Zvcm0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1JUQ1J0cFRyYW5zZm9ybS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1JUQ1NkcFR5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1NkcFR5cGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0ZDA4NTMwYWE1YmQ4ZTg2ZTIyMjQ2YzUzZTJj
OGVlMDE3OGUzMDNkLi45YWU0MGMxODc5Njg5MzgxN2I4NDE2NTI3YzI0MGFmNzIzZThmMTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1OCwxMiArMjU4LDE1IEBAIEpTX0JJ
TkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1ldGVycy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUnR4UGFyYW1ldGVycy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kUGFyYW1ldGVycy5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTeW5jaHJvbml6
YXRpb25Tb3VyY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwVHJhbnNjZWl2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQuaWRsIFwKQEAgLTEyMjYs
NiArMTIyOSw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5n
L01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9N
b2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tQ
YXltZW50RXJyb3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5z
Zm9ybS5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrV2ViQXV0aGVudGljYXRpb25D
b25maWd1cmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJ
bnRlcm5hbHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvVHlwZUNvbnZlcnNpb25zLmlk
bCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjBiMmUxMWQ0N2Zm
YmIzYTg0M2JmNDEzOTdlMGMwOGM5MWUyNjI3OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbApA
QCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMs
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJSVENJbnNlcnRhYmxlU3RyZWFtcywKKyAgICBFeHBv
c2VkPVdpbmRvdywKKyAgICBJbXBsZW1lbnRlZEJ5PVJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9y
bSwKK10gcGFydGlhbCBpbnRlcmZhY2UgUlRDUnRwUmVjZWl2ZXIgeworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gYXR0cmlidXRlIFJUQ1J0cFRyYW5zZm9ybT8gdHJhbnNmb3JtOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5j
cHAKaW5kZXggNDJjNGMwNzg0MDllMzJkYWQxZTQyNGVhYTBiMmI3YjVmMzU0ZjJiNC4uMGJmY2M5
NjYzYzJmMDZkNGU5MGMwOTQ4OGRmMjUyZTFmZDJiM2MwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAKQEAgLTQ5LDEx
ICs0OSwyMCBAQCBSVENSdHBSZWNlaXZlcjo6UlRDUnRwUmVjZWl2ZXIoUGVlckNvbm5lY3Rpb25C
YWNrZW5kJiBjb25uZWN0aW9uLCBSZWY8TWVkaWFTdHJlYQogewogfQogCitSVENSdHBSZWNlaXZl
cjo6flJUQ1J0cFJlY2VpdmVyKCkKK3sKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1f
dHJhbnNmb3JtLT5kZXRhY2hGcm9tUmVjZWl2ZXIoKnRoaXMpOworfQorCiB2b2lkIFJUQ1J0cFJl
Y2VpdmVyOjpzdG9wKCkKIHsKICAgICBpZiAoIW1fYmFja2VuZCkKICAgICAgICAgcmV0dXJuOwog
CisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVJl
Y2VpdmVyKCp0aGlzKTsKKwogICAgIG1fYmFja2VuZCA9IG51bGxwdHI7CiAgICAgbV90cmFjay0+
c3RvcFRyYWNrKE1lZGlhU3RyZWFtVHJhY2s6OlN0b3BNb2RlOjpQb3N0RXZlbnQpOwogfQpAQCAt
NzIsNiArODEsMjAgQEAgT3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBSVENSdHBSZWNlaXZl
cjo6Z2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnQKICAgICByZXR1cm4gUGVlckNv
bm5lY3Rpb25CYWNrZW5kOjpyZWNlaXZlckNhcGFiaWxpdGllcyhjb250ZXh0LCBraW5kKTsKIH0K
IAorRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwUmVjZWl2ZXI6OnNldFRyYW5zZm9ybShSZWZQdHI8
UlRDUnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJhbnNmb3JtICYmIHRy
YW5zZm9ybS0+aXNBdHRhY2hlZCgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxp
ZFN0YXRlRXJyb3IsICJ0cmFuc2Zvcm0gaXMgYWxyZWFkeSBpbiB1c2UiX3MgfTsKKworICAgIGlm
IChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21SZWNlaXZlcigq
dGhpcyk7CisgICAgbV90cmFuc2Zvcm0gPSBXVEZNb3ZlKHRyYW5zZm9ybSk7CisgICAgaWYgKG1f
dHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+YXR0YWNoVG9SZWNlaXZlcigqdGhpcyk7
CisKKyAgICByZXR1cm4geyB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaAppbmRleCAzY2NhOGIyYjk2NzE4YWU0NzZkODM5NDMy
NjEyMGM5Nzk5MDc5MzUxLi44Y2IxYTQzZDJiZDA0NDYyNGMyODdjYTZhZjcxYzdkZjg3OGQyMmI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJl
Y2VpdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBS
ZWNlaXZlci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFjay5o
IgogI2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIgogI2luY2x1ZGUgIlJUQ1J0cFN5
bmNocm9uaXphdGlvblNvdXJjZS5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgogI2lu
Y2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw2
ICs1MSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJU
Q1J0cFJlY2VpdmVyKGNvbm5lY3Rpb24sIFdURk1vdmUodHJhY2spLCBXVEZNb3ZlKGJhY2tlbmQp
KSk7CiAgICAgfQorICAgIH5SVENSdHBSZWNlaXZlcigpOwogCiAgICAgc3RhdGljIE9wdGlvbmFs
PFJUQ1J0cENhcGFiaWxpdGllcz4gZ2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBjb25zdCBTdHJpbmcmIGtpbmQpOwogCkBAIC02NSwxMiArNjcsMTYgQEAgcHVibGljOgog
ICAgIFJUQ1J0cFJlY2VpdmVyQmFja2VuZCogYmFja2VuZCgpIHsgcmV0dXJuIG1fYmFja2VuZC5n
ZXQoKTsgfQogICAgIHZvaWQgZ2V0U3RhdHMoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKKyAg
ICBSVENSdHBUcmFuc2Zvcm0qIHRyYW5zZm9ybSgpIHsgcmV0dXJuIG1fdHJhbnNmb3JtLmdldCgp
OyB9CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJlZlB0cjxSVENSdHBUcmFu
c2Zvcm0+JiYpOworCiBwcml2YXRlOgogICAgIFJUQ1J0cFJlY2VpdmVyKFBlZXJDb25uZWN0aW9u
QmFja2VuZCYsIFJlZjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8UlRDUnRw
UmVjZWl2ZXJCYWNrZW5kPiYmKTsKIAogICAgIFJlZjxNZWRpYVN0cmVhbVRyYWNrPiBtX3RyYWNr
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBSZWNlaXZlckJhY2tlbmQ+IG1fYmFja2VuZDsK
ICAgICBXZWFrUHRyPFBlZXJDb25uZWN0aW9uQmFja2VuZD4gbV9jb25uZWN0aW9uOworICAgIFJl
ZlB0cjxSVENSdHBUcmFuc2Zvcm0+IG1fdHJhbnNmb3JtOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBSZWNlaXZlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKaW5kZXggNzgyZGQ2N2Q1NTE2YzhkNmU3YjQxOTU0
YmNiYjkwYmJhNzQ3MjY5My4uNjE5NmE2YTUwNjg5NThhOTI5MWIzNjQyM2VmMGJjZWE2MjQ0MGQz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBS
ZWNlaXZlckJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5oCkBAIC0zMSwxMiArMzEsMTUgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOworCiBjbGFzcyBSVENS
dHBSZWNlaXZlckJhY2tlbmQgewogcHVibGljOgogICAgIHZpcnR1YWwgflJUQ1J0cFJlY2VpdmVy
QmFja2VuZCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIFJUQ1J0cFBhcmFtZXRlcnMgZ2V0UGFy
YW1ldGVycygpIHsgcmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgVmVjdG9yPFJUQ1J0cENvbnRy
aWJ1dGluZ1NvdXJjZT4gZ2V0Q29udHJpYnV0aW5nU291cmNlcygpIGNvbnN0IHsgcmV0dXJuIHsg
fTsgfQogICAgIHZpcnR1YWwgVmVjdG9yPFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZT4gZ2V0
U3luY2hyb25pemF0aW9uU291cmNlcygpIGNvbnN0IHsgcmV0dXJuIHsgfTsgfQorICAgIHZpcnR1
YWwgUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQoKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9y
bS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcldp
dGhUcmFuc2Zvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGY4YmYxNDU0NjdiZWRiMTFhNmY4ZjlhNTk5MTBl
NDJkYjg3OWFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaApAQCAtMCwwICsxLDQ1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyLmgiCisj
aW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgUlRDUnRwVHJhbnNmb3JtOworCitjbGFzcyBSVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0g
eworcHVibGljOgorICAgIHN0YXRpYyBSVENSdHBUcmFuc2Zvcm0qIHRyYW5zZm9ybShSVENSdHBS
ZWNlaXZlciYgcmVjZWl2ZXIpIHsgcmV0dXJuIHJlY2VpdmVyLnRyYW5zZm9ybSgpOyB9CisgICAg
c3RhdGljIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRyYW5zZm9ybShSVENSdHBSZWNlaXZlciYgcmVj
ZWl2ZXIsIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJhbnNmb3JtKSB7IHJldHVybiByZWNl
aXZlci5zZXRUcmFuc2Zvcm0oV1RGTW92ZSh0cmFuc2Zvcm0pKTsgfQorfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0u
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIrVHJh
bnNmb3JtLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzhhN2UzMDdkNjI0YzEzNGY3ODBjY2I3MTBjOGM2ODI0
ZGMwZGRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1X
ZWJSVENJbnNlcnRhYmxlU3RyZWFtcywKKyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBJbXBsZW1l
bnRlZEJ5PVJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0sCitdIHBhcnRpYWwgaW50ZXJmYWNlIFJU
Q1J0cFNlbmRlciB7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgUlRDUnRwVHJh
bnNmb3JtPyB0cmFuc2Zvcm07Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCmluZGV4IGZmMTcwM2I5MmIwZDkwYWE5Nzg3Njcy
MjY3ZjQ4ZTI3YTRiNzY0ZDQuLmM3YWMzYzQ5YmQ5ZDc5NmIyNDg3NWY5ZDkyMzA2ZDNlOTNhNzU0
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNlbmRlci5jcHAKQEAgLTY2LDcgKzY2LDExIEBAIFJUQ1J0cFNlbmRlcjo6UlRDUnRwU2VuZGVy
KFJUQ1BlZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTdHJpbmcmJiB0cmFja0tpbmQsIFZlCiAg
ICAgQVNTRVJUKG1fYmFja2VuZCk7CiB9CiAKLVJUQ1J0cFNlbmRlcjo6flJUQ1J0cFNlbmRlcigp
ID0gZGVmYXVsdDsKK1JUQ1J0cFNlbmRlcjo6flJUQ1J0cFNlbmRlcigpCit7CisgICAgaWYgKG1f
dHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVNlbmRlcigqdGhpcyk7
Cit9CiAKIHZvaWQgUlRDUnRwU2VuZGVyOjpzZXRUcmFja1RvTnVsbCgpCiB7CkBAIC03Nyw2ICs4
MSw5IEBAIHZvaWQgUlRDUnRwU2VuZGVyOjpzZXRUcmFja1RvTnVsbCgpCiAKIHZvaWQgUlRDUnRw
U2VuZGVyOjpzdG9wKCkKIHsKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNm
b3JtLT5kZXRhY2hGcm9tU2VuZGVyKCp0aGlzKTsKKwogICAgIG1fdHJhY2tJZCA9IHsgfTsKICAg
ICBtX3RyYWNrID0gbnVsbHB0cjsKICAgICBtX2JhY2tlbmQgPSBudWxscHRyOwpAQCAtMTg2LDYg
KzE5MywyMCBAQCBPcHRpb25hbDxSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbj4gUlRDUnRwU2Vu
ZGVyOjpjdXJyZW50VHJhbnNjZWl2ZXJEaXJlY3Rpb24oKQogICAgIHJldHVybiBzZW5kZXJUcmFu
c2NlaXZlci0+Y3VycmVudERpcmVjdGlvbigpOwogfQogCitFeGNlcHRpb25Pcjx2b2lkPiBSVENS
dHBTZW5kZXI6OnNldFRyYW5zZm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9y
bSkKK3sKKyAgICBpZiAodHJhbnNmb3JtICYmIHRyYW5zZm9ybS0+aXNBdHRhY2hlZCgpKQorICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJ0cmFuc2Zvcm0gaXMg
YWxyZWFkeSBpbiB1c2UiX3MgfTsKKworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90
cmFuc2Zvcm0tPmRldGFjaEZyb21TZW5kZXIoKnRoaXMpOworICAgIG1fdHJhbnNmb3JtID0gV1RG
TW92ZSh0cmFuc2Zvcm0pOworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFuc2Zv
cm0tPmF0dGFjaFRvU2VuZGVyKCp0aGlzKTsKKworICAgIHJldHVybiB7IH07Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmgKaW5kZXggMjhk
ZjBmZWJhZTEzOWQ0ZjhkNGE3YzliYmZjYjExYjEzOTk2MDRiZC4uNzBhZDk1OTI3MGJiMmEyOWFl
MzQ5M2IxZDFlYjgwOTRhOWI1MDViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
TWVkaWFTdHJlYW1UcmFjay5oIgogI2luY2x1ZGUgIlJUQ1J0cFNlbmRlckJhY2tlbmQuaCIKICNp
bmNsdWRlICJSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5oIgorI2luY2x1ZGUgIlJUQ1J0cFRy
YW5zZm9ybS5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9X
ZWFrUHRyLmg+CiAKQEAgLTgxLDYgKzgyLDkgQEAgcHVibGljOgogICAgIFJUQ0RUTUZTZW5kZXIq
IGR0bWYoKTsKICAgICBPcHRpb25hbDxSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbj4gY3VycmVu
dFRyYW5zY2VpdmVyRGlyZWN0aW9uKCkgY29uc3Q7CiAKKyAgICBSVENSdHBUcmFuc2Zvcm0qIHRy
YW5zZm9ybSgpIHsgcmV0dXJuIG1fdHJhbnNmb3JtLmdldCgpOyB9CisgICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0VHJhbnNmb3JtKFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYpOworCiBwcml2YXRl
OgogICAgIFJUQ1J0cFNlbmRlcihSVENQZWVyQ29ubmVjdGlvbiYsIFN0cmluZyYmIHRyYWNrS2lu
ZCwgVmVjdG9yPFN0cmluZz4mJiBtZWRpYVN0cmVhbUlkcywgc3RkOjp1bmlxdWVfcHRyPFJUQ1J0
cFNlbmRlckJhY2tlbmQ+JiYpOwogCkBAIC05MSw2ICs5NSw3IEBAIHByaXZhdGU6CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJUQ1J0cFNlbmRlckJhY2tlbmQ+IG1fYmFja2VuZDsKICAgICBXZWFrUHRy
PFJUQ1BlZXJDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUmVmUHRyPFJUQ0RUTUZTZW5k
ZXI+IG1fZHRtZlNlbmRlcjsKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiBtX3RyYW5zZm9y
bTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKaW5kZXggMWMx
OGU1MDEyOGIyNGVjMWJiMGY0NmNjNmJiMGZlYTAwNjg0N2RkYS4uMzA4OTdjMjRlYTdmNzFkZDQw
NjJiMjBlYzJiNTM4ZmNiYTFjODBiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKQEAgLTMxLDYgKzMxLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFTdHJlYW1UcmFjazsKIGNsYXNzIFJU
Q0RUTUZTZW5kZXJCYWNrZW5kOwogY2xhc3MgUlRDUnRwU2VuZGVyOworY2xhc3MgUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIHN0cnVjdCBS
VENSdHBTZW5kUGFyYW1ldGVyczsKQEAgLTM5LDExICs0MCwxMyBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CiAKIGNsYXNzIFJUQ1J0cFNlbmRl
ckJhY2tlbmQgewogcHVibGljOgorICAgIHZpcnR1YWwgflJUQ1J0cFNlbmRlckJhY2tlbmQoKSA9
IGRlZmF1bHQ7CisKICAgICB2aXJ0dWFsIGJvb2wgcmVwbGFjZVRyYWNrKFJUQ1J0cFNlbmRlciYs
IE1lZGlhU3RyZWFtVHJhY2sqKSA9IDA7CiAgICAgdmlydHVhbCBSVENSdHBTZW5kUGFyYW1ldGVy
cyBnZXRQYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYXJhbWV0
ZXJzKGNvbnN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
JiYpID0gMDsKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1GU2VuZGVyQmFja2Vu
ZD4gY3JlYXRlRFRNRkJhY2tlbmQoKSA9IDA7Ci0gICAgdmlydHVhbCB+UlRDUnRwU2VuZGVyQmFj
a2VuZCgpID0gZGVmYXVsdDsKKyAgICB2aXJ0dWFsIFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
PiBjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGQwZTk4
MmJmMTJlN2MzOWMwMzI0MTc3ZTkzZTZlYTA4MDZmYzEzCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJXaXRoVHJhbnNmb3Jt
LmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVk
ZSAiUlRDUnRwU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtOworCitjbGFzcyBSVENSdHBT
ZW5kZXJXaXRoVHJhbnNmb3JtIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUlRDUnRwVHJhbnNmb3Jt
KiB0cmFuc2Zvcm0oUlRDUnRwU2VuZGVyJiBzZW5kZXIpIHsgcmV0dXJuIHNlbmRlci50cmFuc2Zv
cm0oKTsgfQorICAgIHN0YXRpYyBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUcmFuc2Zvcm0oUlRDUnRw
U2VuZGVyJiBzZW5kZXIsIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJhbnNmb3JtKSB7IHJl
dHVybiBzZW5kZXIuc2V0VHJhbnNmb3JtKFdURk1vdmUodHJhbnNmb3JtKSk7IH0KK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0u
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0u
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZhYjVjZjdiNGRhYjA1MTQwZTIwZjc0YjQwZGNmYmI4MDFjYjczOGIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFRyYW5zZm9ybS5jcHAKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24u
CisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIKKworI2lmIEVOQUJMRShXRUJfUlRD
KQorCisjaW5jbHVkZSAiUlRDUnRwUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSVENSdHBTZW5kZXIu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSVENSdHBUcmFuc2Zvcm06On5SVENSdHBUcmFu
c2Zvcm0oKQoreworICAgIGlmIChtX2JhY2tlbmQpCisgICAgICAgIHdpbGxDbGVhckJhY2tlbmQo
Km1fYmFja2VuZCk7Cit9CisKK3ZvaWQgUlRDUnRwVHJhbnNmb3JtOjphdHRhY2hUb1JlY2VpdmVy
KFJUQ1J0cFJlY2VpdmVyJiByZWNlaXZlcikKK3sKKyAgICBBU1NFUlQoIWlzQXR0YWNoZWQoKSk7
CisgICAgaWYgKGF1dG8qIGJhY2tlbmQgPSByZWNlaXZlci5iYWNrZW5kKCkpCisgICAgICAgIG1f
YmFja2VuZCA9IGJhY2tlbmQtPmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKTsKKyAgICBp
ZiAobV9iYWNrZW5kKQorICAgICAgICBpbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKCptX2Jh
Y2tlbmQpOworfQorCit2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNoVG9TZW5kZXIoUlRDUnRw
U2VuZGVyJiBzZW5kZXIpCit7CisgICAgQVNTRVJUKCFpc0F0dGFjaGVkKCkpOworICAgIGlmIChh
dXRvKiBiYWNrZW5kID0gc2VuZGVyLmJhY2tlbmQoKSkKKyAgICAgICAgbV9iYWNrZW5kID0gYmFj
a2VuZC0+Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpOworICAgIGlmIChtX2JhY2tlbmQp
CisgICAgICAgIGluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKCptX2JhY2tlbmQpOworfQorCit2
b2lkIFJUQ1J0cFRyYW5zZm9ybTo6ZGV0YWNoRnJvbVJlY2VpdmVyKFJUQ1J0cFJlY2VpdmVyJikK
K3sKKyAgICBpZiAoIW1fYmFja2VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2lsbENsZWFy
QmFja2VuZCgqbV9iYWNrZW5kKTsKKyAgICBtX2JhY2tlbmQgPSBudWxscHRyOworfQorCit2b2lk
IFJUQ1J0cFRyYW5zZm9ybTo6ZGV0YWNoRnJvbVNlbmRlcihSVENSdHBTZW5kZXImKQoreworICAg
IGlmICghbV9iYWNrZW5kKQorICAgICAgICByZXR1cm47CisKKyAgICB3aWxsQ2xlYXJCYWNrZW5k
KCptX2JhY2tlbmQpOworICAgIG1fYmFja2VuZCA9IG51bGxwdHI7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGIwOGU4ZjBlN2VmZmYxNTk5NDg1M2E4NjRmMDE0YjgxNTFlYWNmMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3Jt
LmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVk
ZSAiUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRwUmVjZWl2ZXI7CitjbGFzcyBS
VENSdHBTZW5kZXI7CisKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIFJUQ1J0cFRyYW5zZm9ybSA6IHB1
YmxpYyBSZWZDb3VudGVkPFJUQ1J0cFRyYW5zZm9ybT4geworcHVibGljOgorICAgIHZpcnR1YWwg
flJUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgYm9vbCBpc0F0dGFjaGVkKCkgY29uc3Q7CisgICAg
dm9pZCBhdHRhY2hUb1JlY2VpdmVyKFJUQ1J0cFJlY2VpdmVyJik7CisgICAgdm9pZCBhdHRhY2hU
b1NlbmRlcihSVENSdHBTZW5kZXImKTsKKyAgICB2b2lkIGRldGFjaEZyb21SZWNlaXZlcihSVENS
dHBSZWNlaXZlciYpOworICAgIHZvaWQgZGV0YWNoRnJvbVNlbmRlcihSVENSdHBTZW5kZXImKTsK
KworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIo
UlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpOworICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplQmFj
a2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKTsKKyAgICB2aXJ0dWFsIHZv
aWQgd2lsbENsZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7CisKK3Byb3RlY3Rl
ZDoKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gbV9iYWNrZW5kOworfTsKKwor
aW5saW5lIGJvb2wgUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6aXNBdHRhY2hlZCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuICEhbV9iYWNrZW5kOworfQorCitpbmxpbmUgdm9pZCBSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjppbml0aWFsaXplQmFja2VuZEZvclNlbmRlcihSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kJikKK3sKK30KKworaW5saW5lIHZvaWQgUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6aW5pdGlh
bGl6ZUJhY2tlbmRGb3JSZWNlaXZlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJikKK3sKK30KKwor
aW5saW5lIHZvaWQgUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6d2lsbENsZWFyQmFja2VuZChSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kJikKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U2ZTMyODEy
YmM0M2ZmMWUzZjVmYWIxMDUxNjY2ZTRlYzQzMzVhNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbApAQCAtMCww
ICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJSVENJ
bnNlcnRhYmxlU3RyZWFtcywKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKKyAgICBF
eHBvc2VkPVdpbmRvdworXSBpbnRlcmZhY2UgUlRDUnRwVHJhbnNmb3JtIHsKKyAgICAvLyBGSVhN
RTogQWRkIHJlYWRhYmxlL3dyaXRhYmxlIGdldHRlcnMKKyAgICAvLyByZWFkb25seSBhdHRyaWJ1
dGUgUmVhZGFibGVTdHJlYW0gcmVhZGFibGU7CisgICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIFdy
aXRhYmxlU3RyZWFtIHdyaXRhYmxlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDEyMTQ5MjIwMWFlNjQ2MzViODgyOTM1NDU1ZTViOGYzNzNiYmNhOQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykK
KworI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTsKKworY2xhc3MgUlRDUnRw
VHJhbnNmb3JtQmFja2VuZCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFkOjpNYWluPiB7CitwdWJsaWM6Cisg
ICAgdmlydHVhbCB+UlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpID0gZGVmYXVsdDsKKworICAgIHVz
aW5nIENhbGxiYWNrID0gRnVuY3Rpb248dm9pZChSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJik+
OworICAgIHZpcnR1YWwgdm9pZCBzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayhDYWxsYmFj
ayYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJh
Y2soKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFJUQ1J0
cFRyYW5zZm9ybWFibGVGcmFtZSYmKSA9IDA7CisKKyAgICBlbnVtIGNsYXNzIE1lZGlhVHlwZSB7
IEF1ZGlvLCBWaWRlbyB9OworICAgIHZpcnR1YWwgTWVkaWFUeXBlIG1lZGlhVHlwZSgpIGNvbnN0
ID0gMDsKKworICAgIGVudW0gY2xhc3MgU2lkZSB7IFNlbmRlciwgUmVjZWl2ZXIgfTsKKyAgICB2
aXJ0dWFsIFNpZGUgc2lkZSgpIGNvbnN0ID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTcyNjM2MDA3ZWZjMjc2YzM5NThjMmU3MmMzOWEyMTNjOWFmOTk5MAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
VHJhbnNmb3JtYWJsZUZyYW1lLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShXRUJfUlRDKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UlRDUnRwVHJhbnNmb3JtYWJsZUZy
YW1lKCkgPSBkZWZhdWx0OworCisgICAgc3RydWN0IERhdGEgeworICAgICAgICBjb25zdCB1aW50
OF90KiBkYXRhOworICAgICAgICBzaXplX3Qgc2l6ZTsKKyAgICB9OworICAgIHZpcnR1YWwgRGF0
YSBkYXRhKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXREYXRhKERhdGEpID0gMDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5jcHAK
aW5kZXggMWQzMTZhYWZiN2ZjYWQzM2U0MWM1MTZlNTNiMDY5ODU5ODU2Y2FlMC4uOWE4OGQxY2Rj
MGViYjBkYzc5YjA0Y2I1MWIwNGVmNmVhMGYzZTU5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNr
ZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwCkBAIC0yNSw3ICsyNSw5IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgi
CiAKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaCIKICNp
bmNsdWRlICJMaWJXZWJSVENVdGlscy5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuaCIKICNpbmNsdWRlICJSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCIKICNpbmNsdWRl
ICJSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaCIKIApAQCAtMTE0LDYgKzExNiwxMCBAQCBS
ZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4gTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVh
dGVTb3VyY2UoKQogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKK1JlZjxS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQ6OmNyZWF0
ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKQoreworICAgIHJldHVybiBMaWJXZWJSVENSdHBSZWNl
aXZlclRyYW5zZm9ybUJhY2tlbmQ6OmNyZWF0ZShtX3J0Y1JlY2VpdmVyKTsKK30KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2Vp
dmVyQmFja2VuZC5oCmluZGV4IGQwMjg3OThiMGU2OWMxNzE0NmJjZTE4YjdkOWIwODRmZTI2OWVl
MTguLmI0NmNkMmE2OTg0ZGVkOWQxMTk0NzU1NWQyMDUxODc3YzEwNTg3NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFJlY2VpdmVyQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oCkBAIC01Miw2ICs1Miw3
IEBAIHByaXZhdGU6CiAgICAgUlRDUnRwUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCkgZmluYWw7
CiAgICAgVmVjdG9yPFJUQ1J0cENvbnRyaWJ1dGluZ1NvdXJjZT4gZ2V0Q29udHJpYnV0aW5nU291
cmNlcygpIGNvbnN0IGZpbmFsOwogICAgIFZlY3RvcjxSVENSdHBTeW5jaHJvbml6YXRpb25Tb3Vy
Y2U+IGdldFN5bmNocm9uaXphdGlvblNvdXJjZXMoKSBjb25zdCBmaW5hbDsKKyAgICBSZWY8UlRD
UnRwVHJhbnNmb3JtQmFja2VuZD4gY3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpIGZpbmFs
OwogCiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+
IG1fcnRjUmVjZWl2ZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5k
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTFlNTk0MTlh
YjcxZjA5ZWQwNzY1YWUxNDVhY2IyYmExNWQzZGM1MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2Vp
dmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCisKKyNpZiBF
TkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1J0
cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBp
bmxpbmUgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGUgbWVk
aWFUeXBlRnJvbVJlY2VpdmVyKGNvbnN0IHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2UmIHJl
Y2VpdmVyKQoreworICAgIHJldHVybiByZWNlaXZlci5tZWRpYV90eXBlKCkgPT0gY3JpY2tldDo6
TUVESUFfVFlQRV9BVURJTyA/IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6QXVk
aW8gOiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OlZpZGVvOworfQorCitMaWJX
ZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJh
bnNmb3JtQmFja2VuZChydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBSZWNlaXZlckludGVy
ZmFjZT4gcnRjUmVjZWl2ZXIpCisgICAgOiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKG1l
ZGlhVHlwZUZyb21SZWNlaXZlcigqcnRjUmVjZWl2ZXIpLCBTaWRlOjpSZWNlaXZlcikKKyAgICAs
IG1fcnRjUmVjZWl2ZXIoV1RGTW92ZShydGNSZWNlaXZlcikpCit7Cit9CisKK0xpYldlYlJUQ1J0
cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6fkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3Jt
QmFja2VuZCgpCit7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayhDYWxsYmFjayYmIGNhbGxiYWNrKQor
eworICAgIHNldElucHV0Q2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpOworICAgIG1fcnRjUmVj
ZWl2ZXItPlNldERlcGFja2V0aXplclRvRGVjb2RlckZyYW1lVHJhbnNmb3JtZXIodGhpcyk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKSAm
JiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWU5N2ZkMDEwZDU0ZDli
YzdiYjFiMDAwZTNmMTc5OGM1NjAzZjNiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFu
c2Zvcm1CYWNrZW5kLmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJf
UlRDKSAmJiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5oIgorCitBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgorQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KKworI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvcnRwX3JlY2Vp
dmVyX2ludGVyZmFjZS5oPgorCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKK0FM
TE9XX1VOVVNFRF9QQVJBTUVURVJTX0VORAorCituYW1lc3BhY2Ugd2VicnRjIHsKK2NsYXNzIFJ0
cFJlY2VpdmVySW50ZXJmYWNlOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIExp
YldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZCBmaW5hbCA6IHB1YmxpYyBMaWJXZWJS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPExpYldlYlJU
Q1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZD4gY3JlYXRlKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3
ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiByZWNlaXZlcikgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQoV1RGTW92ZShyZWNlaXZl
cikpKTsgfQorICAgIH5MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQoKTsKKwor
cHJpdmF0ZToKKyAgICBleHBsaWNpdCBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tl
bmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+KTsKKwor
ICAgIC8vIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQKKyAgICB2b2lkIHNldFRyYW5zZm9ybWFibGVG
cmFtZUNhbGxiYWNrKENhbGxiYWNrJiYpIGZpbmFsOworCisgICAgcnRjOjpzY29wZWRfcmVmcHRy
PHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+IG1fcnRjUmVjZWl2ZXI7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5j
cHAKaW5kZXggNTkzZGE5ODRlOTc4YjlmZTcwNTE4YTNlMzkyNGVjNTI1MWVmYTJhYy4uOGU5NjFj
OTcyZmIwZGU0OGQ3NWEwYzRhZTlmM2NiZDFhOTIyYzljNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFj
a2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAKQEAgLTMwLDkgKzMwLDExIEBACiAjaW5j
bHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENEVE1GU2Vu
ZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5o
IgorI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaCIKICNpbmNs
dWRlICJMaWJXZWJSVENVdGlscy5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAj
aW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMTM2LDYgKzEzOCwxMSBAQCBzdGQ6OnVuaXF1ZV9wdHI8UlRDRFRNRlNlbmRl
ckJhY2tlbmQ+IExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQ6OmNyZWF0ZURUTUZCYWNrZQogICAg
IHJldHVybiBtYWtlVW5pcXVlPExpYldlYlJUQ0RUTUZTZW5kZXJCYWNrZW5kPihtX3J0Y1NlbmRl
ci0+R2V0RHRtZlNlbmRlcigpKTsKIH0KIAorUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IExp
YldlYlJUQ1J0cFNlbmRlckJhY2tlbmQ6OmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKQor
eworICAgIHJldHVybiBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpjcmVhdGUo
bV9ydGNTZW5kZXIpOworfQorCiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UqIExpYldlYlJU
Q1J0cFNlbmRlckJhY2tlbmQ6OnZpZGVvU291cmNlKCkKIHsKICAgICByZXR1cm4gc3dpdGNoT24o
bV9zb3VyY2UsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmgK
aW5kZXggYTEwNDE2ZDE0MDlmYWU4MDI2ZGZmNGViNTkyNTVkODU5NWY3MjI4Mi4uZDU2YTA1NmUz
NjJiNGQ2MzQ5MTE2M2MxMmJiYzhkYmNjZjI5NDcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaApAQCAtNzAsNiArNzAsNyBAQCBwcml2YXRlOgogICAg
IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIGdldFBhcmFtZXRlcnMoKSBjb25zdCBmaW5hbDsKICAgICB2
b2lkIHNldFBhcmFtZXRlcnMoY29uc3QgUlRDUnRwU2VuZFBhcmFtZXRlcnMmLCBET01Qcm9taXNl
RGVmZXJyZWQ8dm9pZD4mJikgZmluYWw7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJUQ0RUTUZTZW5k
ZXJCYWNrZW5kPiBjcmVhdGVEVE1GQmFja2VuZCgpIGZpbmFsOworICAgIFJlZjxSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kPiBjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgZmluYWw7CiAKICAg
ICB2b2lkIHN0YXJ0U291cmNlKCk7CiAgICAgdm9pZCBzdG9wU291cmNlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjlhZjQzOWRjZmU4YzA3MjdhNjAyMjQ4YjBjOWU0Zjk5MzVjYjU4YTEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcApAQCAtMCwwICsxLDU4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1C
YWNrZW5kLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2lu
Y2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3N0YXRpYyBpbmxpbmUgTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2Vu
ZDo6TWVkaWFUeXBlIG1lZGlhVHlwZUZyb21TZW5kZXIoY29uc3Qgd2VicnRjOjpSdHBTZW5kZXJJ
bnRlcmZhY2UmIHNlbmRlcikKK3sKKyAgICByZXR1cm4gc2VuZGVyLm1lZGlhX3R5cGUoKSA9PSBj
cmlja2V0OjpNRURJQV9UWVBFX0FVRElPID8gUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFU
eXBlOjpBdWRpbyA6IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6VmlkZW87Cit9
CisKK0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50
ZXJmYWNlPiBydGNTZW5kZXIpCisgICAgOiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKG1l
ZGlhVHlwZUZyb21TZW5kZXIoKnJ0Y1NlbmRlciksIFNpZGU6OlNlbmRlcikKKyAgICAsIG1fcnRj
U2VuZGVyKFdURk1vdmUocnRjU2VuZGVyKSkKK3sKK30KKworTGliV2ViUlRDUnRwU2VuZGVyVHJh
bnNmb3JtQmFja2VuZDo6fkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQoKQorewor
fQorCit2b2lkIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6OnNldFRyYW5zZm9y
bWFibGVGcmFtZUNhbGxiYWNrKENhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgc2V0SW5wdXRD
YWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgbV9ydGNTZW5kZXItPlNldEVuY29kZXJU
b1BhY2tldGl6ZXJGcmFtZVRyYW5zZm9ybWVyKHRoaXMpOworfQorCisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFj
a2VuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI2NjA5YjdkMWRmOWE5NzBhN2FhNTg4NGMwZTE1MzY0MmM4NDZj
MmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmgKQEAgLTAsMCAr
MSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgor
ICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQor
CisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgorCitBTExPV19VTlVT
RURfUEFSQU1FVEVSU19CRUdJTgorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4K
KworI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvcnRwX3NlbmRlcl9pbnRlcmZhY2UuaD4KKworQUxMT1df
REVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECitBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQK
KworbmFtZXNwYWNlIHdlYnJ0YyB7CitjbGFzcyBSdHBTZW5kZXJJbnRlcmZhY2U7Cit9CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGliV2ViUlRDU2VuZGVyVHJhbnNmb3JtZXI7CisK
K2NsYXNzIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQgZmluYWwgOiBwdWJsaWMg
TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZCB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1C
YWNrZW5kPiBjcmVhdGUocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJm
YWNlPiBzZW5kZXIpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTGliV2ViUlRDUnRwU2VuZGVyVHJh
bnNmb3JtQmFja2VuZChXVEZNb3ZlKHNlbmRlcikpKTsgfQorICAgIH5MaWJXZWJSVENSdHBTZW5k
ZXJUcmFuc2Zvcm1CYWNrZW5kKCk7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZChydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBT
ZW5kZXJJbnRlcmZhY2U+KTsKKworICAgIC8vIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQKKyAgICB2
b2lkIHNldFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKENhbGxiYWNrJiYpIGZpbmFsOworCisg
ICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNlPiBtX3J0Y1Nl
bmRlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShX
RUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTYyZDMwZDFmZGQzMDJhM2I1
YzNlZGIzOGRjY2I5ZWVlMTMzMTA0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZC5jcHAKQEAgLTAsMCArMSw5NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJ
bmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
CisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZC5oIgorCisjaWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJX
RUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6
OnNldElucHV0Q2FsbGJhY2soQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOworICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9pbnB1dENhbGxiYWNr
TG9jayk7CisgICAgbV9pbnB1dENhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayk7Cit9CisKK3Zv
aWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6Y2xlYXJUcmFuc2Zvcm1hYmxlRnJhbWVD
YWxsYmFjaygpCit7CisgICAgc2V0SW5wdXRDYWxsYmFjayh7IH0pOworfQorCit2b2lkIExpYldl
YlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OnNldE91dHB1dENhbGxiYWNrKHJ0Yzo6c2NvcGVkX3Jl
ZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3sKKyAg
ICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fb3V0cHV0Q2FsbGJhY2tMb2NrKTsKKyAgICBtX291
dHB1dENhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRw
VHJhbnNmb3JtQmFja2VuZDo6cHJvY2Vzc1RyYW5zZm9ybWVkRnJhbWUoUlRDUnRwVHJhbnNmb3Jt
YWJsZUZyYW1lJiYgZnJhbWUpCit7CisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX291dHB1
dENhbGxiYWNrTG9jayk7CisgICAgaWYgKG1fb3V0cHV0Q2FsbGJhY2spCisgICAgICAgIG1fb3V0
cHV0Q2FsbGJhY2stPk9uVHJhbnNmb3JtZWRGcmFtZShMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxl
RnJhbWU6OnRvUlRDRnJhbWUoV1RGTW92ZShzdGF0aWNfY2FzdDxMaWJXZWJSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUmPihmcmFtZSkpKSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZDo6VHJhbnNmb3JtKHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVG
cmFtZUludGVyZmFjZT4gcnRjRnJhbWUpCit7CisgICAgeworICAgICAgICBhdXRvIGxvY2tlciA9
IGhvbGRMb2NrKG1faW5wdXRDYWxsYmFja0xvY2spOworICAgICAgICBpZiAobV9pbnB1dENhbGxi
YWNrKSB7CisgICAgICAgICAgICBtX2lucHV0Q2FsbGJhY2soTGliV2ViUlRDUnRwVHJhbnNmb3Jt
YWJsZUZyYW1lKFdURk1vdmUocnRjRnJhbWUpKSk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KKyAgICB9CisgICAgLy8gSW4gY2FzZSBvZiBubyBpbnB1dCBjYWxsYmFjaywgbWFrZSB0
aGUgdHJhbnNmb3JtIGEgbm8tb3AuCisgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX291dHB1
dENhbGxiYWNrTG9jayk7CisgICAgaWYgKG1fb3V0cHV0Q2FsbGJhY2spCisgICAgICAgIG1fb3V0
cHV0Q2FsbGJhY2stPk9uVHJhbnNmb3JtZWRGcmFtZShXVEZNb3ZlKHJ0Y0ZyYW1lKSk7Cit9CisK
K3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6UmVnaXN0ZXJUcmFuc2Zvcm1lZEZy
YW1lQ2FsbGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNh
bGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBzZXRPdXRwdXRDYWxsYmFjayhXVEZNb3ZlKGNhbGxi
YWNrKSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6UmVnaXN0ZXJU
cmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRy
YW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4gY2FsbGJhY2ssIHVpbnQzMl90IC8qIHNzcmMgKi8pCit7
CisgICAgUmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykp
OworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFu
c2Zvcm1lZEZyYW1lQ2FsbGJhY2soKQoreworICAgIHNldE91dHB1dENhbGxiYWNrKG51bGxwdHIp
OworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFu
c2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHVpbnQzMl90IC8qIHNzcmMgKi8pCit7CisgICAgVW5y
ZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaygpOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yMTU4YzY0YmI2MTE0MGM0ZTJjZWI0N2ExNzAzNDA5NWY2YjRlOTkwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJU
Q01hY3Jvcy5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKyNpbmNsdWRl
IDx3ZWJydGMvYXBpL3Njb3BlZF9yZWZwdHIuaD4KKyNpbmNsdWRlIDx3dGYvTG9jay5oPgorCitB
TExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfQkVHSU4KKworI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvZnJhbWVfdHJhbnNmb3JtZXJfaW50ZXJm
YWNlLmg+CisKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAorQUxMT1dfVU5VU0VE
X1BBUkFNRVRFUlNfRU5ECisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZCA6IHB1YmxpYyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLCBwdWJs
aWMgd2VicnRjOjpGcmFtZVRyYW5zZm9ybWVySW50ZXJmYWNlIHsKK3Byb3RlY3RlZDoKKyAgICBM
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKE1lZGlhVHlwZSwgU2lkZSk7CisgICAgdm9pZCBz
ZXRJbnB1dENhbGxiYWNrKENhbGxiYWNrJiYpOworCitwcml2YXRlOgorICAgIHZvaWQgc2V0T3V0
cHV0Q2FsbGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNh
bGxiYWNrPiYmKTsKKworICAgIC8vIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQKKyAgICB2b2lkIHBy
b2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmKSBmaW5hbDsK
KyAgICB2b2lkIGNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soKSBmaW5hbDsKKyAgICBN
ZWRpYVR5cGUgbWVkaWFUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9tZWRpYVR5cGU7IH0K
KyAgICBTaWRlIHNpZGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3NpZGU7IH0KKworICAgIC8v
IHdlYnJ0Yzo6RnJhbWVUcmFuc2Zvcm1lckludGVyZmFjZQorICAgIHZvaWQgVHJhbnNmb3JtKHN0
ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4pIGZpbmFs
OworICAgIHZvaWQgUmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2socnRjOjpzY29wZWRf
cmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrPikgZmluYWw7CisgICAgdm9p
ZCBSZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2socnRjOjpzY29wZWRfcmVmcHRy
PHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrPiwgdWludDMyX3Qgc3NyYykgZmluYWw7
CisgICAgdm9pZCBVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKCkgZmluYWw7Cisg
ICAgdm9pZCBVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZVNpbmtDYWxsYmFjayh1aW50MzJfdCBz
c3JjKSBmaW5hbDsKKyAgICB2b2lkIEFkZFJlZigpIGNvbnN0IGZpbmFsIHsgcmVmKCk7IH0KKyAg
ICBydGM6OlJlZkNvdW50UmVsZWFzZVN0YXR1cyBSZWxlYXNlKCkgY29uc3QgZmluYWw7CisKKyAg
ICBNZWRpYVR5cGUgbV9tZWRpYVR5cGU7CisgICAgU2lkZSBtX3NpZGU7CisKKyAgICBMb2NrIG1f
aW5wdXRDYWxsYmFja0xvY2s7CisgICAgQ2FsbGJhY2sgbV9pbnB1dENhbGxiYWNrOworCisgICAg
TG9jayBtX291dHB1dENhbGxiYWNrTG9jazsKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRj
OjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+IG1fb3V0cHV0Q2FsbGJhY2s7Cit9OworCitpbmxp
bmUgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZChNZWRpYVR5cGUgbWVkaWFUeXBlLCBTaWRlIHNpZGUpCisgICAgOiBtX21lZGlhVHlwZSht
ZWRpYVR5cGUpCisgICAgLCBtX3NpZGUoc2lkZSkKK3sKK30KKworaW5saW5lIHJ0Yzo6UmVmQ291
bnRSZWxlYXNlU3RhdHVzIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlbGVhc2UoKSBj
b25zdAoreworICAgIGRlcmVmKCk7CisgICAgcmV0dXJuIHJ0Yzo6UmVmQ291bnRSZWxlYXNlU3Rh
dHVzOjprT3RoZXJSZWZzUmVtYWluZWQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRw
VHJhbnNmb3JtYWJsZUZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
Mjg2MzJjNmUxN2IxMWZmNzhjZTIzNTExOTdmZmEwZTNhNDdmMTRmCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShXRUJfUlRDKQorCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZy
YW1lIGZpbmFsIDogcHVibGljIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSB7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTGliV2ViUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lKHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFt
ZUludGVyZmFjZT4mJik7CisgICAgdmlydHVhbCB+TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZy
YW1lKCkgPSBkZWZhdWx0OworCisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRy
YW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4gdG9SVENGcmFtZShMaWJXZWJSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUmJik7CisKK3ByaXZhdGU6CisgICAgRGF0YSBkYXRhKCkgY29uc3QgZmluYWw7
CisgICAgdm9pZCBzZXREYXRhKERhdGEgZGF0YSkgZmluYWwgeyBtX3J0Y0ZyYW1lLT5TZXREYXRh
KHsgZGF0YS5kYXRhLCBkYXRhLnNpemUgfSk7IH0KKworICAgIHN0ZDo6dW5pcXVlX3B0cjx3ZWJy
dGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4gbV9ydGNGcmFtZTsKK307CisKK2lubGlu
ZSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFi
bGVGcmFtZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZh
Y2U+JiYgZnJhbWUpCisgICAgOiBtX3J0Y0ZyYW1lKFdURk1vdmUoZnJhbWUpKQoreworfQorCitp
bmxpbmUgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNl
PiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OnRvUlRDRnJhbWUoTGliV2ViUlRDUnRw
VHJhbnNmb3JtYWJsZUZyYW1lJiYgZnJhbWUpCit7CisgICAgcmV0dXJuIFdURk1vdmUoZnJhbWUu
bV9ydGNGcmFtZSk7Cit9CisKK2lubGluZSBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkRhdGEg
TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpkYXRhKCkgY29uc3QKK3sKKyAgICBhdXRv
IGRhdGEgPSBtX3J0Y0ZyYW1lLT5HZXREYXRhKCk7CisgICAgcmV0dXJuIHsgZGF0YS5iZWdpbigp
LCBkYXRhLnNpemUoKSB9OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZjk1YWZmNjdjOTQ1NjM0MjYyYWMz
OWExYjM5YzgwNDE3OTRjNDZkYi4uNjRhNWQ1ZDRkNDcwNjQ2OTNjMDVmZjg3MjFlYzVlMzdiMDUz
OTU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE2NCwxMiArMTY0LDE2IEBAIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uSWNlRXZlbnQuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVy
LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCitNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJh
bnNjZWl2ZXIuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5j
cHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhY2tFdmVudC5jcHAKIE1vZHVsZXMvbWVkaWFz
dHJlYW0vVXNlck1lZGlhQ29udHJvbGxlci5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1l
ZGlhUmVxdWVzdC5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0Nl
cnRpZmljYXRlR2VuZXJhdG9yLmNwcAorTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcAorTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAKK01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3Bw
CiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNwcAogTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3BwCiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcApAQCAtMzMyMCw2ICszMzI0LDcgQEAgSlNSVENS
dHBTZW5kZXIuY3BwCiBKU1JUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5jcHAKIEpTUlRDUnRw
VHJhbnNjZWl2ZXIuY3BwCiBKU1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmNwcAorSlNSVENS
dHBUcmFuc2Zvcm0uY3BwCiBKU1JUQ1NkcFR5cGUuY3BwCiBKU1JUQ1Nlc3Npb25EZXNjcmlwdGlv
bi5jcHAKIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYjgyNDg2ZmI5NGU2
NWM3OTVhNjc3NzY2YWRmMTM0MThmOWZlNzNmLi4yM2EyNjE3YzNhZjljOWRlMzUzOTYwMjFiYjQ2
YWI5ZTRkYWQ0N2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0xMDQ3LDYgKzEwNDcsOSBAQAogCQk0MTM4Rjg1ODFEMjUzRjBF
MDAxQ0I2MUUgLyogSlNET01JdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzOEY4NTYxRDI1M0VFRTAwMUNCNjFFIC8qIEpTRE9NSXRlcmF0
b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTNBMUFBMjIzNzFBOEI0MDA3RUYzQTUgLyogSlNET01TZXRMaWtlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNBMUE5RjIzNzFBOEE4MDA3RUYzQTUg
LyogSlNET01TZXRMaWtlLmggKi87IH07CiAJCTQxM0MyQzM0MUJDMjlBOEYwMDc1MjA0QyAvKiBK
U0RPTUNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTNDMkMzMzFCQzI5QTdCMDA3NTIwNEMgLyogSlNET01Db25zdHJ1Y3Rvci5oICov
OyB9OworCQk0MTNDOEIzMzI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRwU2VuZGVyV2l0aFRyYW5z
Zm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEz
QzhCMkUyNTUyRjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaCAqLzsg
fTsKKwkJNDEzQzhCMzQyNTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQzhCMkYyNTUyRjI3
QjAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5oICovOyB9OworCQk0MTNDOEIzNTI1NTJGMjdE
MDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNDOEIzMDI1NTJGMjdDMDBFNjUwNTUg
LyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggKi87IH07CiAJCTQxM0NDRDRBMjBERTAz
NEYwMDY1QTIxQSAvKiBNb2NrTWVkaWFEZXZpY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0NDRDQ4MjBERTAxM0MwMDY1QTIxQSAvKiBNb2NrTWVk
aWFEZXZpY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MTNFMDA3OTFEQjBFNEYyMDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzRTAwNzgxREIwRTRERTAw
MjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0MTQ0NjBBMjI0MTI5OTQ1MDA4MTRCRTcgLyogTWVkaWFTZXNz
aW9uSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE0NDYwQTAyNDEyOTk0MTAwODE0QkU3IC8qIE1lZGlhU2Vzc2lvbklkZW50aWZpZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTA5
OSw2ICsxMTAyLDEzIEBACiAJCTQxN0Y3QUVGMjEzOUJGNkYwMEZCQTdFQyAvKiBNZWRpYVNlc3Np
b25NYW5hZ2VyQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxN0Y3QUVEMjEzOUJGNjUwMEZCQTdFQyAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyQ29j
b2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0
MTgxNUMxRTEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODE1QzFDMTM4MzE5ODMw
MDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuY3BwICovOyB9OwogCQk0MTgxNUMxRjEzODMx
OTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMxRDEzODMxOTgzMDA1N0FBQTQgLyogV2Vi
Q29yZVRlc3RTdXBwb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJNDE4MUM1QzkyNTU1NzNERjAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
ODFDNUM4MjU1NTczREYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi87IH07
CisJCTQxODFDNUNCMjU1NTgyRTQwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUNB
MjU1NTgyRTMwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLzsgfTsKKwkJ
NDE4MUM1Q0QyNTU1ODM2OTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MUM1
Q0MyNTU1ODM2ODAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oICov
OyB9OworCQk0MTgxQzVEMTI1NTU4OTU2MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE4MUM1Q0YyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
aCAqLzsgfTsKKwkJNDE4MUM1RDYyNTU1QzFCOTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zv
cm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFD
NUQ1MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmggKi87IH07CisJCTQx
ODFDNUQ3MjU1NUM0OUEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUQzMjU1NUMxQjEw
MEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCAqLzsgfTsKKwkJNDE4MUM2MzkyNTVB
RTkwRjAwQUVCMEZGIC8qIEpTTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDZGM0U5MjFDMUY4NTU1MDA2MURCRTQg
LyogSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCAqLzsgfTsKIAkJNDE4MjA1NDcxRTUzRTk4QzAw
RDYyMjA3IC8qIFJUQ0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxODIwNTQ1MUU1M0M4Q0QwMEQ2MjIwNyAvKiBSVENDb250cm9sbGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4
MjZCRjIyM0ZCNTk3NzAwQjkyMkIxIC8qIERvY3VtZW50SWRlbnRpZmllci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MjZCRjEyM0ZCNTk3MDAwQjky
MkIxIC8qIERvY3VtZW50SWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTQxODRGNTE2MUVBRjA1QTgwMEYxOEJGMCAvKiBPcmllbnRh
dGlvbk5vdGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTg0RjUxNTFFQUYwNTk4MDBGMThCRjAgLyogT3JpZW50YXRpb25Ob3RpZmllci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC03MDMzLDYg
KzcwNDMsNyBAQAogCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDQgLyogSlNNb2NrUGFnZU92ZXJs
YXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2NrUGFnZU92
ZXJsYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDZGM0U5MjFDMUY4NTU1
MDA2MURCRDUgLyogSlNJbnRlcm5hbHNTZXRMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSW50ZXJuYWxzU2V0TGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJENiAvKiBKU0ludGVybmFsc01hcExp
a2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnRlcm5hbHNN
YXBMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ2RjNFOTIxQzFGODU1
NTAwNjFEQkU0IC8qIEpTTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyRDZGM0U5MzFDMUY4NTU1MDA2MURCRDQgLyogSlNNb2NrUGFn
ZU92ZXJsYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNb2NrUGFnZU92
ZXJsYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3MEJBMTIxODA3NERERjAw
MDE5MDhBIC8qIFBsYXRmb3JtQ0FMYXllckNvY29hLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllckNvY29hLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTJENzBCQTE0MTgwNzRGODUwMDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGxhdGZvcm1DQUxheWVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc1NjIsNiArNzU3MywxMiBAQAogCQk0MTNB
MUE5RjIzNzFBOEE4MDA3RUYzQTUgLyogSlNET01TZXRMaWtlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
RE9NU2V0TGlrZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNBMUFBMTIzNzFB
OEE5MDA3RUYzQTUgLyogSlNET01TZXRMaWtlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9N
U2V0TGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxM0MyQzMzMUJDMjlB
N0IwMDc1MjA0QyAvKiBKU0RPTUNvbnN0cnVjdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRE9NQ29uc3RydWN0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDEzQzhCMjQyNTUyRUVBOTAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlJUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIyNjI1NTJFRUE5MDBFNjUwNTUg
LyogUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlJU
Q1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDEzQzhCMjkyNTUyRjAxMzAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUlRDUnRwVHJhbnNmb3JtLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNDEzQzhCMkUyNTUyRjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFu
c2Zvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDUnRwU2VuZGVyV2l0
aFRyYW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIyRjI1NTJG
MjdCMDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MTNDOEIzMDI1NTJGMjdDMDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3Jt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFJlY2VpdmVyV2l0aFRy
YW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNDQ0Q0ODIwREUwMTND
MDA2NUEyMUEgLyogTW9ja01lZGlhRGV2aWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1vY2tNZWRpYURldmljZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
MTNFMDA3NzFEQjBFNERFMDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlSZWxlYXNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDEzRTAwNzgxREIwRTRERTAwMjM0MUQyIC8qIE1lbW9yeVJlbGVh
c2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5UmVsZWFzZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzY3Miw2ICs3Njg5LDE5IEBACiAJCTQxODE1
QzFDMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBwb3J0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4MTVDMUQxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNv
cmVUZXN0U3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3Jl
VGVzdFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4MTcwN0QxMzg2
RURGMjAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQueGNjb25maWc7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWc7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUJFMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJXZWJS
VENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1J0
cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBT
ZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
ODFDNUMwMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zv
cm1CYWNrZW5kLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5z
Zm9ybUJhY2tlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDMTI1
NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNw
cDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzIyNTUzRUI2RjAwQUVCMEZG
IC8qIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaDsgcGF0aCA9IGxpYndlYnJ0
Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzYyNTU1NzM1MTAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9y
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSVENSdHBUcmFuc2Zv
cm0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDODI1NTU3M0RGMDBB
RUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxODFDNUNBMjU1NTgyRTMwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1hYmxl
RnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDUnRwVHJhbnNmb3Jt
YWJsZUZyYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUNDMjU1NTgz
NjgwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmg7
IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUNFMjU1NTg5NTUwMEFFQjBGRiAvKiBMaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwOyBwYXRoID0gbGlid2Vi
cnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTgxQzVDRjI1NTU4OTU2MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVEMzI1NTVD
MUIxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1RDUyNTU1QzFCOTAwQUVCMEZGIC8qIE1vY2tSVENSdHBU
cmFuc2Zvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9ja1JUQ1J0cFRy
YW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzYzNjI1NUFFMjYx
MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTW9ja1JUQ1J0cFRyYW5z
Zm9ybS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODIwNTQ1MUU1M0M4Q0Qw
MEQ2MjIwNyAvKiBSVENDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJUQ0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4MjA1
NDgxRTUzRUFBRDAwRDYyMjA3IC8qIFJUQ0NvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUlRDQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxODI2QkYxMjNGQjU5NzAwMEI5MjJCMSAvKiBEb2N1bWVudElkZW50aWZp
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRG9jdW1lbnRJZGVudGlmaWVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzA0NiwxMiArMTcwNzYsMTYgQEAK
IAkJCQk1RTJDNDM1NjFCQ0VFMzBEMDAwMUUyQkMgLyogUlRDUnRwUmVjZWl2ZXIuY3BwICovLAog
CQkJCTVFMkM0MzU3MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBSZWNlaXZlci5oICovLAogCQkJ
CTVFMkM0MzU4MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBSZWNlaXZlci5pZGwgKi8sCisJCQkJ
NDEzQzhCMjQyNTUyRUVBOTAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwg
Ki8sCisJCQkJNDEzQzhCMzAyNTUyRjI3QzAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRy
YW5zZm9ybS5oICovLAogCQkJCTQxRDFBMDQ4MjEzRURERUIwMDYzRkI2QiAvKiBSVENSdHBSZWNl
aXZlckJhY2tlbmQuaCAqLywKIAkJCQk0MUZDQjc2MDIxNDg2NzAwMDAzOEFEQzYgLyogUlRDUnRw
UnR4UGFyYW1ldGVycy5oICovLAogCQkJCTQxRkNCNzU4MjE0ODY1RDIwMDM4QURDNiAvKiBSVENS
dHBSdHhQYXJhbWV0ZXJzLmlkbCAqLywKIAkJCQk1RTJDNDM1OTFCQ0VFMzBEMDAwMUUyQkMgLyog
UlRDUnRwU2VuZGVyLmNwcCAqLywKIAkJCQk1RTJDNDM1QTFCQ0VFMzBEMDAwMUUyQkMgLyogUlRD
UnRwU2VuZGVyLmggKi8sCiAJCQkJNUUyQzQzNUIxQkNFRTMwRDAwMDFFMkJDIC8qIFJUQ1J0cFNl
bmRlci5pZGwgKi8sCisJCQkJNDEzQzhCMjYyNTUyRUVBOTAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRl
citUcmFuc2Zvcm0uaWRsICovLAorCQkJCTQxM0M4QjJFMjU1MkYyN0IwMEU2NTA1NSAvKiBSVENS
dHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggKi8sCiAJCQkJNDFEMUEwNDYyMTNFRERFQjAwNjNGQjZC
IC8qIFJUQ1J0cFNlbmRlckJhY2tlbmQuaCAqLywKIAkJCQk0MTRBRDNGQzIxNDk4NDIwMDA1MjE2
NzYgLyogUlRDUnRwU2VuZFBhcmFtZXRlcnMuaCAqLywKIAkJCQk0MTRBRDNGRTIxNDk4NDIwMDA1
MjE2NzYgLyogUlRDUnRwU2VuZFBhcmFtZXRlcnMuaWRsICovLApAQCAtMTcwNjIsNiArMTcwOTYs
MTEgQEAKIAkJCQk1RTVFMkIxMjFDRkMzRTRCMDAwQzBEODUgLyogUlRDUnRwVHJhbnNjZWl2ZXIu
aWRsICovLAogCQkJCTQxODZCRDQ2MjE0MDcyQjYwMDAxODI2RiAvKiBSVENSdHBUcmFuc2NlaXZl
ckJhY2tlbmQuaCAqLywKIAkJCQkzMTZEQ0IxNzFFNzhDMzMwMDAxQjVGODcgLyogUlRDUnRwVHJh
bnNjZWl2ZXJEaXJlY3Rpb24uaWRsICovLAorCQkJCTQxODFDNUM4MjU1NTczREYwMEFFQjBGRiAv
KiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCisJCQkJNDE4MUM1Q0EyNTU1ODJFMzAwQUVC
MEZGIC8qIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oICovLAorCQkJCTQxODFDNUM2MjU1NTcz
NTEwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm0uY3BwICovLAorCQkJCTQxM0M4QjJGMjU1MkYy
N0IwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCAqLywKKwkJCQk0MTNDOEIyOTI1NTJGMDEz
MDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmlkbCAqLywKIAkJCQk0MTBGNTY1ODI0RkNGODU0
MDBBMkU1MEMgLyogUlRDU2RwVHlwZS5pZGwgKi8sCiAJCQkJMDcyMjFCN0ExN0NFQzMyNzAwODQ4
RTUxIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgKi8sCiAJCQkJMDcyMjFCN0IxN0NFQzMy
NzAwODQ4RTUxIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5oICovLApAQCAtMTkxMjQsMTAgKzE5
MTYzLDE3IEBACiAJCQkJNDE3NjEyQUUxRTNBOTkzQjAwQzNEODFEIC8qIExpYldlYlJUQ1BlZXJD
b25uZWN0aW9uQmFja2VuZC5oICovLAogCQkJCTQxRDFBMDRBMjEzRURERkUwMDYzRkI2QiAvKiBM
aWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwICovLAogCQkJCTQxODZCRDNCMjEzRURFMzgw
MDAxODI2RiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaCAqLywKKwkJCQk0MTgxQzVD
MDI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5k
LmNwcCAqLywKKwkJCQk0MTgxQzVDMjI1NTNFQjZGMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVj
ZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDFEMUEwNEIyMTNFRERGRTAwNjNGQjZC
IC8qIExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwICovLAogCQkJCTQxODZCRDNEMjEzRURF
MzkwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmggKi8sCisJCQkJNDE4MUM1
QzEyNTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQu
Y3BwICovLAorCQkJCTQxODFDNUJFMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBTZW5k
ZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDE4NkJENEQyMTQwQjlFODAwMDE4MjZGIC8q
IExpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAgKi8sCiAJCQkJNDE4NkJENEIyMTQw
QTgwNTAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5oICovLAorCQkJ
CTQxODFDNUNFMjU1NTg5NTUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
LmNwcCAqLywKKwkJCQk0MTgxQzVDRjI1NTU4OTU2MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZC5oICovLAorCQkJCTQxODFDNUNDMjU1NTgzNjgwMEFFQjBGRiAvKiBMaWJX
ZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLywKIAkJCQk0MUQyOEQwQjIxMzlFMDFEMDBG
NDIwNkYgLyogTGliV2ViUlRDU3RhdHNDb2xsZWN0b3IuY3BwICovLAogCQkJCTQxRDI4RDBDMjEz
OUUwMUUwMEY0MjA2RiAvKiBMaWJXZWJSVENTdGF0c0NvbGxlY3Rvci5oICovLAogCQkJCTQxRDFB
MDQ5MjEzRURERkQwMDYzRkI2QiAvKiBMaWJXZWJSVENVdGlscy5jcHAgKi8sCkBAIC0xOTIwOCw2
ICsxOTI1NCw5IEBACiAJCQkJQTFDQkVGNjMxRjlGMTEyOTAwMjhERTdDIC8qIE1vY2tQYXltZW50
TWV0aG9kLmggKi8sCiAJCQkJQTE0MDYxODkxRTJFQ0EwQTAwMzJCMzRFIC8qIE1vY2tQcmV2aWV3
TG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlBMTQwNjE4QTFFMkVDQTBBMDAzMkIzNEUgLyogTW9j
a1ByZXZpZXdMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk0MTgxQzVEMzI1NTVDMUIxMDBBRUIwRkYg
LyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8sCisJCQkJNDE4MUM1RDUyNTU1QzFCOTAwQUVC
MEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaCAqLywKKwkJCQk0MTgxQzYzNjI1NUFFMjYxMDBB
RUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwgKi8sCiAJCQkJNTcxNTYxMDgyMzRDMUIz
MTAwOEZDN0FCIC8qIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaCAqLywKIAkJ
CQk1NzE1NjEwRDIzNEM3NDgxMDA4RkM3QUIgLyogTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmln
dXJhdGlvbi5pZGwgKi8sCiAJCQkJNDE3RjBEODAxRkZFRTE0RjAwOEVGMzAzIC8qIFNlcnZpY2VX
b3JrZXJJbnRlcm5hbHMuY3BwICovLApAQCAtMTkyNTQsNiArMTkzMDMsNyBAQAogCQkJCUExOUFF
QTFEMUFBQTgwNkUwMEI1MkIyNSAvKiBKU01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3BwICov
LAogCQkJCUExOUFFQTFFMUFBQTgwNkUwMEI1MkIyNSAvKiBKU01vY2tDb250ZW50RmlsdGVyU2V0
dGluZ3MuaCAqLywKIAkJCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDQgLyogSlNNb2NrUGFnZU92
ZXJsYXkuY3BwICovLAorCQkJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJFNCAvKiBKU01vY2tSVENS
dHBUcmFuc2Zvcm0uY3BwICovLAogCQkJCTJENkYzRTkzMUMxRjg1NTUwMDYxREJENCAvKiBKU01v
Y2tQYWdlT3ZlcmxheS5oICovLAogCQkJCUExNDZEMzIwMUY5OUNBM0UwMEQyOTE5NiAvKiBKU01v
Y2tQYXltZW50QWRkcmVzcy5jcHAgKi8sCiAJCQkJQTE0NkQzMUYxRjk5Q0EzRDAwRDI5MTk2IC8q
IEpTTW9ja1BheW1lbnRBZGRyZXNzLmggKi8sCkBAIC0zMTAzMCw2ICszMTA4MCw3IEBACiAJCQkJ
MzE0MEM1MjQxRkRGMzE4NzAwRDJBODczIC8qIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NDg0RkNFMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNT
dHlsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxOTNCQkYxRjVFMEVFRDAwODhGM0U2IC8qIENh
bnZhc1RleHRBbGlnbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzQzhCMzMyNTUyRjI3RDAwRTY1
MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJCTdD
MTkzQkMwMUY1RTBFRUQwMDg4RjNFNiAvKiBDYW52YXNUZXh0QmFzZWxpbmUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTA3OUQwODY4MTYyRjIwRTgwMERCODY1OCAvKiBDYXB0aW9uVXNlclByZWZlcmVu
Y2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzlEMDg2QjE2MkYyMUY5MDBEQjg2NTggLyogQ2Fw
dGlvblVzZXJQcmVmZXJlbmNlc01lZGlhQUYuaCBpbiBIZWFkZXJzICovLApAQCAtMzEyMzYsNiAr
MzEyODcsNyBAQAogCQkJCTU3OTU3Q0IyMUU5NzI2NDUwMDgwNzJBQiAvKiBDcnlwdG9BbGdvcml0
aG1Ia2RmUGFyYW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI1RjgzMjE4MjJGMTFCMDBEODRD
RDkgLyogQ3J5cHRvQWxnb3JpdGhtSE1BQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTc3NDgzMTkx
REI0NDkxRjAwNzE2RUY5IC8qIENyeXB0b0FsZ29yaXRobUhtYWNLZXlQYXJhbXMuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQxODFDNUNEMjU1NTgzNjkwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFu
c2Zvcm1hYmxlRnJhbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzY1NzI1MTgxNkU2OUQwMDI1
NkNERCAvKiBDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
NzM0ODkzOTFEQUM2QjZFMDBEQzA2NjcgLyogQ3J5cHRvQWxnb3JpdGhtUGFyYW1ldGVycy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTc3NzdFMzkxRTcxMjE3RDAwRUUxQThEIC8qIENyeXB0b0FsZ29y
aXRobVBCS0RGMi5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjQ4NSw2ICszMjUzNyw3IEBACiAJCQkJ
ODM2QUNFRDYxRUNBQUIxOTAwNEJEMDEyIC8qIEpTRE9NTWF0cml4UmVhZE9ubHkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE5RDI0ODA3MEQ3NTdFN0QwMEZERjk1OSAvKiBKU0RPTU1pbWVUeXBlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBOUQyNDgwOTBENzU3RTdEMDBGREY5NTkgLyogSlNET01NaW1l
VHlwZUFycmF5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTNDOEIzNTI1NTJGMjdEMDBFNjUwNTUg
LyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzgx
MzlBNzFFRDYyODc0MDBDRTI2RTggLyogSlNET01PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCTdDODEzOUE4MUVENjI4NzQwMENFMjZFOCAvKiBKU0RPTU9wZXJhdGlvblJldHVybmluZ1By
b21pc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQ0U1M0UwMEE4RDE4ODEwMDIyOTQ3RCAvKiBK
U0RPTVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjkwOSw2ICszMjk2Miw3IEBACiAJCQkJ
NDQ5NkUzOUUxMzk4MTM2QzAwM0VFMzJBIC8qIEpTU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUIyRkEzRDU1MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1h
dGVUcmFuc2Zvcm1FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q1NzBBQjc1QTZG
MDAwRTVBQzQgLyogSlNTVkdBbmltYXRpb25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTgxQzVENjI1NTVDMUI5MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJGQTNENTkwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQ2lyY2xlRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNENUIwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZH
Q2xpcFBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q1RjBBQjc1QTZGMDAw
RTVBQzQgLyogSlNTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0zMzE4NSw2ICszMzIzOSw3IEBACiAJCQkJMTQxREMwNTMxNjQ4MzRCOTAwMzcx
RTVBIC8qIExheW91dFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMjUzOEQ0MTNGOUI2MEEw
MDAyNDc1NCAvKiBMYXlvdXRSZXBhaW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTExMzEwQ0Yz
MjBCQTRBMzcwMDY1QThEMCAvKiBMYXlvdXRSZXBsYWNlZEJveC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDE4MUM1QzkyNTU1NzNERjAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBp
biBIZWFkZXJzICovLAogCQkJCTE0MURDMDU0MTY0ODM0QjkwMDM3MUU1QSAvKiBMYXlvdXRTaXpl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RjdDQTNDNjIwOEMyOTU3MDAyRjI5QUIgLyogTGF5b3V0
U3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTExMzEwQ0YyMjBCQTRBMzIwMDY1QThEMCAvKiBM
YXlvdXRUcmVlQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzQ4OSw2ICszMzU0NCw3IEBA
CiAJCQkJMUE1NjlEMEIwRDdFMkI4MjAwN0MzOTgzIC8qIE5QX2pzb2JqZWN0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTkyN0ZEMjE0MTZBMTVCMDAzQTgzQzggLyogbnBhcGkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBMjE5QjNCMERDQTg3QUIwMDQwRTNBMCAvKiBucGZ1bmN0aW9ucy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDE4MUM1Q0IyNTU1ODJFNDAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE5MjdGRDMxNDE2QTE1QjAwM0E4M0M4
IC8qIG5wcnVudGltZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1NjlEMEYwRDdFMkI4MjAwN0Mz
OTgzIC8qIG5wcnVudGltZV9pbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTU2OUQxMDBEN0Uy
QjgyMDA3QzM5ODMgLyogbnBydW50aW1lX2ludGVybmFsLmggaW4gSGVhZGVycyAqLywKQEAgLTM0
MjgxLDYgKzM0MzM3LDcgQEAKIAkJCQk5MzMwOUUxNjA5OUU2NDkyMDA1NkU1ODEgLyogU3BsaXRU
ZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50Q29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3
MzBEOTMxMjQ4RjBCMzAwRDNBOUM5IC8qIFNwb3RMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJN0M4M0RFODYxRDA0Q0M1RDAwRkVCQ0YzIC8qIFNwcmluZ1NvbHZlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDEzQzhCMzQyNTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCQzZBM0IxNTA1RjA4MTAwMUI3NEFDIC8qIFNRTENhbGxi
YWNrV3JhcHBlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCQzZBM0MxNTA1RjA4MTAwMUI3NEFD
IC8qIFNRTEVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTIyNDY0QTBDQzk4RERCMDBDMDUy
NDAgLyogU1FMaXRlRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMzQ0OTcsNiArMzQ1NTQs
NyBAQAogCQkJCUIyMjI3QTRCMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdNZXRhZGF0YUVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyQTFGMkIxMENFRjBBQkYwMDQ0MkY2QSAvKiBTVkdNaXNz
aW5nR2x5cGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E0RTBEMDBCRjIyMDA3
MUI3ODIgLyogU1ZHTVBhdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVEMTI1
NTU4OTU2MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJN0NFNThENTAxREQ2OUExRTAwMTI4NTUyIC8qIFNWR051bWJlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjIyMjdBNTEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR051bWJlckxpc3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTU3MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQYXJz
ZXJVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMzU0OTcsMTAgKzM1NTU1LDEyIEBACiAJ
CQkJQTFCQjg1QjgyMTU5QjNBNDAwNjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1NzE1NjExNDIzNEM3RkQ2MDA4RkM3QUIgLyogSlNNb2NrV2ViQXV0
aGVudGljYXRpb25Db25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQyN0RBNzFE
MTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNDE4MUM2MzkyNTVBRTkwRjAwQUVCMEZGIC8qIEpTTW9ja1JUQ1J0cFRyYW5z
Zm9ybS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFQkY1MTIxQzE2OTY0OTZDMDA1NkJEMjUgLyog
SlNUeXBlQ29udmVyc2lvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RDMjZCNDAxNjBBOEND
NjAwMjY3NTdCIC8qIExlZ2FjeU1vY2tDRE0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFFMDg2
NjMyNDg5RDM0RTAwRTQ5NkQ5IC8qIE1vY2tBcHBsZVBheVNldHVwRmVhdHVyZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDREY0QjczMTFFMDNEMDA3MDBFMjM1QTIgLyogTW9ja0NETUZhY3Rvcnku
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDE4MUM1RDcyNTU1QzQ5QTAwQUVCMEZGIC8qIE1vY2tS
VENSdHBUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFCRjZCODIxQUE5NkM3RDAw
QUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExQjVC
MjlFMUFBQTg0NkUwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxMDU4QURCMUQ2NzkyQzEwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaAppbmRleCBlZTI0YTQ5YTI1YTJkMzdkNjFlMWRjMGZlNDc3N2IwMDNm
OTJkMjM3Li41YWU3MzRkOTA5MGMwZDBmNzU0NGQxNGY2Y2JiZDMxMzEzNGYxMmI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0x
NzQsNiArMTc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKE1lZGlhU3RyZWFt
KSBcCiAgICAgbWFjcm8oTWVkaWFTdHJlYW1UcmFjaykgXAogICAgIG1hY3JvKE1lcmNoYW50VmFs
aWRhdGlvbkV2ZW50KSBcCisgICAgbWFjcm8oTW9ja1JUQ1J0cFRyYW5zZm9ybSkgXAogICAgIG1h
Y3JvKE1vZGVybk1lZGlhQ29udHJvbHMpIFwKICAgICBtYWNybyhOYXZpZ2F0b3JDcmVkZW50aWFs
cykgXAogICAgIG1hY3JvKE5hdmlnYXRvck1lZGlhRGV2aWNlcykgXApAQCAtMjIwLDYgKzIyMSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhSVENSdHBSZWNlaXZlcikgXAogICAg
IG1hY3JvKFJUQ1J0cFNlbmRlcikgXAogICAgIG1hY3JvKFJUQ1J0cFRyYW5zY2VpdmVyKSBcCisg
ICAgbWFjcm8oUlRDUnRwVHJhbnNmb3JtKSBcCiAgICAgbWFjcm8oUlRDU2Vzc2lvbkRlc2NyaXB0
aW9uKSBcCiAgICAgbWFjcm8oUlRDU3RhdHNSZXBvcnQpIFwKICAgICBtYWNybyhSVENUcmFja0V2
ZW50KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtCmluZGV4IDM0YWZhNzc2YmQ1MjM3MzAwOThlYzIxYzIzZTc0MTAwYTgwYzQyNWQu
LjI3Yzc5N2QzNDBkYjQ2YjdlMzFiYTZkYmViMjkxY2M0MzkyNTgwMWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0zMjIy
LDkgKzMyMjIsOSBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICBpZiAoU2hvdWxkR2VuZXJhdGVX
cmFwcGVyT3duZXJDb2RlKCRoYXNQYXJlbnQsICRpbnRlcmZhY2UpKSB7CiAgICAgICAgIGlmICgk
aW50ZXJmYWNlTmFtZSBuZSAiTm9kZSIgJiYgJGNvZGVHZW5lcmF0b3ItPkluaGVyaXRzSW50ZXJm
YWNlKCRpbnRlcmZhY2UsICJOb2RlIikpIHsKICAgICAgICAgICAgICRoZWFkZXJJbmNsdWRlc3si
SlNOb2RlLmgifSA9IDE7Ci0gICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiY2xhc3Mg
SlMke2ludGVyZmFjZU5hbWV9T3duZXIgOiBwdWJsaWMgSlNOb2RlT3duZXIge1xuIik7CisgICAg
ICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiY2xhc3MgJHtleHBvcnRNYWNyb31KUyR7aW50
ZXJmYWNlTmFtZX1Pd25lciA6IHB1YmxpYyBKU05vZGVPd25lciB7XG4iKTsKICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyBKUyR7aW50ZXJm
YWNlTmFtZX1Pd25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7XG4iKTsKKyAgICAg
ICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyAke2V4cG9ydE1hY3JvfUpTJHtpbnRl
cmZhY2VOYW1lfU93bmVyIDogcHVibGljIEpTQzo6V2Vha0hhbmRsZU93bmVyIHtcbiIpOwogICAg
ICAgICB9CiAgICAgICAgICRoZWFkZXJJbmNsdWRlc3siPHd0Zi9OZXZlckRlc3Ryb3llZC5oPiJ9
ID0gMTsKICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgInB1YmxpYzpcbiIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVy
ZmFjZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdElu
dGVyZmFjZS5oCmluZGV4IGZiZjZmMzhkNmI2MWU4ZDVlYTNiN2UxYWY5NjkyZGUxY2QwMGU3ZDcu
LjZiYTQzMzRkM2IxMjViYjA0MDZmOTEyYjQ5MTJhMDgzODAwNmU3MzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJm
YWNlLmgKQEAgLTg5LDcgKzg5LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgZmluaXNoQ3JlYXRp
b24oSlNDOjpWTSYpOwogfTsKIAotY2xhc3MgSlNUZXN0SW50ZXJmYWNlT3duZXIgOiBwdWJsaWMg
SlNDOjpXZWFrSGFuZGxlT3duZXIgeworY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNUZXN0SW50ZXJm
YWNlT3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIgewogcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBpc1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVu
a25vd24+LCB2b2lkKiBjb250ZXh0LCBKU0M6OlNsb3RWaXNpdG9yJiwgY29uc3QgY2hhcioqKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZmluYWxpemUoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiwgdm9p
ZCogY29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggODUzYjY5
N2Y3YTMwY2IwMTg4MTY4ZDBmNTFjNzBiNTg1ZGM2ZDQ1Ny4uMTYxYTI4ZjQxM2YwZWUxMmNhMGZj
MjNiNTA3YmQ0NDE2OTI5YjEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApA
QCAtMTM4LDYgKzEzOCw3IEBACiAjaW5jbHVkZSAiTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9u
LmgiCiAjaW5jbHVkZSAiTW9ja1BhZ2VPdmVybGF5LmgiCiAjaW5jbHVkZSAiTW9ja1BhZ2VPdmVy
bGF5Q2xpZW50LmgiCisjaW5jbHVkZSAiTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIgogI2luY2x1ZGUg
Ik5hdmlnYXRvckJlYWNvbi5oIgogI2luY2x1ZGUgIk5hdmlnYXRvck1lZGlhRGV2aWNlcy5oIgog
I2luY2x1ZGUgIk5ldHdvcmtMb2FkSW5mb3JtYXRpb24uaCIKQEAgLTE1NzksNiArMTU4MCwxMSBA
QCB2b2lkIEludGVybmFsczo6c2V0V2ViUlRDVlA5VlRCU3VwcG9ydChib29sIHZhbHVlKQogI2Vu
ZGlmCiB9CiAKK1JlZjxNb2NrUlRDUnRwVHJhbnNmb3JtPiBJbnRlcm5hbHM6OmNyZWF0ZU1vY2tS
VENSdHBUcmFuc2Zvcm0oKQoreworICAgIHJldHVybiBNb2NrUlRDUnRwVHJhbnNmb3JtOjpjcmVh
dGUoKTsKK30KKwogdm9pZCBJbnRlcm5hbHM6OnNldEVuYWJsZVdlYlJUQ0VuY3J5cHRpb24oYm9v
bCB2YWx1ZSkKIHsKICNpZiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKaW5kZXggYmI3ZDU1ZTIwZmRlYjVhMWQ1OGIwOTljZjk3YWJlZTU5NTg0NGExOC4uMjQ4NWUx
M2Q2ZDQ5NTYzNzllNjg2NjUwOGIwMTZlYjE0MjRmZTY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNp
bmNsdWRlICJIRVZDVXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRl
ICJNb2NrUlRDUnRwVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiT3JpZW50YXRpb25Ob3RpZmllci5o
IgogI2luY2x1ZGUgIlBhZ2VDb25zb2xlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRp
YVNvdXJjZS5oIgpAQCAtNjA2LDYgKzYwNyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdlYlJU
Q0gyNjVTdXBwb3J0KGJvb2wpOwogICAgIHZvaWQgc2V0V2ViUlRDVlA5U3VwcG9ydChib29sKTsK
ICAgICB2b2lkIHNldFdlYlJUQ1ZQOVZUQlN1cHBvcnQoYm9vbCk7CisgICAgUmVmPE1vY2tSVENS
dHBUcmFuc2Zvcm0+IGNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKICAgICB2b2lkIHNldEVu
YWJsZVdlYlJUQ0VuY3J5cHRpb24oYm9vbCk7CiAgICAgdm9pZCBzZXRVc2VEVExTMTAoYm9vbCk7
CiAgICAgdm9pZCBzZXRVc2VHUFVQcm9jZXNzRm9yV2ViUlRDKGJvb2wpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGJkYjllZTJjYjZjYTIxNWE4ZThkY2MyZDAwYTJmZTVk
MDg1YmQ2NzAuLmIwMTU0YjI5ODU4MGJmYWQzMzNhMTE0YWYzODRkMWRhOTA5ZTE2ODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTgwMiw2ICs4MDIsNyBAQCBlbnVtIFRy
ZWVUeXBlIHsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFdlYlJUQ0gy
NjVTdXBwb3J0KGJvb2xlYW4gYWxsb3dlZCk7CiAgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVu
ZGVmaW5lZCBzZXRXZWJSVENWUDlTdXBwb3J0KGJvb2xlYW4gYWxsb3dlZCk7CiAgICAgW0NvbmRp
dGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRXZWJSVENWUDlWVEJTdXBwb3J0KGJvb2xlYW4g
YWxsb3dlZCk7CisgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIE1vY2tSVENSdHBUcmFuc2Zvcm0g
Y3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOwogCiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NU
UkVBTV0gdW5kZWZpbmVkIHNldE1vY2tBdWRpb1RyYWNrQ2hhbm5lbE51bWJlcihNZWRpYVN0cmVh
bVRyYWNrIHRyYWNrLCB1bnNpZ25lZCBzaG9ydCBjb3VudCk7CiAgICAgW0NvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTV0gdW5kZWZpbmVkIHNldFNob3VsZEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJp
bGl0eUNoYW5nZShib29sZWFuIHNob3VsZEludGVycnVwdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNWQwODI3NThkOTFi
ODhkODgyZTM0MTNiNTIyMjQ1MmZjYzRkZGYyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmNwcApAQCAtMCwwICsxLDExNSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJNb2NrUlRDUnRwVHJhbnNmb3JtLmgiCisKKyNpZiBFTkFCTEUo
V0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1vY2tSVENSdHBUcmFuc2Zvcm1lciA6IHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxNb2NrUlRDUnRwVHJhbnNmb3JtZXIsIFdURjo6RGVzdHJ1Y3Rp
b25UaHJlYWQ6Ok1haW4+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1vY2tSVENSdHBUcmFu
c2Zvcm1lcj4gY3JlYXRlKFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiYmIGJhY2tlbmQpCisg
ICAgeworICAgICAgICBhdXRvIHRyYW5zZm9ybWVyID0gYWRvcHRSZWYoKm5ldyBNb2NrUlRDUnRw
VHJhbnNmb3JtZXIoV1RGTW92ZShiYWNrZW5kKSkpOworICAgICAgICB0cmFuc2Zvcm1lci0+bV9i
YWNrZW5kLT5zZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayhbdHJhbnNmb3JtZXJdKGF1dG8m
JiBmcmFtZSkgeworICAgICAgICAgICAgdHJhbnNmb3JtZXItPnRyYW5zZm9ybShXVEZNb3ZlKGZy
YW1lKSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gdHJhbnNmb3JtZXI7CisgICAgfQor
CisgICAgdm9pZCBjbGVhcigpCisgICAgeworICAgICAgICBtX2JhY2tlbmQtPmNsZWFyVHJhbnNm
b3JtYWJsZUZyYW1lQ2FsbGJhY2soKTsKKyAgICAgICAgbV9iYWNrZW5kID0gbnVsbHB0cjsKKyAg
ICB9CisKKyAgICB2b2lkIHRyYW5zZm9ybShSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJiBmcmFt
ZSkKKyAgICB7CisgICAgICAgIG1faXNQcm9jZXNzaW5nID0gdHJ1ZTsKKworICAgICAgICBhdXRv
IGRhdGEgPSBmcmFtZS5kYXRhKCk7CisgICAgICAgIFZlY3Rvcjx1aW50OF90PiB0cmFuc2Zvcm1l
ZERhdGE7CisgICAgICAgIHNpemVfdCBzdGFydCA9IG1faXNBdWRpbyA/IDAgOiAxMDA7CisgICAg
ICAgIGZvciAoc2l6ZV90IGNwdHIgPSAwOyBjcHRyIDwgc3RhcnQ7ICsrY3B0cikKKyAgICAgICAg
ICAgIHRyYW5zZm9ybWVkRGF0YS5hcHBlbmQoZGF0YS5kYXRhW2NwdHJdKTsKKyAgICAgICAgZm9y
IChzaXplX3QgY3B0ciA9IHN0YXJ0OyBjcHRyIDwgZGF0YS5zaXplOyArK2NwdHIpCisgICAgICAg
ICAgICB0cmFuc2Zvcm1lZERhdGEuYXBwZW5kKDI1NiAtIGRhdGEuZGF0YVtjcHRyXSk7CisgICAg
ICAgIGZyYW1lLnNldERhdGEoeyB0cmFuc2Zvcm1lZERhdGEuZGF0YSgpLCBkYXRhLnNpemUgfSk7
CisKKyAgICAgICAgbV9iYWNrZW5kLT5wcm9jZXNzVHJhbnNmb3JtZWRGcmFtZShXVEZNb3ZlKGZy
YW1lKSk7CisgICAgfQorCisgICAgYm9vbCBpc1Byb2Nlc3NpbmcoKSBjb25zdCB7IHJldHVybiBt
X2lzUHJvY2Vzc2luZzsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IE1vY2tSVENSdHBUcmFu
c2Zvcm1lcihSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4mJiBiYWNrZW5kKQorICAgICAgICA6
IG1fYmFja2VuZChXVEZNb3ZlKGJhY2tlbmQpKQorICAgICAgICAsIG1faXNTZW5kZXIobV9iYWNr
ZW5kLT5zaWRlKCkgPT0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6U2lkZTo6U2VuZGVyKQorICAg
ICAgICAsIG1faXNBdWRpbyhtX2JhY2tlbmQtPm1lZGlhVHlwZSgpID09IFJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6Ok1lZGlhVHlwZTo6QXVkaW8pCisgICAgeworICAgIH0KKworICAgIFJlZlB0cjxS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBtX2JhY2tlbmQ7CisgICAgYm9vbCBtX2lzU2VuZGVyOwor
ICAgIGJvb2wgbV9pc0F1ZGlvOworICAgIGJvb2wgbV9pc1Byb2Nlc3NpbmcgeyBmYWxzZSB9Owor
fTsKKworTW9ja1JUQ1J0cFRyYW5zZm9ybTo6TW9ja1JUQ1J0cFRyYW5zZm9ybSgpCit7Cit9CisK
K01vY2tSVENSdHBUcmFuc2Zvcm06On5Nb2NrUlRDUnRwVHJhbnNmb3JtKCkKK3sKK30KKworYm9v
bCBNb2NrUlRDUnRwVHJhbnNmb3JtOjppc1Byb2Nlc3NpbmcoKSBjb25zdAoreworICAgIHJldHVy
biBtX3RyYW5zZm9ybWVyID8gbV90cmFuc2Zvcm1lci0+aXNQcm9jZXNzaW5nKCkgOiBmYWxzZTsK
K30KKwordm9pZCBNb2NrUlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclJlY2Vp
dmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmIGJhY2tlbmQpCit7CisgICAgbV90cmFuc2Zvcm1l
ciA9IE1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6Y3JlYXRlKGJhY2tlbmQpOworfQorCit2b2lkIE1v
Y2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKFJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQmIGJhY2tlbmQpCit7CisgICAgbV90cmFuc2Zvcm1lciA9IE1vY2tSVENSdHBU
cmFuc2Zvcm1lcjo6Y3JlYXRlKGJhY2tlbmQpOworfQorCit2b2lkIE1vY2tSVENSdHBUcmFuc2Zv
cm06OndpbGxDbGVhckJhY2tlbmQoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpCit7CisgICAgbV90
cmFuc2Zvcm1lci0+Y2xlYXIoKTsKKyAgICBtX3RyYW5zZm9ybWVyID0gbnVsbHB0cjsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRk
OTk0ZGZmNzE3NDMyMzUzNTFmOGYwYTMzOTZmYzU5YTFjYWQyOTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaApAQCAtMCwwICsx
LDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFRyYW5z
Zm9ybS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1vY2tSVENSdHBUcmFuc2Zv
cm1lcjsKKworY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybSBmaW5hbCA6IHB1YmxpYyBSVENSdHBU
cmFuc2Zvcm0geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TW9ja1JUQ1J0cFRyYW5zZm9ybT4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNb2NrUlRDUnRwVHJhbnNmb3JtKCkpOyB9
CisgICAgfk1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKKworICAgIGJvb2wgaXNQcm9jZXNzaW5nKCkg
Y29uc3Q7CisKK3ByaXZhdGU6CisgICAgTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgdm9p
ZCBpbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKSBm
aW5hbDsKKyAgICB2b2lkIGluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKFJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQmKSBmaW5hbDsKKyAgICB2b2lkIHdpbGxDbGVhckJhY2tlbmQoUlRDUnRwVHJhbnNm
b3JtQmFja2VuZCYpIGZpbmFsOworCisgICAgUmVmUHRyPE1vY2tSVENSdHBUcmFuc2Zvcm1lcj4g
bV90cmFuc2Zvcm1lcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
UlRDUnRwVHJhbnNmb3JtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRy
YW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDllYjBjM2NhMTVjNWYxOTdmMzZjZmI0NzQ5YzExODA2
ZThhYzc3NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JU
Q1J0cFRyYW5zZm9ybS5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfUlRDLAorICAg
IEpTR2VuZXJhdGVUb0pTT2JqZWN0LAorICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LAorXSBp
bnRlcmZhY2UgTW9ja1JUQ1J0cFRyYW5zZm9ybSA6IFJUQ1J0cFRyYW5zZm9ybSB7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNQcm9jZXNzaW5nOworfTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZjA1NTVm
Y2VkNmZkYTQ5NDkyYTdiMmYxMzViYzU2ZDllYmE2MWViLi5hNTNjNjJmN2NkZDI1OGFiZGI5YTAz
OTEzNzc1MWVlYjY0ODg4ZWVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTEtMTEgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVj
dHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIHdlYnJ0Yy10cmFuc2Zvcm0KKworICAgICAgICAqIHdlYnJ0Yy93
ZWJydGMtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2VicnRjL3dl
YnJ0Yy10cmFuc2Zvcm0uaHRtbDogQWRkZWQuCisKIDIwMjAtMTEtMTAgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBXZWJSVEMgbGl3ZWJydGMgdG8g
TTg3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZmE4ZjUxYjNjODAwYzVkN2FjNDkzZDcwMzMwMGFjZDY4Mjc4ZjlmOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworCitQQVNTIGF1ZGlvIGV4Y2hhbmdlIHdpdGgg
dHJhbnNmb3JtCitQQVNTIHZpZGVvIGV4Y2hhbmdlIHdpdGggdHJhbnNmb3JtCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0
cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5YzVhNmRmYTU3N2Jh
M2JhOTBlZWFlNTIwYzYzMjUxNTRlMWFmNTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sCkBAIC0wLDAgKzEsODYgQEAKKzwhZG9jdHlw
ZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKyAgICAgICAgPHRpdGxlPlRlc3RpbmcgbWVkaWEgZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm08
L3RpdGxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8
dmlkZW8gaWQ9InZpZGVvMSIgYXV0b3BsYXk+PC92aWRlbz4KKyAgICAgICAgPHZpZGVvIGlkPSJ2
aWRlbzIiIGF1dG9wbGF5PjwvdmlkZW8+CisgICAgICAgIDxzY3JpcHQgc3JjID0icm91dGluZXMu
anMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0
KSA9PiB7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICByZXR1cm47CisKKyAg
ICBsZXQgc2VuZGVyLCByZWNlaXZlcjsKKyAgICBsZXQgc2VuZGVyVHJhbnNmb3JtID0gaW50ZXJu
YWxzLmNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKKyAgICBsZXQgcmVjZWl2ZXJUcmFuc2Zv
cm0gPSBpbnRlcm5hbHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgY29uc3Qg
bG9jYWxTdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7
YXVkaW86IHRydWV9KTsKKyAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVz
b2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGNyZWF0ZUNvbm5lY3Rpb25zKChmaXJzdENvbm5l
Y3Rpb24pID0+IHsKKyAgICAgICAgICAgIHBjMSA9IGZpcnN0Q29ubmVjdGlvbjsKKyAgICAgICAg
ICAgIHNlbmRlciA9IGZpcnN0Q29ubmVjdGlvbi5hZGRUcmFjayhsb2NhbFN0cmVhbS5nZXRBdWRp
b1RyYWNrcygpWzBdLCBsb2NhbFN0cmVhbSk7CisgICAgICAgICAgICBzZW5kZXIudHJhbnNmb3Jt
ID0gc2VuZGVyVHJhbnNmb3JtOworICAgICAgICB9LCAoc2Vjb25kQ29ubmVjdGlvbikgPT4gewor
ICAgICAgICAgICAgcGMyID0gc2Vjb25kQ29ubmVjdGlvbjsKKyAgICAgICAgICAgIHNlY29uZENv
bm5lY3Rpb24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgcmVj
ZWl2ZXIgPSB0cmFja0V2ZW50LnJlY2VpdmVyOworICAgICAgICAgICAgICAgIHJlY2VpdmVyLnRy
YW5zZm9ybSA9IHJlY2VpdmVyVHJhbnNmb3JtOworICAgICAgICAgICAgICAgIHJlc29sdmUodHJh
Y2tFdmVudC5zdHJlYW1zWzBdKTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH0pOworICAgICAg
ICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiVGVzdCB0aW1lZCBvdXQiKSwgNTAwMCk7CisgICAg
fSk7CisKKyAgICB2aWRlbzEuc3JjT2JqZWN0ID0gc3RyZWFtOworICAgIGF3YWl0IHZpZGVvMS5w
bGF5KCk7CisKKyAgICBsZXQgY291bnRlciA9IDA7CisgICAgd2hpbGUgKCFyZWNlaXZlclRyYW5z
Zm9ybS5pc1Byb2Nlc3NpbmcgJiYgY291bnRlcisrIDwgMTAwKQorICAgICAgICBhd2FpdCBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKTsKKworICAgIGFzc2Vy
dF90cnVlKHNlbmRlclRyYW5zZm9ybS5pc1Byb2Nlc3NpbmcsICJzZW5kZXIiKTsKK30sICJhdWRp
byBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybSIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3Qp
ID0+IHsKKyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIHJldHVybjsKKworICAg
IGxldCBzZW5kZXIsIHJlY2VpdmVyOworICAgIGxldCBzZW5kZXJUcmFuc2Zvcm0gPSBpbnRlcm5h
bHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworICAgIGxldCByZWNlaXZlclRyYW5zZm9y
bSA9IGludGVybmFscy5jcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICBjb25zdCBs
b2NhbFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2
aWRlbzogdHJ1ZX0pOworCisgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmV3IFByb21pc2UoKHJl
c29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBjcmVhdGVDb25uZWN0aW9ucygoZmlyc3RDb25u
ZWN0aW9uKSA9PiB7CisgICAgICAgICAgICBwYzEgPSBmaXJzdENvbm5lY3Rpb247CisgICAgICAg
ICAgICBzZW5kZXIgPSBmaXJzdENvbm5lY3Rpb24uYWRkVHJhY2sobG9jYWxTdHJlYW0uZ2V0Vmlk
ZW9UcmFja3MoKVswXSwgbG9jYWxTdHJlYW0pOworICAgICAgICAgICAgc2VuZGVyLnRyYW5zZm9y
bSA9IHNlbmRlclRyYW5zZm9ybTsKKyAgICAgICAgfSwgKHNlY29uZENvbm5lY3Rpb24pID0+IHsK
KyAgICAgICAgICAgIHBjMiA9IHNlY29uZENvbm5lY3Rpb247CisgICAgICAgICAgICBzZWNvbmRD
b25uZWN0aW9uLm9udHJhY2sgPSAodHJhY2tFdmVudCkgPT4geworICAgICAgICAgICAgICAgIHJl
Y2VpdmVyID0gdHJhY2tFdmVudC5yZWNlaXZlcjsKKyAgICAgICAgICAgICAgICByZWNlaXZlci50
cmFuc2Zvcm0gPSByZWNlaXZlclRyYW5zZm9ybTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKHRy
YWNrRXZlbnQuc3RyZWFtc1swXSk7CisgICAgICAgICAgICB9OworICAgICAgICB9KTsKKyAgICAg
ICAgc2V0VGltZW91dCgoKSA9PiByZWplY3QoIlRlc3QgdGltZWQgb3V0IiksIDUwMDApOworICAg
IH0pOworCisgICAgdmlkZW8yLnNyY09iamVjdCA9IHN0cmVhbTsKKyAgICBhd2FpdCB2aWRlbzIu
cGxheSgpOworCisgICBsZXQgY291bnRlciA9IDA7CisgICB3aGlsZSAoIXJlY2VpdmVyVHJhbnNm
b3JtLmlzUHJvY2Vzc2luZyAmJiBjb3VudGVyKysgPCAxMDApCisgICAgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDUwKSk7CisKKyAgICBhc3NlcnRf
dHJ1ZShzZW5kZXJUcmFuc2Zvcm0uaXNQcm9jZXNzaW5nLCAic2VuZGVyIik7Cit9LCAidmlkZW8g
ZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm0iKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5
PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="430453"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413793</attachid>
            <date>2020-11-11 00:33:38 -0800</date>
            <delta_ts>2020-11-12 11:41:24 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-218750-20201111093335.patch</filename>
            <type>text/plain</type>
            <size>116552</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhZjg2M2M5ZWM1ZDA1YzIwODE0YmQwNWJmNmE5YzE0MWFhNWQ1MDliLi43Nzli
ZmMyMTMxMTkwMTRiMjRiZWRkOTk5YmRmM2VlMTliNzZlMmE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0xMS0xMSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZv
ciBXZWJSVEMgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgd2VicnRjLXRyYW5zZm9ybQorCisgICAgICAgICogU291cmNlL3dlYnJ0Yy9z
ZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW06CisgICAgICAgICh3ZWJydGM6OmVuY29kZXJWaWRl
b1Rhc2tDb21wbGV0ZSk6CisKIDIwMjAtMTEtMTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPiBhbmQgVmljdG9yIE0gSmFxdWV6IDx2amFxdWV6QGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVXBkYXRlIFdlYlJUQyBsaXdlYnJ0YyB0byBNODcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggZjM4OTc1YzViMzY1MWZhZTVj
ZThhMDhjMmNlZGMzMmM2ZTZjZjFjMi4uMjU2ZWNlZDNmMzZkMDQwNGRjNDAyODQ3ODE3YjQ5NTkx
MDM5YzdjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0xMS0xMSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZvciBXZWJS
VEMgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE4NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgd2VicnRjLXRyYW5zZm9ybQorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIwLTExLTEwICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgUGFyc2UgYXNwZWN0LXJhdGlvIENTUyBwcm9w
ZXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDYzOTNiMTg3Njg4M2I4ZTc4ZDZiNzdhNDQ0MTMyOWJmYTA1Yjkz
N2EuLjJhZjI0M2E1NGY2ZTllNDRlYmE2MTkyYWQ3MjZlMzlmMTUyZWMwMWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMDggQEAKKzIwMjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9y
bXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdlYnJ0
Yy10cmFuc2Zvcm0KKworICAgICAgICBUZXN0OiB3ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1s
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1p
bnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJUQ1J0cFJlY2VpdmVyOjp+UlRDUnRwUmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UlRDUnRwUmVjZWl2ZXI6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXI6
OnNldFRyYW5zZm9ybSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNl
aXZlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNr
ZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcldpdGhU
cmFuc2Zvcm0uaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNlaXZlcldpdGhU
cmFuc2Zvcm06OnRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNlaXZlcldp
dGhUcmFuc2Zvcm06OnNldFRyYW5zZm9ybSk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwU2Vu
ZGVyOjp+UlRDUnRwU2VuZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcjo6c3Rv
cCk6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXI6OnNldFRyYW5zZm9ybSk6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaDoKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaDogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtOjp0cmFuc2Zvcm0pOgorICAgICAg
ICAoV2ViQ29yZTo6UlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybTo6c2V0VHJhbnNmb3JtKToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6UlRDUnRwVHJhbnNmb3JtOjp+UlRDUnRwVHJhbnNmb3JtKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNoVG9SZWNlaXZlcik6CisgICAg
ICAgIChXZWJDb3JlOjpSVENSdHBUcmFuc2Zvcm06OmF0dGFjaFRvU2VuZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlJUQ1J0cFRyYW5zZm9ybTo6ZGV0YWNoRnJvbVJlY2VpdmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlJUQ1J0cFRyYW5zZm9ybTo6ZGV0YWNoRnJvbVNlbmRlcik6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaDogQ29waWVkIGZy
b20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5k
LmguCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1hYmxlRnJh
bWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlckJhY2tlbmQuaC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
KToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBS
ZWNlaXZlckJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBS
ZWNlaXZlckJhY2tlbmQuaC4KKyAgICAgICAgKFdlYkNvcmU6Om1lZGlhVHlwZUZyb21SZWNlaXZl
cik6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tl
bmQ6OkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBS
ZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRw
UmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayk6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVj
ZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oLgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRl
ckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwU2VuZGVyQmFja2Vu
ZDo6Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9y
bUJhY2tlbmQuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaC4KKyAgICAgICAgKFdl
YkNvcmU6Om1lZGlhVHlwZUZyb21TZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFj
a2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNr
ZW5kOjp+TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxl
RnJhbWVDYWxsYmFjayk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZl
ckJhY2tlbmQuaC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpM
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpzZXRJbnB1dENhbGxiYWNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OmNsZWFyVHJhbnNmb3JtYWJs
ZUZyYW1lQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZDo6c2V0T3V0cHV0Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZDo6cHJvY2Vzc1RyYW5zZm9ybWVkRnJhbWUpOgorICAgICAgICAo
V2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6VHJhbnNmb3JtKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNm
b3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZVNpbmtDYWxsYmFjayk6CisgICAg
ICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJh
bnNmb3JtZWRGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKToK
KyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpSZWxlYXNlIGNvbnN0KToKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmguCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OnRvUlRDRnJh
bWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpk
YXRhIGNvbnN0KToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1
aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpT
LnBtOgorICAgICAgICAoR2VuZXJhdGVIZWFkZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6OmNyZWF0ZU1vY2tSVENSdHBUcmFu
c2Zvcm0pOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5zZm9ybWVyOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5zZm9ybWVyOjpjbGVhcik6Cisg
ICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OnRyYW5zZm9ybSk6CisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmlzUHJvY2Vzc2luZyBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6Ok1vY2tSVENSdHBUcmFu
c2Zvcm1lcik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtOjpNb2NrUlRD
UnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06On5N
b2NrUlRDUnRwVHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zv
cm06OmlzUHJvY2Vzc2luZyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJh
bnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OndpbGxDbGVhckJhY2tlbmQpOgorICAg
ICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oOiBBZGRlZC4KKyAgICAgICAgKiB0
ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsOiBBZGRlZC4KKwogMjAyMC0xMS0xMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+IGFuZCBWaWN0b3IgTSBKYXF1ZXogPHZqYXF1
ZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBVcGRhdGUgV2ViUlRDIGxpd2VicnRjIHRvIE04Nwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2Rr
L1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1Nv
dXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tCmluZGV4IGQ3OTUxYzYxMjFk
NjE4NTJkYjZjYTg3ZDU5YTdiMjIxZjk1ZjUyYmMuLmU3OTA1Njk2OWJjZWU1YmU3Yzk2OWNiODQ1
OTJlMGE4NzMwMzJmMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9T
b3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbQorKysgYi9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIu
bW0KQEAgLTI5Miw3ICsyOTIsNyBAQCBpbnQzMl90IFJlbW90ZVZpZGVvRW5jb2Rlcjo6UmVnaXN0
ZXJFbmNvZGVDb21wbGV0ZUNhbGxiYWNrKEVuY29kZWRJbWFnZUNhbGxiYWNrKgogCiB2b2lkIGVu
Y29kZXJWaWRlb1Rhc2tDb21wbGV0ZSh2b2lkKiBjYWxsYmFjaywgd2VicnRjOjpWaWRlb0NvZGVj
VHlwZSBjb2RlY1R5cGUsIHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwgY29uc3QgV2Vi
S2l0RW5jb2RlZEZyYW1lSW5mbyYgaW5mbykKIHsKLSAgICB3ZWJydGM6OkVuY29kZWRJbWFnZSBl
bmNvZGVkSW1hZ2UoYnVmZmVyLCBsZW5ndGgsIGxlbmd0aCk7CisgICAgd2VicnRjOjpFbmNvZGVk
SW1hZ2UgZW5jb2RlZEltYWdlKGNvbnN0X2Nhc3Q8dWludDhfdCo+KGJ1ZmZlciksIGxlbmd0aCwg
bGVuZ3RoKTsKICAgICBlbmNvZGVkSW1hZ2UuX2VuY29kZWRXaWR0aCA9IGluZm8ud2lkdGg7CiAg
ICAgZW5jb2RlZEltYWdlLl9lbmNvZGVkSGVpZ2h0ID0gaW5mby5oZWlnaHQ7CiAgICAgZW5jb2Rl
ZEltYWdlLlNldFRpbWVzdGFtcChpbmZvLnRpbWVTdGFtcCk7CkBAIC0zMTIsNiArMzEyLDcgQEAg
dm9pZCBlbmNvZGVyVmlkZW9UYXNrQ29tcGxldGUodm9pZCogY2FsbGJhY2ssIHdlYnJ0Yzo6Vmlk
ZW9Db2RlY1R5cGUgY29kZWNUeXBlLAogICAgIGVsc2UgaWYgKGNvZGVjVHlwZSA9PSBrVmlkZW9D
b2RlY0gyNjUpCiAgICAgICAgIGNvZGVjU3BlY2lmaWNJbmZvLmNvZGVjU3BlY2lmaWMuSDI2NS5w
YWNrZXRpemF0aW9uX21vZGUgPSBIMjY1UGFja2V0aXphdGlvbk1vZGU6Ok5vbkludGVybGVhdmVk
OwogCisgICAgZW5jb2RlZEltYWdlLlJldGFpbigpOwogICAgIHN0YXRpY19jYXN0PEVuY29kZWRJ
bWFnZUNhbGxiYWNrKj4oY2FsbGJhY2spLT5PbkVuY29kZWRJbWFnZShlbmNvZGVkSW1hZ2UsICZj
b2RlY1NwZWNpZmljSW5mbyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9T
Y3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXgg
YjAxNmFjOWY3MzJiMTI2ODhmOWE4NTIzZTAwZjRhZjEzYmJhNWM2Yi4uZTdiOTI2ZGFiZTA4ZTRh
OGY0MTYwNDMwZjkyNGNiODI2ZTZkN2ZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwK
QEAgLTk4NCw2ICs5ODQsMTkgQEAgV2ViUlRDSDI2NUNvZGVjRW5hYmxlZDoKICAgICBXZWJLaXQ6
CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitXZWJSVENJbnNlcnRhYmxlU3RyZWFtc0VuYWJsZWQ6
CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoV0VCX1JUQykKKyAgaHVtYW5SZWFk
YWJsZU5hbWU6ICJXZWJSVEMgSW5zZXJ0YWJsZSBTdHJlYW1zIEFQSSIKKyAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIFdlYlJUQyBJbnNlcnRhYmxlIFN0cmVhbXMgQVBJIgorICBk
ZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAg
ICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZh
dWx0OiBmYWxzZQorCiAjIEZJWE1FOiBUaGlzIGlzIG5vdCByZWxldmVudCBmb3IgV2ViS2l0TGVn
YWN5LCBzbyBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBXZWJLaXRMZWdhY3kgZW50aXJlbHkuCiBX
ZWJSVENQbGF0Zm9ybUNvZGVjc0luR1BVUHJvY2Vzc0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggNWQ0YTRlOWQ0ODE2NGVkNWExYzM0ZTU4NTM4M2MxZmMzMGE0
MGI4OC4uYWY4MDExNDM5ZDQ3MjQzZjEyYWJlMzEzOGY0OGRjMTNiNTkwNzgyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTQwMCwxMiArNDAwLDE1IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURM
X0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBIZWFkZXJFeHRlbnNpb25QYXJh
bWV0ZXJzLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1ldGVycy5pZGwK
ICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmlkbAorICAgIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwUmVpY2V2ZXIrVHJhbnNmb3JtLmlkbAogICAgIE1vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwUnR4UGFyYW1ldGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyK1RyYW5zZm9ybS5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
ci5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJj
ZS5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVyLmlkbAogICAg
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsCisgICAg
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsCiAgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENTZHBUeXBlLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lv
bkRlc2NyaXB0aW9uLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2Ny
aXB0aW9uSW5pdC5pZGwKQEAgLTE3NDksNiArMTc1Miw3IEBAIHNldChXZWJDb3JlVGVzdFN1cHBv
cnRfSURMX0ZJTEVTCiAgICAgdGVzdGluZy9Nb2NrQ0RNRmFjdG9yeS5pZGwKICAgICB0ZXN0aW5n
L01vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaWRsCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJs
YXkuaWRsCisgICAgdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlkbAogICAgIHRlc3Rpbmcv
U2VydmljZVdvcmtlckludGVybmFscy5pZGwKICAgICB0ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5p
ZGwKICkKQEAgLTE3NzIsNiArMTc3Niw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVUZXN0U3VwcG9y
dF9TT1VSQ0VTCiAgICAgdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uY3BwCiAg
ICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXkuY3BwCiAgICAgdGVzdGluZy9Nb2NrUGFnZU92ZXJs
YXlDbGllbnQuY3BwCisgICAgdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtZXIuY3BwCiAgICAg
dGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcAogICAgIHRlc3RpbmcvanMvV2ViQ29y
ZVRlc3RTdXBwb3J0LmNwcAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKaW5kZXggYWExOGE4Y2Y3MmNkYmZmYTA2MWU5MjFiYzkxMzYyZDQ3ZDhj
MzViMy4uNjY5YjY4NjFiNmFmYTFkMGFjMDk3YjFiZDMxMDY0NDgzZWVjNzUxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMjksOCAr
MTI5LDggQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkNhbGxi
YWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9y
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2Fs
bGJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uT3B0
aW9ucy5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lz
dGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3crSW5kZXhlZERhdGFiYXNl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yRGlyZWN0aW9uLmlkbApAQCAt
MjMzLDEzICsyMzMsMTYgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBFbmNvZGluZ1BhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cEZlY1BhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFBhcmFtZXRlcnMuaWRsCiskKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJ0eFBhcmFtZXRlcnMuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3Jt
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFN5bmNocm9uaXphdGlv
blNvdXJjZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJh
bnNjZWl2ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRy
YW5zY2VpdmVyRGlyZWN0aW9uLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1NkcFR5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nl
c3Npb25EZXNjcmlwdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGwKQEAgLTI4OSw2ICsyOTIsNyBAQCAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3F1b3RhL1dvcmtlck5hdmlnYXRvcitTdG9yYWdlUXVvdGEuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL0hUTUxNZWRpYUVsZW1lbnQrUmVt
b3RlUGxheWJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL1Jl
bW90ZVBsYXliYWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9S
ZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmlkbAorJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9zcGVlY2gvRE9NV2luZG93K1NwZWVjaFN5bnRoZXNpcy5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3JDb2RlLmlkbApAQCAtMjk2
LDcgKzMwMCw2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0
aW9uRXJyb3JFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJl
Y29nbml0aW9uRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hS
ZWNvZ25pdGlvblJlc3VsdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVj
aFJlY29nbml0aW9uUmVzdWx0TGlzdC5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNo
L0RPTVdpbmRvdytTcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3NwZWVjaC9T
cGVlY2hTeW50aGVzaXNFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1Nw
ZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5pZGwKQEAgLTEzMDEsNiArMTMwNCw3IEBAICQoUFJPSkVD
VF9ESVIpL3Rlc3RpbmcvTW9ja1BheW1lbnRBZGRyZXNzLmlkbAogJChQUk9KRUNUX0RJUikvdGVz
dGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5n
L01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tQ
YXltZW50RXJyb3IuaWRsCiskKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zv
cm0uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZp
Z3VyYXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5h
bHMuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggMzgx
ZmJkNDg5NWUwZWE5N2U5ZGIyMWU1ZDRkNDc3ZjZmYTIwYWFiYS4uZGI2NzEwMDg4ZWYyNDU0NDgz
MDI1ZTAxZTRhYTdjZTVkZmVjMzA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTExMDUsMTAgKzExMDUsMTAgQEAgJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hhbmdlRXZlbnQuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hhc2hDaGFu
Z2VFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hkck1ldGFkYXRhVHlwZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTSGRyTWV0YWRhdGFUeXBlLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCi0kKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodFJlZ2lzdGVyLmgKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdobGln
aHQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaWdo
bGlnaHRSZWdpc3Rlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaXN0b3J5LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaXN0b3J5LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGtkZlBhcmFtcy5jcHAKQEAgLTEzNDEsNiArMTM0MSw4
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1Bh
eW1lbnRDb29yZGluYXRvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTTW9ja1BheW1lbnRDb29yZGluYXRvci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50RXJyb3IuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50RXJyb3Iu
aAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb2NrUlRD
UnRwVHJhbnNmb3JtLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1dl
YkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3BwCkBAIC0xNjk3LDEyICsxNjk5LDE2
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRw
SGVhZGVyRXh0ZW5zaW9uUGFyYW1ldGVycy5jCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBQYXJhbWV0
ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
VENSdHBQYXJhbWV0ZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmNwcAorJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSZWNl
aXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UlRDUnRwUmVjZWl2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNSVENSdHBSdHhQYXJhbWV0ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSdHhQYXJhbWV0ZXJzLmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZFBhcmFtZXRlcnMu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0
cFNlbmRQYXJhbWV0ZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFNlbmRlci5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRw
U2VuZGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmNwcApAQCAtMTcxMSw2ICsxNzE3LDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBUcmFuc2Nl
aXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
UlRDUnRwVHJhbnNjZWl2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rp
b24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENS
dHBUcmFuc2Zvcm0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1JUQ1J0cFRyYW5zZm9ybS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1JUQ1NkcFR5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1NkcFR5cGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0ZDA4NTMwYWE1YmQ4ZTg2ZTIyMjQ2YzUzZTJj
OGVlMDE3OGUzMDNkLi45YWU0MGMxODc5Njg5MzgxN2I4NDE2NTI3YzI0MGFmNzIzZThmMTE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1OCwxMiArMjU4LDE1IEBAIEpTX0JJ
TkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1ldGVycy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUnR4UGFyYW1ldGVycy5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kUGFyYW1ldGVycy5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTeW5jaHJvbml6
YXRpb25Tb3VyY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwVHJhbnNjZWl2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQuaWRsIFwKQEAgLTEyMjYs
NiArMTIyOSw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5n
L01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9N
b2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tQ
YXltZW50RXJyb3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5z
Zm9ybS5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrV2ViQXV0aGVudGljYXRpb25D
b25maWd1cmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJ
bnRlcm5hbHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvVHlwZUNvbnZlcnNpb25zLmlk
bCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjBiMmUxMWQ0N2Zm
YmIzYTg0M2JmNDEzOTdlMGMwOGM5MWUyNjI3OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbApA
QCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMs
CisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJSVENJbnNlcnRhYmxlU3RyZWFtcywKKyAgICBFeHBv
c2VkPVdpbmRvdywKKyAgICBJbXBsZW1lbnRlZEJ5PVJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9y
bSwKK10gcGFydGlhbCBpbnRlcmZhY2UgUlRDUnRwUmVjZWl2ZXIgeworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gYXR0cmlidXRlIFJUQ1J0cFRyYW5zZm9ybT8gdHJhbnNmb3JtOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5j
cHAKaW5kZXggNDJjNGMwNzg0MDllMzJkYWQxZTQyNGVhYTBiMmI3YjVmMzU0ZjJiNC4uMGJmY2M5
NjYzYzJmMDZkNGU5MGMwOTQ4OGRmMjUyZTFmZDJiM2MwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAKQEAgLTQ5LDEx
ICs0OSwyMCBAQCBSVENSdHBSZWNlaXZlcjo6UlRDUnRwUmVjZWl2ZXIoUGVlckNvbm5lY3Rpb25C
YWNrZW5kJiBjb25uZWN0aW9uLCBSZWY8TWVkaWFTdHJlYQogewogfQogCitSVENSdHBSZWNlaXZl
cjo6flJUQ1J0cFJlY2VpdmVyKCkKK3sKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1f
dHJhbnNmb3JtLT5kZXRhY2hGcm9tUmVjZWl2ZXIoKnRoaXMpOworfQorCiB2b2lkIFJUQ1J0cFJl
Y2VpdmVyOjpzdG9wKCkKIHsKICAgICBpZiAoIW1fYmFja2VuZCkKICAgICAgICAgcmV0dXJuOwog
CisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVJl
Y2VpdmVyKCp0aGlzKTsKKwogICAgIG1fYmFja2VuZCA9IG51bGxwdHI7CiAgICAgbV90cmFjay0+
c3RvcFRyYWNrKE1lZGlhU3RyZWFtVHJhY2s6OlN0b3BNb2RlOjpQb3N0RXZlbnQpOwogfQpAQCAt
NzIsNiArODEsMjAgQEAgT3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBSVENSdHBSZWNlaXZl
cjo6Z2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnQKICAgICByZXR1cm4gUGVlckNv
bm5lY3Rpb25CYWNrZW5kOjpyZWNlaXZlckNhcGFiaWxpdGllcyhjb250ZXh0LCBraW5kKTsKIH0K
IAorRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwUmVjZWl2ZXI6OnNldFRyYW5zZm9ybShSZWZQdHI8
UlRDUnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJhbnNmb3JtICYmIHRy
YW5zZm9ybS0+aXNBdHRhY2hlZCgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxp
ZFN0YXRlRXJyb3IsICJ0cmFuc2Zvcm0gaXMgYWxyZWFkeSBpbiB1c2UiX3MgfTsKKworICAgIGlm
IChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21SZWNlaXZlcigq
dGhpcyk7CisgICAgbV90cmFuc2Zvcm0gPSBXVEZNb3ZlKHRyYW5zZm9ybSk7CisgICAgaWYgKG1f
dHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+YXR0YWNoVG9SZWNlaXZlcigqdGhpcyk7
CisKKyAgICByZXR1cm4geyB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaAppbmRleCAzY2NhOGIyYjk2NzE4YWU0NzZkODM5NDMy
NjEyMGM5Nzk5MDc5MzUxLi44Y2IxYTQzZDJiZDA0NDYyNGMyODdjYTZhZjcxYzdkZjg3OGQyMmI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJl
Y2VpdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBS
ZWNlaXZlci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFjay5o
IgogI2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIgogI2luY2x1ZGUgIlJUQ1J0cFN5
bmNocm9uaXphdGlvblNvdXJjZS5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgogI2lu
Y2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01MCw2
ICs1MSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFJU
Q1J0cFJlY2VpdmVyKGNvbm5lY3Rpb24sIFdURk1vdmUodHJhY2spLCBXVEZNb3ZlKGJhY2tlbmQp
KSk7CiAgICAgfQorICAgIH5SVENSdHBSZWNlaXZlcigpOwogCiAgICAgc3RhdGljIE9wdGlvbmFs
PFJUQ1J0cENhcGFiaWxpdGllcz4gZ2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBjb25zdCBTdHJpbmcmIGtpbmQpOwogCkBAIC02NSwxMiArNjcsMTYgQEAgcHVibGljOgog
ICAgIFJUQ1J0cFJlY2VpdmVyQmFja2VuZCogYmFja2VuZCgpIHsgcmV0dXJuIG1fYmFja2VuZC5n
ZXQoKTsgfQogICAgIHZvaWQgZ2V0U3RhdHMoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKKyAg
ICBSVENSdHBUcmFuc2Zvcm0qIHRyYW5zZm9ybSgpIHsgcmV0dXJuIG1fdHJhbnNmb3JtLmdldCgp
OyB9CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJlZlB0cjxSVENSdHBUcmFu
c2Zvcm0+JiYpOworCiBwcml2YXRlOgogICAgIFJUQ1J0cFJlY2VpdmVyKFBlZXJDb25uZWN0aW9u
QmFja2VuZCYsIFJlZjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBzdGQ6OnVuaXF1ZV9wdHI8UlRDUnRw
UmVjZWl2ZXJCYWNrZW5kPiYmKTsKIAogICAgIFJlZjxNZWRpYVN0cmVhbVRyYWNrPiBtX3RyYWNr
OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBSZWNlaXZlckJhY2tlbmQ+IG1fYmFja2VuZDsK
ICAgICBXZWFrUHRyPFBlZXJDb25uZWN0aW9uQmFja2VuZD4gbV9jb25uZWN0aW9uOworICAgIFJl
ZlB0cjxSVENSdHBUcmFuc2Zvcm0+IG1fdHJhbnNmb3JtOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBSZWNlaXZlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKaW5kZXggNzgyZGQ2N2Q1NTE2YzhkNmU3YjQxOTU0
YmNiYjkwYmJhNzQ3MjY5My4uNjE5NmE2YTUwNjg5NThhOTI5MWIzNjQyM2VmMGJjZWE2MjQ0MGQz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBS
ZWNlaXZlckJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5oCkBAIC0zMSwxMiArMzEsMTUgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOworCiBjbGFzcyBSVENS
dHBSZWNlaXZlckJhY2tlbmQgewogcHVibGljOgogICAgIHZpcnR1YWwgflJUQ1J0cFJlY2VpdmVy
QmFja2VuZCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIFJUQ1J0cFBhcmFtZXRlcnMgZ2V0UGFy
YW1ldGVycygpIHsgcmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgVmVjdG9yPFJUQ1J0cENvbnRy
aWJ1dGluZ1NvdXJjZT4gZ2V0Q29udHJpYnV0aW5nU291cmNlcygpIGNvbnN0IHsgcmV0dXJuIHsg
fTsgfQogICAgIHZpcnR1YWwgVmVjdG9yPFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZT4gZ2V0
U3luY2hyb25pemF0aW9uU291cmNlcygpIGNvbnN0IHsgcmV0dXJuIHsgfTsgfQorICAgIHZpcnR1
YWwgUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQoKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9y
bS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcldp
dGhUcmFuc2Zvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMGY4YmYxNDU0NjdiZWRiMTFhNmY4ZjlhNTk5MTBl
NDJkYjg3OWFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaApAQCAtMCwwICsxLDQ1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyLmgiCisj
aW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgUlRDUnRwVHJhbnNmb3JtOworCitjbGFzcyBSVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0g
eworcHVibGljOgorICAgIHN0YXRpYyBSVENSdHBUcmFuc2Zvcm0qIHRyYW5zZm9ybShSVENSdHBS
ZWNlaXZlciYgcmVjZWl2ZXIpIHsgcmV0dXJuIHJlY2VpdmVyLnRyYW5zZm9ybSgpOyB9CisgICAg
c3RhdGljIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRyYW5zZm9ybShSVENSdHBSZWNlaXZlciYgcmVj
ZWl2ZXIsIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJhbnNmb3JtKSB7IHJldHVybiByZWNl
aXZlci5zZXRUcmFuc2Zvcm0oV1RGTW92ZSh0cmFuc2Zvcm0pKTsgfQorfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcitUcmFuc2Zvcm0u
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIrVHJh
bnNmb3JtLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzhhN2UzMDdkNjI0YzEzNGY3ODBjY2I3MTBjOGM2ODI0
ZGMwZGRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1X
ZWJSVENJbnNlcnRhYmxlU3RyZWFtcywKKyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBJbXBsZW1l
bnRlZEJ5PVJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0sCitdIHBhcnRpYWwgaW50ZXJmYWNlIFJU
Q1J0cFNlbmRlciB7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1dGUgUlRDUnRwVHJh
bnNmb3JtPyB0cmFuc2Zvcm07Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCmluZGV4IGZmMTcwM2I5MmIwZDkwYWE5Nzg3Njcy
MjY3ZjQ4ZTI3YTRiNzY0ZDQuLmM3YWMzYzQ5YmQ5ZDc5NmIyNDg3NWY5ZDkyMzA2ZDNlOTNhNzU0
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNlbmRlci5jcHAKQEAgLTY2LDcgKzY2LDExIEBAIFJUQ1J0cFNlbmRlcjo6UlRDUnRwU2VuZGVy
KFJUQ1BlZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTdHJpbmcmJiB0cmFja0tpbmQsIFZlCiAg
ICAgQVNTRVJUKG1fYmFja2VuZCk7CiB9CiAKLVJUQ1J0cFNlbmRlcjo6flJUQ1J0cFNlbmRlcigp
ID0gZGVmYXVsdDsKK1JUQ1J0cFNlbmRlcjo6flJUQ1J0cFNlbmRlcigpCit7CisgICAgaWYgKG1f
dHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVNlbmRlcigqdGhpcyk7
Cit9CiAKIHZvaWQgUlRDUnRwU2VuZGVyOjpzZXRUcmFja1RvTnVsbCgpCiB7CkBAIC03Nyw2ICs4
MSw5IEBAIHZvaWQgUlRDUnRwU2VuZGVyOjpzZXRUcmFja1RvTnVsbCgpCiAKIHZvaWQgUlRDUnRw
U2VuZGVyOjpzdG9wKCkKIHsKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAgICAgIG1fdHJhbnNm
b3JtLT5kZXRhY2hGcm9tU2VuZGVyKCp0aGlzKTsKKwogICAgIG1fdHJhY2tJZCA9IHsgfTsKICAg
ICBtX3RyYWNrID0gbnVsbHB0cjsKICAgICBtX2JhY2tlbmQgPSBudWxscHRyOwpAQCAtMTg2LDYg
KzE5MywyMCBAQCBPcHRpb25hbDxSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbj4gUlRDUnRwU2Vu
ZGVyOjpjdXJyZW50VHJhbnNjZWl2ZXJEaXJlY3Rpb24oKQogICAgIHJldHVybiBzZW5kZXJUcmFu
c2NlaXZlci0+Y3VycmVudERpcmVjdGlvbigpOwogfQogCitFeGNlcHRpb25Pcjx2b2lkPiBSVENS
dHBTZW5kZXI6OnNldFRyYW5zZm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9y
bSkKK3sKKyAgICBpZiAodHJhbnNmb3JtICYmIHRyYW5zZm9ybS0+aXNBdHRhY2hlZCgpKQorICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJ0cmFuc2Zvcm0gaXMg
YWxyZWFkeSBpbiB1c2UiX3MgfTsKKworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90
cmFuc2Zvcm0tPmRldGFjaEZyb21TZW5kZXIoKnRoaXMpOworICAgIG1fdHJhbnNmb3JtID0gV1RG
TW92ZSh0cmFuc2Zvcm0pOworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFuc2Zv
cm0tPmF0dGFjaFRvU2VuZGVyKCp0aGlzKTsKKworICAgIHJldHVybiB7IH07Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmgKaW5kZXggMjhk
ZjBmZWJhZTEzOWQ0ZjhkNGE3YzliYmZjYjExYjEzOTk2MDRiZC4uNzBhZDk1OTI3MGJiMmEyOWFl
MzQ5M2IxZDFlYjgwOTRhOWI1MDViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
TWVkaWFTdHJlYW1UcmFjay5oIgogI2luY2x1ZGUgIlJUQ1J0cFNlbmRlckJhY2tlbmQuaCIKICNp
bmNsdWRlICJSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5oIgorI2luY2x1ZGUgIlJUQ1J0cFRy
YW5zZm9ybS5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2luY2x1ZGUgPHd0Zi9X
ZWFrUHRyLmg+CiAKQEAgLTgxLDYgKzgyLDkgQEAgcHVibGljOgogICAgIFJUQ0RUTUZTZW5kZXIq
IGR0bWYoKTsKICAgICBPcHRpb25hbDxSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbj4gY3VycmVu
dFRyYW5zY2VpdmVyRGlyZWN0aW9uKCkgY29uc3Q7CiAKKyAgICBSVENSdHBUcmFuc2Zvcm0qIHRy
YW5zZm9ybSgpIHsgcmV0dXJuIG1fdHJhbnNmb3JtLmdldCgpOyB9CisgICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0VHJhbnNmb3JtKFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYpOworCiBwcml2YXRl
OgogICAgIFJUQ1J0cFNlbmRlcihSVENQZWVyQ29ubmVjdGlvbiYsIFN0cmluZyYmIHRyYWNrS2lu
ZCwgVmVjdG9yPFN0cmluZz4mJiBtZWRpYVN0cmVhbUlkcywgc3RkOjp1bmlxdWVfcHRyPFJUQ1J0
cFNlbmRlckJhY2tlbmQ+JiYpOwogCkBAIC05MSw2ICs5NSw3IEBAIHByaXZhdGU6CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJUQ1J0cFNlbmRlckJhY2tlbmQ+IG1fYmFja2VuZDsKICAgICBXZWFrUHRy
PFJUQ1BlZXJDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUmVmUHRyPFJUQ0RUTUZTZW5k
ZXI+IG1fZHRtZlNlbmRlcjsKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiBtX3RyYW5zZm9y
bTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKaW5kZXggMWMx
OGU1MDEyOGIyNGVjMWJiMGY0NmNjNmJiMGZlYTAwNjg0N2RkYS4uMzA4OTdjMjRlYTdmNzFkZDQw
NjJiMjBlYzJiNTM4ZmNiYTFjODBiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKQEAgLTMxLDYgKzMxLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFTdHJlYW1UcmFjazsKIGNsYXNzIFJU
Q0RUTUZTZW5kZXJCYWNrZW5kOwogY2xhc3MgUlRDUnRwU2VuZGVyOworY2xhc3MgUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CiAKIHN0cnVjdCBS
VENSdHBTZW5kUGFyYW1ldGVyczsKQEAgLTM5LDExICs0MCwxMyBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CiAKIGNsYXNzIFJUQ1J0cFNlbmRl
ckJhY2tlbmQgewogcHVibGljOgorICAgIHZpcnR1YWwgflJUQ1J0cFNlbmRlckJhY2tlbmQoKSA9
IGRlZmF1bHQ7CisKICAgICB2aXJ0dWFsIGJvb2wgcmVwbGFjZVRyYWNrKFJUQ1J0cFNlbmRlciYs
IE1lZGlhU3RyZWFtVHJhY2sqKSA9IDA7CiAgICAgdmlydHVhbCBSVENSdHBTZW5kUGFyYW1ldGVy
cyBnZXRQYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRQYXJhbWV0
ZXJzKGNvbnN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzJiwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
JiYpID0gMDsKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1GU2VuZGVyQmFja2Vu
ZD4gY3JlYXRlRFRNRkJhY2tlbmQoKSA9IDA7Ci0gICAgdmlydHVhbCB+UlRDUnRwU2VuZGVyQmFj
a2VuZCgpID0gZGVmYXVsdDsKKyAgICB2aXJ0dWFsIFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
PiBjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOGQwZTk4
MmJmMTJlN2MzOWMwMzI0MTc3ZTkzZTZlYTA4MDZmYzEzCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJXaXRoVHJhbnNmb3Jt
LmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVk
ZSAiUlRDUnRwU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtOworCitjbGFzcyBSVENSdHBT
ZW5kZXJXaXRoVHJhbnNmb3JtIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUlRDUnRwVHJhbnNmb3Jt
KiB0cmFuc2Zvcm0oUlRDUnRwU2VuZGVyJiBzZW5kZXIpIHsgcmV0dXJuIHNlbmRlci50cmFuc2Zv
cm0oKTsgfQorICAgIHN0YXRpYyBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUcmFuc2Zvcm0oUlRDUnRw
U2VuZGVyJiBzZW5kZXIsIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJhbnNmb3JtKSB7IHJl
dHVybiBzZW5kZXIuc2V0VHJhbnNmb3JtKFdURk1vdmUodHJhbnNmb3JtKSk7IH0KK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0u
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0u
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZhYjVjZjdiNGRhYjA1MTQwZTIwZjc0YjQwZGNmYmI4MDFjYjczOGIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFRyYW5zZm9ybS5jcHAKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24u
CisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIKKworI2lmIEVOQUJMRShXRUJfUlRD
KQorCisjaW5jbHVkZSAiUlRDUnRwUmVjZWl2ZXIuaCIKKyNpbmNsdWRlICJSVENSdHBTZW5kZXIu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSVENSdHBUcmFuc2Zvcm06On5SVENSdHBUcmFu
c2Zvcm0oKQoreworICAgIGlmIChtX2JhY2tlbmQpCisgICAgICAgIHdpbGxDbGVhckJhY2tlbmQo
Km1fYmFja2VuZCk7Cit9CisKK3ZvaWQgUlRDUnRwVHJhbnNmb3JtOjphdHRhY2hUb1JlY2VpdmVy
KFJUQ1J0cFJlY2VpdmVyJiByZWNlaXZlcikKK3sKKyAgICBBU1NFUlQoIWlzQXR0YWNoZWQoKSk7
CisgICAgaWYgKGF1dG8qIGJhY2tlbmQgPSByZWNlaXZlci5iYWNrZW5kKCkpCisgICAgICAgIG1f
YmFja2VuZCA9IGJhY2tlbmQtPmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKTsKKyAgICBp
ZiAobV9iYWNrZW5kKQorICAgICAgICBpbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKCptX2Jh
Y2tlbmQpOworfQorCit2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNoVG9TZW5kZXIoUlRDUnRw
U2VuZGVyJiBzZW5kZXIpCit7CisgICAgQVNTRVJUKCFpc0F0dGFjaGVkKCkpOworICAgIGlmIChh
dXRvKiBiYWNrZW5kID0gc2VuZGVyLmJhY2tlbmQoKSkKKyAgICAgICAgbV9iYWNrZW5kID0gYmFj
a2VuZC0+Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpOworICAgIGlmIChtX2JhY2tlbmQp
CisgICAgICAgIGluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKCptX2JhY2tlbmQpOworfQorCit2
b2lkIFJUQ1J0cFRyYW5zZm9ybTo6ZGV0YWNoRnJvbVJlY2VpdmVyKFJUQ1J0cFJlY2VpdmVyJikK
K3sKKyAgICBpZiAoIW1fYmFja2VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2lsbENsZWFy
QmFja2VuZCgqbV9iYWNrZW5kKTsKKyAgICBtX2JhY2tlbmQgPSBudWxscHRyOworfQorCit2b2lk
IFJUQ1J0cFRyYW5zZm9ybTo6ZGV0YWNoRnJvbVNlbmRlcihSVENSdHBTZW5kZXImKQoreworICAg
IGlmICghbV9iYWNrZW5kKQorICAgICAgICByZXR1cm47CisKKyAgICB3aWxsQ2xlYXJCYWNrZW5k
KCptX2JhY2tlbmQpOworICAgIG1fYmFja2VuZCA9IG51bGxwdHI7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uM2QzN2I2OGU4ZWRiM2ZhN2JjYzlkZTMwNTQ5OTdkMTRmZWRkM2I0YgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3Jt
LmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVk
ZSAiUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRwUmVjZWl2ZXI7CitjbGFzcyBS
VENSdHBTZW5kZXI7CisKK2NsYXNzIFdFQkNPUkVfRVhQT1JUIFJUQ1J0cFRyYW5zZm9ybSA6IHB1
YmxpYyBSZWZDb3VudGVkPFJUQ1J0cFRyYW5zZm9ybT4geworcHVibGljOgorICAgIHZpcnR1YWwg
flJUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgYm9vbCBpc0F0dGFjaGVkKCkgY29uc3Q7CisgICAg
dm9pZCBhdHRhY2hUb1JlY2VpdmVyKFJUQ1J0cFJlY2VpdmVyJik7CisgICAgdm9pZCBhdHRhY2hU
b1NlbmRlcihSVENSdHBTZW5kZXImKTsKKyAgICB2b2lkIGRldGFjaEZyb21SZWNlaXZlcihSVENS
dHBSZWNlaXZlciYpOworICAgIHZvaWQgZGV0YWNoRnJvbVNlbmRlcihSVENSdHBTZW5kZXImKTsK
KworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIo
UlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpOworICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplQmFj
a2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKTsKKyAgICB2aXJ0dWFsIHZv
aWQgd2lsbENsZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7CisKK3Byb3RlY3Rl
ZDoKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gbV9iYWNrZW5kOworfTsKKwor
aW5saW5lIGJvb2wgUlRDUnRwVHJhbnNmb3JtOjppc0F0dGFjaGVkKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gISFtX2JhY2tlbmQ7Cit9CisKK2lubGluZSB2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6aW5p
dGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpCit7Cit9CisK
K2lubGluZSB2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6aW5pdGlhbGl6ZUJhY2tlbmRGb3JSZWNlaXZl
cihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJikKK3sKK30KKworaW5saW5lIHZvaWQgUlRDUnRwVHJh
bnNmb3JtOjp3aWxsQ2xlYXJCYWNrZW5kKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKQoreworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNm
b3JtLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNm
b3JtLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jZTZlMzI4MTJiYzQzZmYxZTNmNWZhYjEwNTE2NjZlNGVjNDMz
NWE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBUcmFuc2Zvcm0uaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywK
KyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlJUQ0luc2VydGFibGVTdHJlYW1zLAorICAgIEV4cG9y
dE1hY3JvPVdFQkNPUkVfRVhQT1JULAorICAgIEV4cG9zZWQ9V2luZG93CitdIGludGVyZmFjZSBS
VENSdHBUcmFuc2Zvcm0geworICAgIC8vIEZJWE1FOiBBZGQgcmVhZGFibGUvd3JpdGFibGUgZ2V0
dGVycworICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBSZWFkYWJsZVN0cmVhbSByZWFkYWJsZTsK
KyAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgV3JpdGFibGVTdHJlYW0gd3JpdGFibGU7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFu
c2Zvcm1CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTIxNDkyMjAxYWU2NDYzNWI4ODI5MzU0
NTVlNWI4ZjM3M2JiY2E5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgKQEAgLTAsMCArMSw1MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVS
ZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNm
b3JtYWJsZUZyYW1lOworCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kIDogcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQsIFdURjo6RGVzdHJ1Y3Rp
b25UaHJlYWQ6Ok1haW4+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5SVENSdHBUcmFuc2Zvcm1C
YWNrZW5kKCkgPSBkZWZhdWx0OworCisgICAgdXNpbmcgQ2FsbGJhY2sgPSBGdW5jdGlvbjx2b2lk
KFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmKT47CisgICAgdmlydHVhbCB2b2lkIHNldFRyYW5z
Zm9ybWFibGVGcmFtZUNhbGxiYWNrKENhbGxiYWNrJiYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
Y2xlYXJUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjaygpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
cHJvY2Vzc1RyYW5zZm9ybWVkRnJhbWUoUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYpID0gMDsK
KworICAgIGVudW0gY2xhc3MgTWVkaWFUeXBlIHsgQXVkaW8sIFZpZGVvIH07CisgICAgdmlydHVh
bCBNZWRpYVR5cGUgbWVkaWFUeXBlKCkgY29uc3QgPSAwOworCisgICAgZW51bSBjbGFzcyBTaWRl
IHsgU2VuZGVyLCBSZWNlaXZlciB9OworICAgIHZpcnR1YWwgU2lkZSBzaWRlKCkgY29uc3QgPSAw
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9S
VEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFRyYW5zZm9ybWFibGVGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NzI2MzYwMDdlZmMyNzZj
Mzk1OGMyZTcyYzM5YTIxM2M5YWY5OTkwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaApAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
CisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lIHsKK3B1YmxpYzoKKyAgICB2
aXJ0dWFsIH5SVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoKSA9IGRlZmF1bHQ7CisKKyAgICBzdHJ1
Y3QgRGF0YSB7CisgICAgICAgIGNvbnN0IHVpbnQ4X3QqIGRhdGE7CisgICAgICAgIHNpemVfdCBz
aXplOworICAgIH07CisgICAgdmlydHVhbCBEYXRhIGRhdGEoKSBjb25zdCA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHNldERhdGEoRGF0YSkgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tl
bmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNwcAppbmRleCAxZDMxNmFhZmI3ZmNhZDMzZTQxYzUx
NmU1M2IwNjk4NTk4NTZjYWUwLi45YTg4ZDFjZGMwZWJiMGRjNzliMDRjYjUxYjA0ZWY2ZWEwZjNl
NTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2Vu
ZC5jcHAKQEAgLTI1LDcgKzI1LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJM
aWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaCIKIAorI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFJl
Y2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1V0aWxzLmgiCisj
aW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgogI2luY2x1ZGUgIlJlYWx0aW1lSW5j
b21pbmdBdWRpb1NvdXJjZS5oIgogI2luY2x1ZGUgIlJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZS5oIgogCkBAIC0xMTQsNiArMTE2LDEwIEBAIFJlZjxSZWFsdGltZU1lZGlhU291cmNlPiBMaWJX
ZWJSVENSdHBSZWNlaXZlckJhY2tlbmQ6OmNyZWF0ZVNvdXJjZSgpCiAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKIH0KIAorUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IExpYldl
YlJUQ1J0cFJlY2VpdmVyQmFja2VuZDo6Y3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpCit7
CisgICAgcmV0dXJuIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6Y3JlYXRl
KG1fcnRjUmVjZWl2ZXIpOworfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q1J0cFJlY2VpdmVyQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKaW5kZXggZDAyODc5OGIw
ZTY5YzE3MTQ2YmNlMThiN2Q5YjA4NGZlMjY5ZWUxOC4uYjQ2Y2QyYTY5ODRkZWQ5ZDExOTQ3NTU1
ZDIwNTE4NzdjMTA1ODc0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVj
ZWl2ZXJCYWNrZW5kLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHJpdmF0ZToKICAgICBSVENSdHBQYXJh
bWV0ZXJzIGdldFBhcmFtZXRlcnMoKSBmaW5hbDsKICAgICBWZWN0b3I8UlRDUnRwQ29udHJpYnV0
aW5nU291cmNlPiBnZXRDb250cmlidXRpbmdTb3VyY2VzKCkgY29uc3QgZmluYWw7CiAgICAgVmVj
dG9yPFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZT4gZ2V0U3luY2hyb25pemF0aW9uU291cmNl
cygpIGNvbnN0IGZpbmFsOworICAgIFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBjcmVhdGVS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgZmluYWw7CiAKICAgICBydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpSdHBSZWNlaXZlckludGVyZmFjZT4gbV9ydGNSZWNlaXZlcjsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45MWU1OTQxOWFiNzFmMDllZDA3NjVhZTE0NWFjYjJiYTE1ZDNk
YzUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcApAQCAt
MCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBSZWNlaXZl
clRyYW5zZm9ybUJhY2tlbmQuaCIKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VC
UlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGlubGluZSBMaWJXZWJSVENSdHBSZWNlaXZlclRy
YW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZSBtZWRpYVR5cGVGcm9tUmVjZWl2ZXIoY29uc3Qgd2Vi
cnRjOjpSdHBSZWNlaXZlckludGVyZmFjZSYgcmVjZWl2ZXIpCit7CisgICAgcmV0dXJuIHJlY2Vp
dmVyLm1lZGlhX3R5cGUoKSA9PSBjcmlja2V0OjpNRURJQV9UWVBFX0FVRElPID8gUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpBdWRpbyA6IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6
Ok1lZGlhVHlwZTo6VmlkZW87Cit9CisKK0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFj
a2VuZDo6TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKHJ0Yzo6c2NvcGVkX3Jl
ZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiBydGNSZWNlaXZlcikKKyAgICA6IExp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQobWVkaWFUeXBlRnJvbVJlY2VpdmVyKCpydGNSZWNl
aXZlciksIFNpZGU6OlJlY2VpdmVyKQorICAgICwgbV9ydGNSZWNlaXZlcihXVEZNb3ZlKHJ0Y1Jl
Y2VpdmVyKSkKK3sKK30KKworTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kOjp+
TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKCkKK3sKK30KKwordm9pZCBMaWJX
ZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OnNldFRyYW5zZm9ybWFibGVGcmFtZUNh
bGxiYWNrKENhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgc2V0SW5wdXRDYWxsYmFjayhXVEZN
b3ZlKGNhbGxiYWNrKSk7CisgICAgbV9ydGNSZWNlaXZlci0+U2V0RGVwYWNrZXRpemVyVG9EZWNv
ZGVyRnJhbWVUcmFuc2Zvcm1lcih0aGlzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVhZTk3ZmQwMTBkNTRkOWJjN2JiMWIwMDBlM2YxNzk4YzU2MDNmM2IKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaApAQCAtMCwwICsxLDYx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNp
bmNsdWRlICJMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCisKK0FMTE9XX1VOVVNFRF9Q
QVJBTUVURVJTX0JFR0lOCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgorCisj
aW5jbHVkZSA8d2VicnRjL2FwaS9ydHBfcmVjZWl2ZXJfaW50ZXJmYWNlLmg+CisKK0FMTE9XX0RF
UFJFQ0FURURfREVDTEFSQVRJT05TX0VORAorQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECisK
K25hbWVzcGFjZSB3ZWJydGMgeworY2xhc3MgUnRwUmVjZWl2ZXJJbnRlcmZhY2U7Cit9CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1C
YWNrZW5kIGZpbmFsIDogcHVibGljIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQgeworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5k
PiBjcmVhdGUocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+
IHJlY2VpdmVyKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IExpYldlYlJUQ1J0cFJlY2VpdmVyVHJh
bnNmb3JtQmFja2VuZChXVEZNb3ZlKHJlY2VpdmVyKSkpOyB9CisgICAgfkxpYldlYlJUQ1J0cFJl
Y2VpdmVyVHJhbnNmb3JtQmFja2VuZCgpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IExpYldl
YlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZChydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRj
OjpSdHBSZWNlaXZlckludGVyZmFjZT4pOworCisgICAgLy8gUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZAorICAgIHZvaWQgc2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJhY2smJikgZmlu
YWw7CisKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpSdHBSZWNlaXZlckludGVyZmFj
ZT4gbV9ydGNSZWNlaXZlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVy
QmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcAppbmRleCA1OTNkYTk4NGU5NzhiOWZlNzA1
MThhM2UzOTI0ZWM1MjUxZWZhMmFjLi44ZTk2MWM5NzJmYjBkZTQ4ZDc1YTBjNGFlOWYzY2JkMWE5
MjJjOWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5k
LmNwcApAQCAtMzAsOSArMzAsMTEgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5o
IgogI2luY2x1ZGUgIkxpYldlYlJUQ0RUTUZTZW5kZXJCYWNrZW5kLmgiCiAjaW5jbHVkZSAiTGli
V2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwU2Vu
ZGVyVHJhbnNmb3JtQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1V0aWxzLmgiCiAjaW5j
bHVkZSAiUlRDUGVlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJSVENSdHBTZW5kZXIuaCIKKyNp
bmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0
aW9uQ29udGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMzYsNiArMTM4LDExIEBA
IHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1GU2VuZGVyQmFja2VuZD4gTGliV2ViUlRDUnRwU2VuZGVy
QmFja2VuZDo6Y3JlYXRlRFRNRkJhY2tlCiAgICAgcmV0dXJuIG1ha2VVbmlxdWU8TGliV2ViUlRD
RFRNRlNlbmRlckJhY2tlbmQ+KG1fcnRjU2VuZGVyLT5HZXREdG1mU2VuZGVyKCkpOwogfQogCitS
ZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZDo6Y3Jl
YXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpCit7CisgICAgcmV0dXJuIExpYldlYlJUQ1J0cFNl
bmRlclRyYW5zZm9ybUJhY2tlbmQ6OmNyZWF0ZShtX3J0Y1NlbmRlcik7Cit9CisKIFJlYWx0aW1l
T3V0Z29pbmdWaWRlb1NvdXJjZSogTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZDo6dmlkZW9Tb3Vy
Y2UoKQogewogICAgIHJldHVybiBzd2l0Y2hPbihtX3NvdXJjZSwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRl
ckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaAppbmRleCBhMTA0MTZkMTQwOWZhZTgwMjZkZmY0
ZWI1OTI1NWQ4NTk1ZjcyMjgyLi5kNTZhMDU2ZTM2MmI0ZDYzNDkxMTYzYzEyYmJjOGRiY2NmMjk0
NzA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oCkBA
IC03MCw2ICs3MCw3IEBAIHByaXZhdGU6CiAgICAgUlRDUnRwU2VuZFBhcmFtZXRlcnMgZ2V0UGFy
YW1ldGVycygpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgc2V0UGFyYW1ldGVycyhjb25zdCBSVENS
dHBTZW5kUGFyYW1ldGVycyYsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKSBmaW5hbDsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UlRDRFRNRlNlbmRlckJhY2tlbmQ+IGNyZWF0ZURUTUZCYWNrZW5k
KCkgZmluYWw7CisgICAgUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZVJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQoKSBmaW5hbDsKIAogICAgIHZvaWQgc3RhcnRTb3VyY2UoKTsKICAgICB2
b2lkIHN0b3BTb3VyY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFmNDM5ZGNmZThjMDcy
N2E2MDIyNDhiMGM5ZTRmOTkzNWNiNThhMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5z
Zm9ybUJhY2tlbmQuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaCIKKworI2lmIEVOQUJMRShXRUJf
UlRDKSAmJiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3Jt
YWJsZUZyYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGlubGluZSBMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGUgbWVkaWFUeXBlRnJvbVNl
bmRlcihjb25zdCB3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZSYgc2VuZGVyKQoreworICAgIHJl
dHVybiBzZW5kZXIubWVkaWFfdHlwZSgpID09IGNyaWNrZXQ6Ok1FRElBX1RZUEVfQVVESU8gPyBS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OkF1ZGlvIDogUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZDo6TWVkaWFUeXBlOjpWaWRlbzsKK30KKworTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNm
b3JtQmFja2VuZDo6TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZChydGM6OnNjb3Bl
ZF9yZWZwdHI8d2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+IHJ0Y1NlbmRlcikKKyAgICA6IExp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQobWVkaWFUeXBlRnJvbVNlbmRlcigqcnRjU2VuZGVy
KSwgU2lkZTo6U2VuZGVyKQorICAgICwgbV9ydGNTZW5kZXIoV1RGTW92ZShydGNTZW5kZXIpKQor
eworfQorCitMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjp+TGliV2ViUlRDUnRw
U2VuZGVyVHJhbnNmb3JtQmFja2VuZCgpCit7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZDo6c2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJhY2sm
JiBjYWxsYmFjaykKK3sKKyAgICBzZXRJbnB1dENhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsK
KyAgICBtX3J0Y1NlbmRlci0+U2V0RW5jb2RlclRvUGFja2V0aXplckZyYW1lVHJhbnNmb3JtZXIo
dGhpcyk7Cit9CisKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1C
YWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY2MDliN2Qx
ZGY5YTk3MGE3YWE1ODg0YzBlMTUzNjQyYzg0NmMyYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kLmgiCisKK0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCitBTExPV19E
RVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgorCisjaW5jbHVkZSA8d2VicnRjL2FwaS9ydHBf
c2VuZGVyX2ludGVyZmFjZS5oPgorCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQK
K0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0VORAorCituYW1lc3BhY2Ugd2VicnRjIHsKK2NsYXNz
IFJ0cFNlbmRlckludGVyZmFjZTsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBM
aWJXZWJSVENTZW5kZXJUcmFuc2Zvcm1lcjsKKworY2xhc3MgTGliV2ViUlRDUnRwU2VuZGVyVHJh
bnNmb3JtQmFja2VuZCBmaW5hbCA6IHB1YmxpYyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZShydGM6OnNjb3BlZF9y
ZWZwdHI8d2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+IHNlbmRlcikgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKFdURk1vdmUoc2VuZGVy
KSkpOyB9CisgICAgfkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQoKTsKKworcHJp
dmF0ZToKKyAgICBleHBsaWNpdCBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4pOworCisgICAgLy8g
UlRDUnRwVHJhbnNmb3JtQmFja2VuZAorICAgIHZvaWQgc2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2Fs
bGJhY2soQ2FsbGJhY2smJikgZmluYWw7CisKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRj
OjpSdHBTZW5kZXJJbnRlcmZhY2U+IG1fcnRjU2VuZGVyOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjAxNjJkMzBkMWZkZDMwMmEzYjVjM2VkYjM4ZGNjYjllZWUxMzMxMDQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcApAQCAtMCwwICsxLDk2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCisKKyNp
ZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQg
TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6c2V0SW5wdXRDYWxsYmFjayhDYWxsYmFjayYm
IGNhbGxiYWNrKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgYXV0byBsb2Nr
ZXIgPSBob2xkTG9jayhtX2lucHV0Q2FsbGJhY2tMb2NrKTsKKyAgICBtX2lucHV0Q2FsbGJhY2sg
PSBXVEZNb3ZlKGNhbGxiYWNrKTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kOjpjbGVhclRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCkKK3sKKyAgICBzZXRJbnB1dENh
bGxiYWNrKHsgfSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6c2V0
T3V0cHV0Q2FsbGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFt
ZUNhbGxiYWNrPiYmIGNhbGxiYWNrKQoreworICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9v
dXRwdXRDYWxsYmFja0xvY2spOworICAgIG1fb3V0cHV0Q2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpwcm9jZXNzVHJh
bnNmb3JtZWRGcmFtZShSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJiBmcmFtZSkKK3sKKyAgICBh
dXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fb3V0cHV0Q2FsbGJhY2tMb2NrKTsKKyAgICBpZiAobV9v
dXRwdXRDYWxsYmFjaykKKyAgICAgICAgbV9vdXRwdXRDYWxsYmFjay0+T25UcmFuc2Zvcm1lZEZy
YW1lKExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6dG9SVENGcmFtZShXVEZNb3ZlKHN0
YXRpY19jYXN0PExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSY+KGZyYW1lKSkpKTsKK30K
Kwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpUcmFuc2Zvcm0oc3RkOjp1bmlx
dWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiBydGNGcmFtZSkKK3sK
KyAgICB7CisgICAgICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9pbnB1dENhbGxiYWNrTG9j
ayk7CisgICAgICAgIGlmIChtX2lucHV0Q2FsbGJhY2spIHsKKyAgICAgICAgICAgIG1faW5wdXRD
YWxsYmFjayhMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoV1RGTW92ZShydGNGcmFtZSkp
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKyAgICAvLyBJbiBjYXNl
IG9mIG5vIGlucHV0IGNhbGxiYWNrLCBtYWtlIHRoZSB0cmFuc2Zvcm0gYSBuby1vcC4KKyAgICBh
dXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fb3V0cHV0Q2FsbGJhY2tMb2NrKTsKKyAgICBpZiAobV9v
dXRwdXRDYWxsYmFjaykKKyAgICAgICAgbV9vdXRwdXRDYWxsYmFjay0+T25UcmFuc2Zvcm1lZEZy
YW1lKFdURk1vdmUocnRjRnJhbWUpKTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kOjpSZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZw
dHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+IGNhbGxiYWNrKQoreworICAgIHNl
dE91dHB1dENhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKK30KKwordm9pZCBMaWJXZWJSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kOjpSZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2so
cnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrPiBjYWxs
YmFjaywgdWludDMyX3QgLyogc3NyYyAqLykKK3sKKyAgICBSZWdpc3RlclRyYW5zZm9ybWVkRnJh
bWVDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDo6VW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaygpCit7Cisg
ICAgc2V0T3V0cHV0Q2FsbGJhY2sobnVsbHB0cik7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDo6VW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2sodWlu
dDMyX3QgLyogc3NyYyAqLykKK3sKKyAgICBVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxi
YWNrKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShX
RUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxNThjNjRiYjYxMTQwYzRlMmNlYjQ3
YTE3MDM0MDk1ZjZiNGU5OTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgK
QEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElC
V0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDTWFjcm9zLmgiCisjaW5jbHVkZSAiUlRDUnRw
VHJhbnNmb3JtQmFja2VuZC5oIgorI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvc2NvcGVkX3JlZnB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CisKK0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lO
CitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgorCisjaW5jbHVkZSA8d2VicnRj
L2FwaS9mcmFtZV90cmFuc2Zvcm1lcl9pbnRlcmZhY2UuaD4KKworQUxMT1dfREVQUkVDQVRFRF9E
RUNMQVJBVElPTlNfRU5ECitBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kIDogcHVibGlj
IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQsIHB1YmxpYyB3ZWJydGM6OkZyYW1lVHJhbnNmb3JtZXJJ
bnRlcmZhY2UgeworcHJvdGVjdGVkOgorICAgIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQo
TWVkaWFUeXBlLCBTaWRlKTsKKyAgICB2b2lkIHNldElucHV0Q2FsbGJhY2soQ2FsbGJhY2smJik7
CisKK3ByaXZhdGU6CisgICAgdm9pZCBzZXRPdXRwdXRDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZw
dHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+JiYpOworCisgICAgLy8gUlRDUnRw
VHJhbnNmb3JtQmFja2VuZAorICAgIHZvaWQgcHJvY2Vzc1RyYW5zZm9ybWVkRnJhbWUoUlRDUnRw
VHJhbnNmb3JtYWJsZUZyYW1lJiYpIGZpbmFsOworICAgIHZvaWQgY2xlYXJUcmFuc2Zvcm1hYmxl
RnJhbWVDYWxsYmFjaygpIGZpbmFsOworICAgIE1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX21lZGlhVHlwZTsgfQorICAgIFNpZGUgc2lkZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG1fc2lkZTsgfQorCisgICAgLy8gd2VicnRjOjpGcmFtZVRyYW5zZm9ybWVySW50
ZXJmYWNlCisgICAgdm9pZCBUcmFuc2Zvcm0oc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNm
b3JtYWJsZUZyYW1lSW50ZXJmYWNlPikgZmluYWw7CisgICAgdm9pZCBSZWdpc3RlclRyYW5zZm9y
bWVkRnJhbWVDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZy
YW1lQ2FsbGJhY2s+KSBmaW5hbDsKKyAgICB2b2lkIFJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZVNp
bmtDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2Fs
bGJhY2s+LCB1aW50MzJfdCBzc3JjKSBmaW5hbDsKKyAgICB2b2lkIFVucmVnaXN0ZXJUcmFuc2Zv
cm1lZEZyYW1lQ2FsbGJhY2soKSBmaW5hbDsKKyAgICB2b2lkIFVucmVnaXN0ZXJUcmFuc2Zvcm1l
ZEZyYW1lU2lua0NhbGxiYWNrKHVpbnQzMl90IHNzcmMpIGZpbmFsOworICAgIHZvaWQgQWRkUmVm
KCkgY29uc3QgZmluYWwgeyByZWYoKTsgfQorICAgIHJ0Yzo6UmVmQ291bnRSZWxlYXNlU3RhdHVz
IFJlbGVhc2UoKSBjb25zdCBmaW5hbDsKKworICAgIE1lZGlhVHlwZSBtX21lZGlhVHlwZTsKKyAg
ICBTaWRlIG1fc2lkZTsKKworICAgIExvY2sgbV9pbnB1dENhbGxiYWNrTG9jazsKKyAgICBDYWxs
YmFjayBtX2lucHV0Q2FsbGJhY2s7CisKKyAgICBMb2NrIG1fb3V0cHV0Q2FsbGJhY2tMb2NrOwor
ICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4g
bV9vdXRwdXRDYWxsYmFjazsKK307CisKK2lubGluZSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKE1lZGlhVHlwZSBtZWRpYVR5cGUsIFNp
ZGUgc2lkZSkKKyAgICA6IG1fbWVkaWFUeXBlKG1lZGlhVHlwZSkKKyAgICAsIG1fc2lkZShzaWRl
KQoreworfQorCitpbmxpbmUgcnRjOjpSZWZDb3VudFJlbGVhc2VTdGF0dXMgTGliV2ViUlRDUnRw
VHJhbnNmb3JtQmFja2VuZDo6UmVsZWFzZSgpIGNvbnN0Cit7CisgICAgZGVyZWYoKTsKKyAgICBy
ZXR1cm4gcnRjOjpSZWZDb3VudFJlbGVhc2VTdGF0dXM6OmtPdGhlclJlZnNSZW1haW5lZDsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYm
IFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyODYzMmM2ZTE3YjExZmY3OGNlMjM1MTE5N2Zm
YTBlM2E0N2YxNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaApAQCAt
MCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlICJS
VENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUgZmluYWwgOiBwdWJsaWMgUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoK
KyAgICBleHBsaWNpdCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoc3RkOjp1bmlxdWVf
cHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiYmKTsKKyAgICB2aXJ0dWFs
IH5MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoKSA9IGRlZmF1bHQ7CisKKyAgICBzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiB0
b1JUQ0ZyYW1lKExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmKTsKKworcHJpdmF0ZToK
KyAgICBEYXRhIGRhdGEoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHNldERhdGEoRGF0YSBkYXRh
KSBmaW5hbCB7IG1fcnRjRnJhbWUtPlNldERhdGEoeyBkYXRhLmRhdGEsIGRhdGEuc2l6ZSB9KTsg
fQorCisgICAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJm
YWNlPiBtX3J0Y0ZyYW1lOworfTsKKworaW5saW5lIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKHN0ZDo6dW5pcXVlX3B0cjx3ZWJy
dGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4mJiBmcmFtZSkKKyAgICA6IG1fcnRjRnJh
bWUoV1RGTW92ZShmcmFtZSkpCit7Cit9CisKK2lubGluZSBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRj
OjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZTo6dG9SVENGcmFtZShMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJiBmcmFtZSkK
K3sKKyAgICByZXR1cm4gV1RGTW92ZShmcmFtZS5tX3J0Y0ZyYW1lKTsKK30KKworaW5saW5lIFJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6RGF0YSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJh
bWU6OmRhdGEoKSBjb25zdAoreworICAgIGF1dG8gZGF0YSA9IG1fcnRjRnJhbWUtPkdldERhdGEo
KTsKKyAgICByZXR1cm4geyBkYXRhLmJlZ2luKCksIGRhdGEuc2l6ZSgpIH07Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAppbmRleCBmOTVhZmY2N2M5NDU2MzQyNjJhYzM5YTFiMzljODA0MTc5NGM0NmRiLi42NGE1ZDVk
NGQ0NzA2NDY5M2MwNWZmODcyMWVjNWUzN2IwNTM5NTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTY0
LDEyICsxNjQsMTYgQEAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5jcHAK
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25JY2VFdmVudC5jcHAKIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFNlbmRlci5jcHAKK01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmNwcAog
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlci5jcHAKIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENU
cmFja0V2ZW50LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFDb250cm9sbGVyLmNw
cAogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAogTW9kdWxlcy9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQ2VydGlmaWNhdGVHZW5lcmF0b3IuY3BwCitNb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQuY3BwCitNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5k
ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcAorTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAKIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3Rp
ZmljYXRpb24uY3BwCiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQ29udHJvbGxl
ci5jcHAKIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3Bw
CkBAIC0zMzIwLDYgKzMzMjQsNyBAQCBKU1JUQ1J0cFNlbmRlci5jcHAKIEpTUlRDUnRwU3luY2hy
b25pemF0aW9uU291cmNlLmNwcAogSlNSVENSdHBUcmFuc2NlaXZlci5jcHAKIEpTUlRDUnRwVHJh
bnNjZWl2ZXJEaXJlY3Rpb24uY3BwCitKU1JUQ1J0cFRyYW5zZm9ybS5jcHAKIEpTUlRDU2RwVHlw
ZS5jcHAKIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcAogSlNSVENTZXNzaW9uRGVzY3JpcHRp
b25Jbml0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IGJiODI0ODZmYjk0ZTY1Yzc5NWE2Nzc3NjZhZGYxMzQxOGY5ZmU3M2Yu
LmM5OGQxNmE5MWI4YzFjZDA0ZjcwYWRjZWU2ZmRkZmVhNGQ5MTRkMDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNDcsNiAr
MTA0Nyw5IEBACiAJCTQxMzhGODU4MUQyNTNGMEUwMDFDQjYxRSAvKiBKU0RPTUl0ZXJhdG9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTM4Rjg1NjFE
MjUzRUVFMDAxQ0I2MUUgLyogSlNET01JdGVyYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxM0ExQUEyMjM3MUE4QjQwMDdFRjNBNSAvKiBK
U0RPTVNldExpa2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxM0ExQTlGMjM3MUE4QTgwMDdFRjNBNSAvKiBKU0RPTVNldExpa2UuaCAqLzsgfTsKIAkJ
NDEzQzJDMzQxQkMyOUE4RjAwNzUyMDRDIC8qIEpTRE9NQ29uc3RydWN0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0MyQzMzMUJDMjlBN0IwMDc1
MjA0QyAvKiBKU0RPTUNvbnN0cnVjdG9yLmggKi87IH07CisJCTQxM0M4QjMzMjU1MkYyN0QwMEU2
NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNDOEIyRTI1NTJGMjdCMDBFNjUwNTUgLyogUlRD
UnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oICovOyB9OworCQk0MTNDOEIzNDI1NTJGMjdEMDBFNjUw
NTUgLyogUlRDUnRwVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTNDOEIyRjI1NTJGMjdCMDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3Jt
LmggKi87IH07CisJCTQxM0M4QjM1MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcldp
dGhUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxM0M4QjMwMjU1MkYyN0MwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zv
cm0uaCAqLzsgfTsKIAkJNDEzQ0NENEEyMERFMDM0RjAwNjVBMjFBIC8qIE1vY2tNZWRpYURldmlj
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQ0NE
NDgyMERFMDEzQzAwNjVBMjFBIC8qIE1vY2tNZWRpYURldmljZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxM0UwMDc5MURCMEU0RjIwMDIzNDFE
MiAvKiBNZW1vcnlSZWxlYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTNFMDA3ODFEQjBFNERFMDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNDQ2MEEy
MjQxMjk5NDUwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVudGlmaWVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTQ0NjBBMDI0MTI5OTQxMDA4MTRC
RTcgLyogTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMDk5LDYgKzExMDIsMTMgQEAKIAkJNDE3RjdBRUYy
MTM5QkY2RjAwRkJBN0VDIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3RjdBRUQyMTM5QkY2NTAwRkJB
N0VDIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxODE1QzFFMTM4MzE5ODMwMDU3QUFBNCAvKiBX
ZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE4MTVDMUMxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9y
dC5jcHAgKi87IH07CiAJCTQxODE1QzFGMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1
cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
ODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTgxQzVDOTI1NTU3M0RG
MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MUM1QzgyNTU1NzNERjAwQUVCMEZGIC8qIFJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLzsgfTsKKwkJNDE4MUM1Q0IyNTU1ODJFNDAwQUVCMEZG
IC8qIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MUM1Q0EyNTU1ODJFMzAwQUVCMEZGIC8qIFJUQ1J0cFRy
YW5zZm9ybWFibGVGcmFtZS5oICovOyB9OworCQk0MTgxQzVDRDI1NTU4MzY5MDBBRUIwRkYgLyog
TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVDQzI1NTU4MzY4MDBBRUIwRkYgLyogTGliV2Vi
UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi87IH07CisJCTQxODFDNUQxMjU1NTg5NTYwMEFF
QjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVDRjI1NTU4OTU2MDBBRUIwRkYgLyog
TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oICovOyB9OworCQk0MTgxQzVENjI1NTVDMUI5
MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MUM1RDUyNTU1QzFCOTAwQUVCMEZGIC8qIE1vY2tS
VENSdHBUcmFuc2Zvcm0uaCAqLzsgfTsKKwkJNDE4MUM1RDcyNTU1QzQ5QTAwQUVCMEZGIC8qIE1v
Y2tSVENSdHBUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE4MUM1RDMyNTU1QzFCMTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zv
cm0uY3BwICovOyB9OworCQk0MTgxQzYzOTI1NUFFOTBGMDBBRUIwRkYgLyogSlNNb2NrUlRDUnRw
VHJhbnNmb3JtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJENkYzRTkyMUMxRjg1NTUwMDYxREJFNCAvKiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3Bw
ICovOyB9OwogCQk0MTgyMDU0NzFFNTNFOThDMDBENjIyMDcgLyogUlRDQ29udHJvbGxlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MjA1NDUxRTUz
QzhDRDAwRDYyMjA3IC8qIFJUQ0NvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTgyNkJGMjIzRkI1OTc3MDBCOTIyQjEgLyogRG9j
dW1lbnRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTgyNkJGMTIzRkI1OTcwMDBCOTIyQjEgLyogRG9jdW1lbnRJZGVudGlmaWVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4NEY1
MTYxRUFGMDVBODAwRjE4QkYwIC8qIE9yaWVudGF0aW9uTm90aWZpZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODRGNTE1MUVBRjA1OTgwMEYxOEJG
MCAvKiBPcmllbnRhdGlvbk5vdGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTcwMzMsNiArNzA0Myw3IEBACiAJCTJENkYzRTkyMUMxRjg1
NTUwMDYxREJENCAvKiBKU01vY2tQYWdlT3ZlcmxheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU01vY2tQYWdlT3ZlcmxheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJENSAvKiBKU0ludGVybmFsc1NldExp
a2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbnRlcm5hbHNT
ZXRMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ2RjNFOTIxQzFGODU1
NTAwNjFEQkQ2IC8qIEpTSW50ZXJuYWxzTWFwTGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0ludGVybmFsc01hcExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURCRTQgLyogSlNNb2NrUlRDUnRwVHJh
bnNmb3JtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9ja1JU
Q1J0cFRyYW5zZm9ybS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENkYzRTkz
MUMxRjg1NTUwMDYxREJENCAvKiBKU01vY2tQYWdlT3ZlcmxheS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU01vY2tQYWdlT3ZlcmxheS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkyRDcwQkExMjE4MDc0RERGMDAwMTkwOEEgLyogUGxhdGZvcm1DQUxheWVyQ29j
b2EuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DQUxheWVyQ29j
b2EuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ3MEJBMTQxODA3NEY4NTAwMDE5
MDhBIC8qIFBsYXRmb3JtQ0FMYXllci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBQbGF0Zm9ybUNBTGF5ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNzU2Miw2ICs3NTczLDEyIEBACiAJCTQxM0ExQTlGMjM3MUE4QTgwMDdFRjNBNSAvKiBKU0RP
TVNldExpa2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01TZXRMaWtlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxM0ExQUExMjM3MUE4QTkwMDdFRjNBNSAvKiBKU0RPTVNldExpa2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01TZXRMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDEzQzJDMzMxQkMyOUE3QjAwNzUyMDRDIC8qIEpTRE9NQ29uc3RydWN0
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Db25zdHJ1Y3Rvci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIyNDI1NTJFRUE5MDBFNjUwNTUg
LyogUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAi
UlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxM0M4QjI2MjU1MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIyOTI1NTJGMDEzMDBFNjUwNTUgLyog
UlRDUnRwVHJhbnNmb3JtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBUcmFuc2Zv
cm0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIyRTI1NTJGMjdCMDBF
NjUwNTUgLyogUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxM0M4QjJGMjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zv
cm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDUnRwVHJhbnNmb3JtLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0M4QjMwMjU1MkYyN0MwMEU2NTA1NSAv
KiBSVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxM0NDRDQ4MjBERTAxM0MwMDY1QTIxQSAvKiBNb2NrTWVkaWFEZXZpY2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9ja01lZGlhRGV2aWNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxM0UwMDc3MURCMEU0REUwMDIzNDFEMiAvKiBN
ZW1vcnlSZWxlYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1l
bW9yeVJlbGVhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNFMDA3ODFE
QjBFNERFMDAyMzQxRDIgLyogTWVtb3J5UmVsZWFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNZW1vcnlSZWxlYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC03NjcyLDYgKzc2ODksMTkgQEAKIAkJNDE4MTVDMUMxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNv
cmVUZXN0U3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJDb3JlVGVzdFN1cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTgx
NUMxRDEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RT
dXBwb3J0LnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYkNvcmVU
ZXN0U3VwcG9ydC54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1
QkUyNTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oOyBw
YXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzAyNTUzRUI2RTAwQUVCMEZGIC8qIExp
YldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwOyBwYXRoID0gbGlid2Vi
cnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUMxMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJXZWJSVENS
dHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExpYldlYlJU
Q1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJU
Q1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MTgxQzVDMjI1NTNFQjZGMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFu
c2Zvcm1CYWNrZW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNm
b3JtQmFja2VuZC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNm
b3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDNjI1NTU3
MzUxMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9ybS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxODFDNUM4MjU1NTczREYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1Q0EyNTU1ODJFMzAw
QUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDE4MUM1Q0MyNTU1ODM2ODAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRy
YW5zZm9ybWFibGVGcmFtZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJX
ZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4
MUM1Q0UyNTU1ODk1NTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5jcHA7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUNGMjU1NTg5NTYw
MEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaDsgcGF0aCA9
IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxODFDNUQzMjU1NUMxQjEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJh
bnNmb3JtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1vY2tSVENS
dHBUcmFuc2Zvcm0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVENTI1
NTVDMUI5MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNb2NrUlRDUnRwVHJhbnNmb3JtLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQxODFDNjM2MjU1QUUyNjEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNm
b3JtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBNb2NrUlRDUnRwVHJhbnNmb3JtLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDE4MjA1NDUxRTUzQzhDRDAwRDYyMjA3IC8qIFJUQ0NvbnRyb2xsZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDQ29udHJvbGxlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTgyMDU0ODFFNTNFQUFEMDBENjIyMDcgLyogUlRDQ29u
dHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSVENDb250
cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4MjZCRjEyM0ZCNTk3
MDAwQjkyMkIxIC8qIERvY3VtZW50SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEb2N1bWVudElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE3MDQzLDE2ICsxNzA3MywyMCBAQAogCQkJCTQxRTU5NDAwMjE0ODY1QUEwMEQzQ0I2
MSAvKiBSVENSdHBIZWFkZXJFeHRlbnNpb25QYXJhbWV0ZXJzLmlkbCAqLywKIAkJCQk0MUE0OEFB
ODFFODRBRjFEMDBEMkFDMkQgLyogUlRDUnRwUGFyYW1ldGVycy5oICovLAogCQkJCTQxQTQ4QUE3
MUU4NEFFRUMwMEQyQUMyRCAvKiBSVENSdHBQYXJhbWV0ZXJzLmlkbCAqLywKKwkJCQk0MTNDOEIy
NDI1NTJFRUE5MDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbCAqLywKIAkJ
CQk1RTJDNDM1NjFCQ0VFMzBEMDAwMUUyQkMgLyogUlRDUnRwUmVjZWl2ZXIuY3BwICovLAogCQkJ
CTVFMkM0MzU3MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBSZWNlaXZlci5oICovLAogCQkJCTVF
MkM0MzU4MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBSZWNlaXZlci5pZGwgKi8sCiAJCQkJNDFE
MUEwNDgyMTNFRERFQjAwNjNGQjZCIC8qIFJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oICovLAorCQkJ
CTQxM0M4QjMwMjU1MkYyN0MwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0u
aCAqLywKIAkJCQk0MUZDQjc2MDIxNDg2NzAwMDAzOEFEQzYgLyogUlRDUnRwUnR4UGFyYW1ldGVy
cy5oICovLAogCQkJCTQxRkNCNzU4MjE0ODY1RDIwMDM4QURDNiAvKiBSVENSdHBSdHhQYXJhbWV0
ZXJzLmlkbCAqLywKKwkJCQk0MTNDOEIyNjI1NTJFRUE5MDBFNjUwNTUgLyogUlRDUnRwU2VuZGVy
K1RyYW5zZm9ybS5pZGwgKi8sCiAJCQkJNUUyQzQzNTkxQkNFRTMwRDAwMDFFMkJDIC8qIFJUQ1J0
cFNlbmRlci5jcHAgKi8sCiAJCQkJNUUyQzQzNUExQkNFRTMwRDAwMDFFMkJDIC8qIFJUQ1J0cFNl
bmRlci5oICovLAogCQkJCTVFMkM0MzVCMUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBTZW5kZXIu
aWRsICovLAogCQkJCTQxRDFBMDQ2MjEzRURERUIwMDYzRkI2QiAvKiBSVENSdHBTZW5kZXJCYWNr
ZW5kLmggKi8sCisJCQkJNDEzQzhCMkUyNTUyRjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldp
dGhUcmFuc2Zvcm0uaCAqLywKIAkJCQk0MTRBRDNGQzIxNDk4NDIwMDA1MjE2NzYgLyogUlRDUnRw
U2VuZFBhcmFtZXRlcnMuaCAqLywKIAkJCQk0MTRBRDNGRTIxNDk4NDIwMDA1MjE2NzYgLyogUlRD
UnRwU2VuZFBhcmFtZXRlcnMuaWRsICovLAogCQkJCTQxNUUxQkI2MjE1MDE1MkEwMDIyREE5NiAv
KiBSVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaCAqLywKQEAgLTE3MDYyLDYgKzE3MDk2LDEx
IEBACiAJCQkJNUU1RTJCMTIxQ0ZDM0U0QjAwMEMwRDg1IC8qIFJUQ1J0cFRyYW5zY2VpdmVyLmlk
bCAqLywKIAkJCQk0MTg2QkQ0NjIxNDA3MkI2MDAwMTgyNkYgLyogUlRDUnRwVHJhbnNjZWl2ZXJC
YWNrZW5kLmggKi8sCiAJCQkJMzE2RENCMTcxRTc4QzMzMDAwMUI1Rjg3IC8qIFJUQ1J0cFRyYW5z
Y2VpdmVyRGlyZWN0aW9uLmlkbCAqLywKKwkJCQk0MTgxQzVDNjI1NTU3MzUxMDBBRUIwRkYgLyog
UlRDUnRwVHJhbnNmb3JtLmNwcCAqLywKKwkJCQk0MTNDOEIyRjI1NTJGMjdCMDBFNjUwNTUgLyog
UlRDUnRwVHJhbnNmb3JtLmggKi8sCisJCQkJNDEzQzhCMjkyNTUyRjAxMzAwRTY1MDU1IC8qIFJU
Q1J0cFRyYW5zZm9ybS5pZGwgKi8sCisJCQkJNDE4MUM1Q0EyNTU1ODJFMzAwQUVCMEZGIC8qIFJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oICovLAorCQkJCTQxODFDNUM4MjU1NTczREYwMEFFQjBG
RiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDEwRjU2NTgyNEZDRjg1NDAw
QTJFNTBDIC8qIFJUQ1NkcFR5cGUuaWRsICovLAogCQkJCTA3MjIxQjdBMTdDRUMzMjcwMDg0OEU1
MSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwICovLAogCQkJCTA3MjIxQjdCMTdDRUMzMjcw
MDg0OEU1MSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb24uaCAqLywKQEAgLTE5MTI0LDEwICsxOTE2
MywxNyBAQAogCQkJCTQxNzYxMkFFMUUzQTk5M0IwMEMzRDgxRCAvKiBMaWJXZWJSVENQZWVyQ29u
bmVjdGlvbkJhY2tlbmQuaCAqLywKIAkJCQk0MUQxQTA0QTIxM0VEREZFMDA2M0ZCNkIgLyogTGli
V2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNwcCAqLywKIAkJCQk0MTg2QkQzQjIxM0VERTM4MDAw
MTgyNkYgLyogTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmggKi8sCisJCQkJNDE4MUM1QzAy
NTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5j
cHAgKi8sCisJCQkJNDE4MUM1QzIyNTUzRUI2RjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFJlY2Vp
dmVyVHJhbnNmb3JtQmFja2VuZC5oICovLAogCQkJCTQxRDFBMDRCMjEzRURERkUwMDYzRkI2QiAv
KiBMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcCAqLywKIAkJCQk0MTg2QkQzRDIxM0VERTM5
MDAwMTgyNkYgLyogTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oICovLAorCQkJCTQxODFDNUMx
MjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNw
cCAqLywKKwkJCQk0MTgxQzVCRTI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZC5oICovLAogCQkJCTQxODZCRDREMjE0MEI5RTgwMDAxODI2RiAvKiBM
aWJXZWJSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuY3BwICovLAogCQkJCTQxODZCRDRCMjE0MEE4
MDUwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuaCAqLywKKwkJCQk0
MTgxQzVDQzI1NTU4MzY4MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1l
LmggKi8sCisJCQkJNDE4MUM1Q0UyNTU1ODk1NTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuY3BwICovLAorCQkJCTQxODFDNUNGMjU1NTg5NTYwMEFFQjBGRiAvKiBMaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDFEMjhEMEIyMTM5RTAxRDAwRjQy
MDZGIC8qIExpYldlYlJUQ1N0YXRzQ29sbGVjdG9yLmNwcCAqLywKIAkJCQk0MUQyOEQwQzIxMzlF
MDFFMDBGNDIwNkYgLyogTGliV2ViUlRDU3RhdHNDb2xsZWN0b3IuaCAqLywKIAkJCQk0MUQxQTA0
OTIxM0VEREZEMDA2M0ZCNkIgLyogTGliV2ViUlRDVXRpbHMuY3BwICovLApAQCAtMTkyMDgsNiAr
MTkyNTQsOSBAQAogCQkJCUExQ0JFRjYzMUY5RjExMjkwMDI4REU3QyAvKiBNb2NrUGF5bWVudE1l
dGhvZC5oICovLAogCQkJCUExNDA2MTg5MUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUHJldmlld0xv
YWRlckNsaWVudC5jcHAgKi8sCiAJCQkJQTE0MDYxOEExRTJFQ0EwQTAwMzJCMzRFIC8qIE1vY2tQ
cmV2aWV3TG9hZGVyQ2xpZW50LmggKi8sCisJCQkJNDE4MUM1RDMyNTU1QzFCMTAwQUVCMEZGIC8q
IE1vY2tSVENSdHBUcmFuc2Zvcm0uY3BwICovLAorCQkJCTQxODFDNUQ1MjU1NUMxQjkwMEFFQjBG
RiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmggKi8sCisJCQkJNDE4MUM2MzYyNTVBRTI2MTAwQUVC
MEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaWRsICovLAogCQkJCTU3MTU2MTA4MjM0QzFCMzEw
MDhGQzdBQiAvKiBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmggKi8sCiAJCQkJ
NTcxNTYxMEQyMzRDNzQ4MTAwOEZDN0FCIC8qIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3Vy
YXRpb24uaWRsICovLAogCQkJCTQxN0YwRDgwMUZGRUUxNEYwMDhFRjMwMyAvKiBTZXJ2aWNlV29y
a2VySW50ZXJuYWxzLmNwcCAqLywKQEAgLTE5MjYzLDYgKzE5MzEyLDcgQEAKIAkJCQlBMTQ2RDMx
ODFGOTlCQ0JBMDBEMjkxOTYgLyogSlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmggKi8sCiAJCQkJ
QTFCQjg1QjQyMTU5QjM4OTAwNjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5jcHAgKi8sCiAJ
CQkJQTFCQjg1QjUyMTU5QjM4QTAwNjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5oICovLAor
CQkJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJFNCAvKiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3Bw
ICovLAogCQkJCTU3MTU2MTExMjM0QzdGQkMwMDhGQzdBQiAvKiBKU01vY2tXZWJBdXRoZW50aWNh
dGlvbkNvbmZpZ3VyYXRpb24uY3BwICovLAogCQkJCTU3MTU2MTEwMjM0QzdGQkMwMDhGQzdBQiAv
KiBKU01vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQk0MjdEQTcx
QjEzNzM1REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCAqLywKQEAg
LTMzMjE3LDYgKzMzMjY3LDggQEAKIAkJCQk0MTc2MTJCMjFFM0E5OTQwMDBDM0Q4MUQgLyogTGli
V2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTU3NDc0
ODFFMzg2OUE3MDBFOTE0RDggLyogTGliV2ViUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxQjI4QjNEMUY4NjBFRjMwMEZCNTJBQyAvKiBMaWJXZWJSVENQcm92aWRlckNvY29hLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVDRDI1NTU4MzY5MDBBRUIwRkYgLyogTGliV2ViUlRD
UnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVEMTI1NTU4
OTU2MDBBRUIwRkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDEwRTQ0NjEyMzQzNzNFOTAwMDE3M0Q0IC8qIExpYldlYlJUQ1NvY2tldElkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0NzMwRDkxMTI0OEYwQjMwMEQzQTlDOSAvKiBM
aWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5NjUwRDAwQkYyMjAwNzFCNzgy
IC8qIExpbmVhckdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMzQxMSw2
ICszMzQ2Myw3IEBACiAJCQkJNEEwRkZBOUUxQUFGNUU3RTAwNjI4MDNCIC8qIE1vY2tSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0VFNzZFQzFCRTk2REIw
MDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA3RUU3NkVGMUJFQTYxOTgwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZU1hYy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNDE4MUM1RDYyNTU1QzFCOTAwQUVCMEZGIC8qIE1vY2tSVENS
dHBUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDE3MTgyMDU0MDcwMEYyQjQy
NCAvKiBNb2NrU291cmNlQnVmZmVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RGMkIw
MTkxODIwNTQwNzAwRjJCNDI0IC8qIE1vY2tUcmFja3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTU3
MTU2MTBDMjM0QzFDQTEwMDhGQzdBQiAvKiBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0
aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTM0MDM3LDkgKzM0MDkwLDE0IEBACiAJCQkJMDc4RTA5
MjQxN0QxNEQxQzAwNDIwQUExIC8qIFJUQ1BlZXJDb25uZWN0aW9uSWNlRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxMkRFNEI4MjE5Mjg1QzAwMDc1RjNBNyAvKiBSVENSdHBDYXBhYmlsaXRp
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTVFMkM0MzYzMUJDRUUzMkIwMDAxRTJCQyAvKiBSVENS
dHBSZWNlaXZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzQzhCMzUyNTUyRjI3RDAwRTY1MDU1
IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUUy
QzQzNjExQkNFRTMyMzAwMDFFMkJDIC8qIFJUQ1J0cFNlbmRlci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDEzQzhCMzMyNTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0u
aCBpbiBIZWFkZXJzICovLAogCQkJCTVFNUUyQjE0MUNGQzNFNzUwMDBDMEQ4NSAvKiBSVENSdHBU
cmFuc2NlaXZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFFQjU0REYxRTdEQzc0NDAwQzE2MjNC
IC8qIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTND
OEIzNDI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmggaW4gSGVhZGVycyAqLywK
KwkJCQk0MTgxQzVDQjI1NTU4MkU0MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1l
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVDOTI1NTU3M0RGMDBBRUIwRkYgLyogUlRDUnRw
VHJhbnNmb3JtQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzEzNTkxMEExRTdEREM3MzAw
RjMwNjMwIC8qIFJUQ1NkcFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OEUwOTI2MTdEMTRE
MUMwMDQyMEFBMSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA3OEUwOTQzMTdEMTZFMUMwMDQyMEFBMSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlw
dG9yLmggaW4gSGVhZGVycyAqLywKQEAgLTM1NDk1LDYgKzM1NTUzLDcgQEAKIAkJCQlBMTA0RUM1
RDIyMEEzRTRCMDBDQkY2N0EgLyogSlNNb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTE0NkQzMUExRjk5QkNGODAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRD
b29yZGluYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUJCODVCODIxNTlCM0E0MDA2N0Uw
N0QgLyogSlNNb2NrUGF5bWVudEVycm9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxODFDNjM5
MjU1QUU5MEYwMEFFQjBGRiAvKiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTcxNTYxMTQyMzRDN0ZENjAwOEZDN0FCIC8qIEpTTW9ja1dlYkF1dGhlbnRpY2F0
aW9uQ29uZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MjdEQTcxRDEzNzM1REZB
MDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUVCRjUxMjFDMTY5NjQ5NkMwMDU2QkQyNSAvKiBKU1R5cGVDb252ZXJzaW9ucy5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTM1NTEwLDYgKzM1NTY5LDcgQEAKIAkJCQkyRDk3RjA0NzE5REQ0MTND
MDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUExQUZFREU3MUY4QkZGNkQwMDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUExNDA2MThCMUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUHJldmll
d0xvYWRlckNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTgxQzVENzI1NTVDNDlBMDBB
RUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBQTVG
M0I4RjE2Q0M0QjM5MDA0NTVFQjAgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplck1vY2suY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDE3RjBEODIxRkZFRTk3OTAwOEVGMzAzIC8qIFNlcnZpY2VX
b3JrZXJJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFENDFDNjcyMjU2ODc0RjAw
Njk3OTQyIC8qIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMubW0gaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBl
ZTI0YTQ5YTI1YTJkMzdkNjFlMWRjMGZlNDc3N2IwMDNmOTJkMjM3Li41YWU3MzRkOTA5MGMwZDBm
NzU0NGQxNGY2Y2JiZDMxMzEzNGYxMmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xNzQsNiArMTc0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIG1hY3JvKE1lZGlhU3RyZWFtKSBcCiAgICAgbWFjcm8oTWVkaWFTdHJl
YW1UcmFjaykgXAogICAgIG1hY3JvKE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KSBcCisgICAgbWFj
cm8oTW9ja1JUQ1J0cFRyYW5zZm9ybSkgXAogICAgIG1hY3JvKE1vZGVybk1lZGlhQ29udHJvbHMp
IFwKICAgICBtYWNybyhOYXZpZ2F0b3JDcmVkZW50aWFscykgXAogICAgIG1hY3JvKE5hdmlnYXRv
ck1lZGlhRGV2aWNlcykgXApAQCAtMjIwLDYgKzIyMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBtYWNybyhSVENSdHBSZWNlaXZlcikgXAogICAgIG1hY3JvKFJUQ1J0cFNlbmRlcikgXAog
ICAgIG1hY3JvKFJUQ1J0cFRyYW5zY2VpdmVyKSBcCisgICAgbWFjcm8oUlRDUnRwVHJhbnNmb3Jt
KSBcCiAgICAgbWFjcm8oUlRDU2Vzc2lvbkRlc2NyaXB0aW9uKSBcCiAgICAgbWFjcm8oUlRDU3Rh
dHNSZXBvcnQpIFwKICAgICBtYWNybyhSVENUcmFja0V2ZW50KSBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDM0YWZhNzc2
YmQ1MjM3MzAwOThlYzIxYzIzZTc0MTAwYTgwYzQyNWQuLjI3Yzc5N2QzNDBkYjQ2YjdlMzFiYTZk
YmViMjkxY2M0MzkyNTgwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0zMjIyLDkgKzMyMjIsOSBAQCBzdWIgR2VuZXJh
dGVIZWFkZXIKICAgICBpZiAoU2hvdWxkR2VuZXJhdGVXcmFwcGVyT3duZXJDb2RlKCRoYXNQYXJl
bnQsICRpbnRlcmZhY2UpKSB7CiAgICAgICAgIGlmICgkaW50ZXJmYWNlTmFtZSBuZSAiTm9kZSIg
JiYgJGNvZGVHZW5lcmF0b3ItPkluaGVyaXRzSW50ZXJmYWNlKCRpbnRlcmZhY2UsICJOb2RlIikp
IHsKICAgICAgICAgICAgICRoZWFkZXJJbmNsdWRlc3siSlNOb2RlLmgifSA9IDE7Ci0gICAgICAg
ICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiY2xhc3MgSlMke2ludGVyZmFjZU5hbWV9T3duZXIg
OiBwdWJsaWMgSlNOb2RlT3duZXIge1xuIik7CisgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250
ZW50LCAiY2xhc3MgJHtleHBvcnRNYWNyb31KUyR7aW50ZXJmYWNlTmFtZX1Pd25lciA6IHB1Ymxp
YyBKU05vZGVPd25lciB7XG4iKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHB1c2go
QGhlYWRlckNvbnRlbnQsICJjbGFzcyBKUyR7aW50ZXJmYWNlTmFtZX1Pd25lciA6IHB1YmxpYyBK
U0M6OldlYWtIYW5kbGVPd25lciB7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRl
bnQsICJjbGFzcyAke2V4cG9ydE1hY3JvfUpTJHtpbnRlcmZhY2VOYW1lfU93bmVyIDogcHVibGlj
IEpTQzo6V2Vha0hhbmRsZU93bmVyIHtcbiIpOwogICAgICAgICB9CiAgICAgICAgICRoZWFkZXJJ
bmNsdWRlc3siPHd0Zi9OZXZlckRlc3Ryb3llZC5oPiJ9ID0gMTsKICAgICAgICAgcHVzaChAaGVh
ZGVyQ29udGVudCwgInB1YmxpYzpcbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCmluZGV4IGZiZjZmMzhk
NmI2MWU4ZDVlYTNiN2UxYWY5NjkyZGUxY2QwMGU3ZDcuLjZiYTQzMzRkM2IxMjViYjA0MDZmOTEy
YjQ5MTJhMDgzODAwNmU3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKQEAgLTg5LDcgKzg5LDcgQEAg
cHJvdGVjdGVkOgogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogfTsKIAotY2xh
c3MgSlNUZXN0SW50ZXJmYWNlT3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIgewor
Y2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNUZXN0SW50ZXJmYWNlT3duZXIgOiBwdWJsaWMgSlNDOjpX
ZWFrSGFuZGxlT3duZXIgewogcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1JlYWNoYWJsZUZy
b21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+LCB2b2lkKiBjb250ZXh0LCBK
U0M6OlNsb3RWaXNpdG9yJiwgY29uc3QgY2hhcioqKTsKICAgICB2aXJ0dWFsIHZvaWQgZmluYWxp
emUoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiwgdm9pZCogY29udGV4dCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggODUzYjY5N2Y3YTMwY2IwMTg4MTY4ZDBmNTFjNzBi
NTg1ZGM2ZDQ1Ny4uMTYxYTI4ZjQxM2YwZWUxMmNhMGZjMjNiNTA3YmQ0NDE2OTI5YjEzZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMTM4LDYgKzEzOCw3IEBACiAjaW5j
bHVkZSAiTW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiTW9ja1BhZ2VP
dmVybGF5LmgiCiAjaW5jbHVkZSAiTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmgiCisjaW5jbHVkZSAi
TW9ja1JUQ1J0cFRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIk5hdmlnYXRvckJlYWNvbi5oIgogI2lu
Y2x1ZGUgIk5hdmlnYXRvck1lZGlhRGV2aWNlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtMb2FkSW5m
b3JtYXRpb24uaCIKQEAgLTE1NzksNiArMTU4MCwxMSBAQCB2b2lkIEludGVybmFsczo6c2V0V2Vi
UlRDVlA5VlRCU3VwcG9ydChib29sIHZhbHVlKQogI2VuZGlmCiB9CiAKK1JlZjxNb2NrUlRDUnRw
VHJhbnNmb3JtPiBJbnRlcm5hbHM6OmNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKQoreworICAg
IHJldHVybiBNb2NrUlRDUnRwVHJhbnNmb3JtOjpjcmVhdGUoKTsKK30KKwogdm9pZCBJbnRlcm5h
bHM6OnNldEVuYWJsZVdlYlJUQ0VuY3J5cHRpb24oYm9vbCB2YWx1ZSkKIHsKICNpZiBVU0UoTElC
V0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYmI3ZDU1ZTIwZmRlYjVh
MWQ1OGIwOTljZjk3YWJlZTU5NTg0NGExOC4uMjQ4NWUxM2Q2ZDQ5NTYzNzllNjg2NjUwOGIwMTZl
YjE0MjRmZTY2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0zMiw2ICszMiw3
IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJIRVZDVXRpbGl0aWVzLmgi
CiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKKyNpbmNsdWRlICJNb2NrUlRDUnRwVHJhbnNmb3JtLmgi
CiAjaW5jbHVkZSAiT3JpZW50YXRpb25Ob3RpZmllci5oIgogI2luY2x1ZGUgIlBhZ2VDb25zb2xl
Q2xpZW50LmgiCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZS5oIgpAQCAtNjA2LDYgKzYw
Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdlYlJUQ0gyNjVTdXBwb3J0KGJvb2wpOwogICAg
IHZvaWQgc2V0V2ViUlRDVlA5U3VwcG9ydChib29sKTsKICAgICB2b2lkIHNldFdlYlJUQ1ZQOVZU
QlN1cHBvcnQoYm9vbCk7CisgICAgUmVmPE1vY2tSVENSdHBUcmFuc2Zvcm0+IGNyZWF0ZU1vY2tS
VENSdHBUcmFuc2Zvcm0oKTsKICAgICB2b2lkIHNldEVuYWJsZVdlYlJUQ0VuY3J5cHRpb24oYm9v
bCk7CiAgICAgdm9pZCBzZXRVc2VEVExTMTAoYm9vbCk7CiAgICAgdm9pZCBzZXRVc2VHUFVQcm9j
ZXNzRm9yV2ViUlRDKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4
IGJkYjllZTJjYjZjYTIxNWE4ZThkY2MyZDAwYTJmZTVkMDg1YmQ2NzAuLmIwMTU0YjI5ODU4MGJm
YWQzMzNhMTE0YWYzODRkMWRhOTA5ZTE2ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwKQEAgLTgwMiw2ICs4MDIsNyBAQCBlbnVtIFRyZWVUeXBlIHsKICAgICBbQ29uZGl0aW9u
YWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFdlYlJUQ0gyNjVTdXBwb3J0KGJvb2xlYW4gYWxsb3dl
ZCk7CiAgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5lZCBzZXRXZWJSVENWUDlTdXBw
b3J0KGJvb2xlYW4gYWxsb3dlZCk7CiAgICAgW0NvbmRpdGlvbmFsPVdFQl9SVENdIHVuZGVmaW5l
ZCBzZXRXZWJSVENWUDlWVEJTdXBwb3J0KGJvb2xlYW4gYWxsb3dlZCk7CisgICAgW0NvbmRpdGlv
bmFsPVdFQl9SVENdIE1vY2tSVENSdHBUcmFuc2Zvcm0gY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9y
bSgpOwogCiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZpbmVkIHNldE1vY2tB
dWRpb1RyYWNrQ2hhbm5lbE51bWJlcihNZWRpYVN0cmVhbVRyYWNrIHRyYWNrLCB1bnNpZ25lZCBz
aG9ydCBjb3VudCk7CiAgICAgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gdW5kZWZpbmVkIHNl
dFNob3VsZEludGVycnVwdEF1ZGlvT25QYWdlVmlzaWJpbGl0eUNoYW5nZShib29sZWFuIHNob3Vs
ZEludGVycnVwdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tSVENS
dHBUcmFuc2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNm
b3JtLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kNWQwODI3NThkOTFiODhkODgyZTM0MTNiNTIyMjQ1MmZjYzRk
ZGYyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRw
VHJhbnNmb3JtLmNwcApAQCAtMCwwICsxLDExNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNb2Nr
UlRDUnRwVHJhbnNmb3JtLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IE1vY2tSVENSdHBUcmFuc2Zvcm1lciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNb2Nr
UlRDUnRwVHJhbnNmb3JtZXIsIFdURjo6RGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW4+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPE1vY2tSVENSdHBUcmFuc2Zvcm1lcj4gY3JlYXRlKFJlZjxSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kPiYmIGJhY2tlbmQpCisgICAgeworICAgICAgICBhdXRvIHRyYW5z
Zm9ybWVyID0gYWRvcHRSZWYoKm5ldyBNb2NrUlRDUnRwVHJhbnNmb3JtZXIoV1RGTW92ZShiYWNr
ZW5kKSkpOworICAgICAgICB0cmFuc2Zvcm1lci0+bV9iYWNrZW5kLT5zZXRUcmFuc2Zvcm1hYmxl
RnJhbWVDYWxsYmFjayhbdHJhbnNmb3JtZXJdKGF1dG8mJiBmcmFtZSkgeworICAgICAgICAgICAg
dHJhbnNmb3JtZXItPnRyYW5zZm9ybShXVEZNb3ZlKGZyYW1lKSk7CisgICAgICAgIH0pOworICAg
ICAgICByZXR1cm4gdHJhbnNmb3JtZXI7CisgICAgfQorCisgICAgdm9pZCBjbGVhcigpCisgICAg
eworICAgICAgICBtX2JhY2tlbmQtPmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soKTsK
KyAgICAgICAgbV9iYWNrZW5kID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICB2b2lkIHRyYW5zZm9y
bShSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJiBmcmFtZSkKKyAgICB7CisgICAgICAgIG1faXNQ
cm9jZXNzaW5nID0gdHJ1ZTsKKworICAgICAgICBhdXRvIGRhdGEgPSBmcmFtZS5kYXRhKCk7Cisg
ICAgICAgIFZlY3Rvcjx1aW50OF90PiB0cmFuc2Zvcm1lZERhdGE7CisgICAgICAgIHNpemVfdCBz
dGFydCA9IG1faXNBdWRpbyA/IDAgOiAxMDA7CisgICAgICAgIGZvciAoc2l6ZV90IGNwdHIgPSAw
OyBjcHRyIDwgc3RhcnQ7ICsrY3B0cikKKyAgICAgICAgICAgIHRyYW5zZm9ybWVkRGF0YS5hcHBl
bmQoZGF0YS5kYXRhW2NwdHJdKTsKKyAgICAgICAgZm9yIChzaXplX3QgY3B0ciA9IHN0YXJ0OyBj
cHRyIDwgZGF0YS5zaXplOyArK2NwdHIpCisgICAgICAgICAgICB0cmFuc2Zvcm1lZERhdGEuYXBw
ZW5kKDI1NiAtIGRhdGEuZGF0YVtjcHRyXSk7CisgICAgICAgIGZyYW1lLnNldERhdGEoeyB0cmFu
c2Zvcm1lZERhdGEuZGF0YSgpLCBkYXRhLnNpemUgfSk7CisKKyAgICAgICAgbV9iYWNrZW5kLT5w
cm9jZXNzVHJhbnNmb3JtZWRGcmFtZShXVEZNb3ZlKGZyYW1lKSk7CisgICAgfQorCisgICAgYm9v
bCBpc1Byb2Nlc3NpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUHJvY2Vzc2luZzsgfQorCitwcml2
YXRlOgorICAgIGV4cGxpY2l0IE1vY2tSVENSdHBUcmFuc2Zvcm1lcihSZWY8UlRDUnRwVHJhbnNm
b3JtQmFja2VuZD4mJiBiYWNrZW5kKQorICAgICAgICA6IG1fYmFja2VuZChXVEZNb3ZlKGJhY2tl
bmQpKQorICAgICAgICAsIG1faXNTZW5kZXIobV9iYWNrZW5kLT5zaWRlKCkgPT0gUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDo6U2lkZTo6U2VuZGVyKQorICAgICAgICAsIG1faXNBdWRpbyhtX2JhY2tl
bmQtPm1lZGlhVHlwZSgpID09IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6QXVk
aW8pCisgICAgeworICAgIH0KKworICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBt
X2JhY2tlbmQ7CisgICAgYm9vbCBtX2lzU2VuZGVyOworICAgIGJvb2wgbV9pc0F1ZGlvOworICAg
IGJvb2wgbV9pc1Byb2Nlc3NpbmcgeyBmYWxzZSB9OworfTsKKworTW9ja1JUQ1J0cFRyYW5zZm9y
bTo6TW9ja1JUQ1J0cFRyYW5zZm9ybSgpCit7Cit9CisKK01vY2tSVENSdHBUcmFuc2Zvcm06On5N
b2NrUlRDUnRwVHJhbnNmb3JtKCkKK3sKK30KKworYm9vbCBNb2NrUlRDUnRwVHJhbnNmb3JtOjpp
c1Byb2Nlc3NpbmcoKSBjb25zdAoreworICAgIHJldHVybiBtX3RyYW5zZm9ybWVyID8gbV90cmFu
c2Zvcm1lci0+aXNQcm9jZXNzaW5nKCkgOiBmYWxzZTsKK30KKwordm9pZCBNb2NrUlRDUnRwVHJh
bnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQmIGJhY2tlbmQpCit7CisgICAgbV90cmFuc2Zvcm1lciA9IE1vY2tSVENSdHBUcmFuc2Zvcm1l
cjo6Y3JlYXRlKGJhY2tlbmQpOworfQorCit2b2lkIE1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRp
YWxpemVCYWNrZW5kRm9yU2VuZGVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmIGJhY2tlbmQpCit7
CisgICAgbV90cmFuc2Zvcm1lciA9IE1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6Y3JlYXRlKGJhY2tl
bmQpOworfQorCit2b2lkIE1vY2tSVENSdHBUcmFuc2Zvcm06OndpbGxDbGVhckJhY2tlbmQoUlRD
UnRwVHJhbnNmb3JtQmFja2VuZCYpCit7CisgICAgbV90cmFuc2Zvcm1lci0+Y2xlYXIoKTsKKyAg
ICBtX3RyYW5zZm9ybWVyID0gbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1JUQ1J0cFRyYW5zZm9ybS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkOTk0ZGZmNzE3NDMyMzUzNTFmOGYwYTMz
OTZmYzU5YTFjYWQyOTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tSVENSdHBUcmFuc2Zvcm0uaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
V0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIE1vY2tSVENSdHBUcmFuc2Zvcm1lcjsKKworY2xhc3MgTW9ja1JUQ1J0
cFRyYW5zZm9ybSBmaW5hbCA6IHB1YmxpYyBSVENSdHBUcmFuc2Zvcm0geworcHVibGljOgorICAg
IHN0YXRpYyBSZWY8TW9ja1JUQ1J0cFRyYW5zZm9ybT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBNb2NrUlRDUnRwVHJhbnNmb3JtKCkpOyB9CisgICAgfk1vY2tSVENSdHBUcmFuc2Zv
cm0oKTsKKworICAgIGJvb2wgaXNQcm9jZXNzaW5nKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAg
TW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgdm9pZCBpbml0aWFsaXplQmFja2VuZEZvclJl
Y2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKSBmaW5hbDsKKyAgICB2b2lkIGluaXRpYWxp
emVCYWNrZW5kRm9yU2VuZGVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKSBmaW5hbDsKKyAgICB2
b2lkIHdpbGxDbGVhckJhY2tlbmQoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpIGZpbmFsOworCisg
ICAgUmVmUHRyPE1vY2tSVENSdHBUcmFuc2Zvcm1lcj4gbV90cmFuc2Zvcm1lcjsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDllYjBjM2NhMTVjNWYxOTdmMzZjZmI0NzQ5YzExODA2ZThhYzc3NwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwKQEAgLTAs
MCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1XRUJfUlRDLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAor
ICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LAorXSBpbnRlcmZhY2UgTW9ja1JUQ1J0cFRyYW5z
Zm9ybSA6IFJUQ1J0cFRyYW5zZm9ybSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
aXNQcm9jZXNzaW5nOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZjA1NTVmY2VkNmZkYTQ5NDkyYTdiMmYxMzViYzU2
ZDllYmE2MWViLi5hNTNjNjJmN2NkZDI1OGFiZGI5YTAzOTEzNzc1MWVlYjY0ODg4ZWVhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9y
bXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHdlYnJ0
Yy10cmFuc2Zvcm0KKworICAgICAgICAqIHdlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRtbDogQWRk
ZWQuCisKIDIwMjAtMTEtMTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFVwZGF0ZSBXZWJSVEMgbGl3ZWJydGMgdG8gTTg3CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJydGMvd2VicnRjLXRyYW5zZm9ybS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE4ZjUxYjNj
ODAwYzVkN2FjNDkzZDcwMzMwMGFjZDY4Mjc4ZjlmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUg
QEAKKworCitQQVNTIGF1ZGlvIGV4Y2hhbmdlIHdpdGggdHJhbnNmb3JtCitQQVNTIHZpZGVvIGV4
Y2hhbmdlIHdpdGggdHJhbnNmb3JtCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy93
ZWJydGMtdHJhbnNmb3JtLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9y
bS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE5YzVhNmRmYTU3N2JhM2JhOTBlZWFlNTIwYzYzMjUxNTRlMWFm
NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9y
bS5odG1sCkBAIC0wLDAgKzEsODYgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgPHRpdGxlPlRlc3Rp
bmcgbWVkaWEgZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm08L3RpdGxlPgorICAgICAgICA8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cisg
ICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8dmlkZW8gaWQ9InZpZGVvMSIgYXV0b3Bs
YXk+PC92aWRlbz4KKyAgICAgICAgPHZpZGVvIGlkPSJ2aWRlbzIiIGF1dG9wbGF5PjwvdmlkZW8+
CisgICAgICAgIDxzY3JpcHQgc3JjID0icm91dGluZXMuanMiPjwvc2NyaXB0PgorICAgICAgICA8
c2NyaXB0PgorcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgaWYgKCF3aW5kb3cu
aW50ZXJuYWxzKQorICAgICAgICByZXR1cm47CisKKyAgICBsZXQgc2VuZGVyLCByZWNlaXZlcjsK
KyAgICBsZXQgc2VuZGVyVHJhbnNmb3JtID0gaW50ZXJuYWxzLmNyZWF0ZU1vY2tSVENSdHBUcmFu
c2Zvcm0oKTsKKyAgICBsZXQgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBpbnRlcm5hbHMuY3JlYXRlTW9j
a1JUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgY29uc3QgbG9jYWxTdHJlYW0gPSBhd2FpdCBuYXZp
Z2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86IHRydWV9KTsKKyAgICBjb25z
dCBzdHJlYW0gPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAg
ICAgIGNyZWF0ZUNvbm5lY3Rpb25zKChmaXJzdENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAg
IHBjMSA9IGZpcnN0Q29ubmVjdGlvbjsKKyAgICAgICAgICAgIHNlbmRlciA9IGZpcnN0Q29ubmVj
dGlvbi5hZGRUcmFjayhsb2NhbFN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBdLCBsb2NhbFN0cmVh
bSk7CisgICAgICAgICAgICBzZW5kZXIudHJhbnNmb3JtID0gc2VuZGVyVHJhbnNmb3JtOworICAg
ICAgICB9LCAoc2Vjb25kQ29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgcGMyID0gc2Vjb25k
Q29ubmVjdGlvbjsKKyAgICAgICAgICAgIHNlY29uZENvbm5lY3Rpb24ub250cmFjayA9ICh0cmFj
a0V2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgcmVjZWl2ZXIgPSB0cmFja0V2ZW50LnJlY2Vp
dmVyOworICAgICAgICAgICAgICAgIHJlY2VpdmVyLnRyYW5zZm9ybSA9IHJlY2VpdmVyVHJhbnNm
b3JtOworICAgICAgICAgICAgICAgIHJlc29sdmUodHJhY2tFdmVudC5zdHJlYW1zWzBdKTsKKyAg
ICAgICAgICAgIH07CisgICAgICAgIH0pOworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVj
dCgiVGVzdCB0aW1lZCBvdXQiKSwgNTAwMCk7CisgICAgfSk7CisKKyAgICB2aWRlbzEuc3JjT2Jq
ZWN0ID0gc3RyZWFtOworICAgIGF3YWl0IHZpZGVvMS5wbGF5KCk7CisKKyAgICBsZXQgY291bnRl
ciA9IDA7CisgICAgd2hpbGUgKCFyZWNlaXZlclRyYW5zZm9ybS5pc1Byb2Nlc3NpbmcgJiYgY291
bnRlcisrIDwgMTAwKQorICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRp
bWVvdXQocmVzb2x2ZSwgNTApKTsKKworICAgIGFzc2VydF90cnVlKHNlbmRlclRyYW5zZm9ybS5p
c1Byb2Nlc3NpbmcsICJzZW5kZXIiKTsKK30sICJhdWRpbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9y
bSIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBpZiAoIXdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgIHJldHVybjsKKworICAgIGxldCBzZW5kZXIsIHJlY2VpdmVyOwor
ICAgIGxldCBzZW5kZXJUcmFuc2Zvcm0gPSBpbnRlcm5hbHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5z
Zm9ybSgpOworICAgIGxldCByZWNlaXZlclRyYW5zZm9ybSA9IGludGVybmFscy5jcmVhdGVNb2Nr
UlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICBjb25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5hdmln
YXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZX0pOworCisgICAgY29u
c3Qgc3RyZWFtID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAg
ICAgICBjcmVhdGVDb25uZWN0aW9ucygoZmlyc3RDb25uZWN0aW9uKSA9PiB7CisgICAgICAgICAg
ICBwYzEgPSBmaXJzdENvbm5lY3Rpb247CisgICAgICAgICAgICBzZW5kZXIgPSBmaXJzdENvbm5l
Y3Rpb24uYWRkVHJhY2sobG9jYWxTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXSwgbG9jYWxTdHJl
YW0pOworICAgICAgICAgICAgc2VuZGVyLnRyYW5zZm9ybSA9IHNlbmRlclRyYW5zZm9ybTsKKyAg
ICAgICAgfSwgKHNlY29uZENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAgIHBjMiA9IHNlY29u
ZENvbm5lY3Rpb247CisgICAgICAgICAgICBzZWNvbmRDb25uZWN0aW9uLm9udHJhY2sgPSAodHJh
Y2tFdmVudCkgPT4geworICAgICAgICAgICAgICAgIHJlY2VpdmVyID0gdHJhY2tFdmVudC5yZWNl
aXZlcjsKKyAgICAgICAgICAgICAgICByZWNlaXZlci50cmFuc2Zvcm0gPSByZWNlaXZlclRyYW5z
Zm9ybTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKHRyYWNrRXZlbnQuc3RyZWFtc1swXSk7Cisg
ICAgICAgICAgICB9OworICAgICAgICB9KTsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZWpl
Y3QoIlRlc3QgdGltZWQgb3V0IiksIDUwMDApOworICAgIH0pOworCisgICAgdmlkZW8yLnNyY09i
amVjdCA9IHN0cmVhbTsKKyAgICBhd2FpdCB2aWRlbzIucGxheSgpOworCisgICBsZXQgY291bnRl
ciA9IDA7CisgICB3aGlsZSAoIXJlY2VpdmVyVHJhbnNmb3JtLmlzUHJvY2Vzc2luZyAmJiBjb3Vu
dGVyKysgPCAxMDApCisgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1l
b3V0KHJlc29sdmUsIDUwKSk7CisKKyAgICBhc3NlcnRfdHJ1ZShzZW5kZXJUcmFuc2Zvcm0uaXNQ
cm9jZXNzaW5nLCAic2VuZGVyIik7Cit9LCAidmlkZW8gZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm0i
KTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="430673"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413955</attachid>
            <date>2020-11-12 11:19:06 -0800</date>
            <delta_ts>2020-11-12 11:43:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218750-20201112201903.patch</filename>
            <type>text/plain</type>
            <size>120701</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhZjg2M2M5ZWM1ZDA1YzIwODE0YmQwNWJmNmE5YzE0MWFhNWQ1MDliLi41NjUy
ZDNkYTYxNGUwZWNhNGFlYmQwMzFlYjM3Mzg2YTQwYzgwZGU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0xMS0xMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZv
ciBXZWJSVEMgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWFrZSBzdXJlIGJ1ZmZlciBpcyBvd25lZCBieSB0aGUgZW5jb2RlZCBpbWFn
ZSBvYmplY3QuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cDoK
KyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oOgorICAg
ICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tOgorICAgICAg
ICAod2VicnRjOjplbmNvZGVyVmlkZW9UYXNrQ29tcGxldGUpOgorCiAyMDIwLTExLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4gYW5kIFZpY3RvciBNIEphcXVleiA8dmphcXVl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVwZGF0ZSBXZWJSVEMgbGl3ZWJydGMgdG8gTTg3CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmlu
ZGV4IGYzODk3NWM1YjM2NTFmYWU1Y2U4YTA4YzJjZWRjMzJjNmU2Y2YxYzIuLjBjOTQzNmY4Yzg3
ZjgzZTEzZmVmNjdmN2I2ZmZhMzYyYTIzZmJkNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAt
MTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBp
bmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBleHBlcmltZW50YWwgcHJlZmVyZW5j
ZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjAtMTEtMTAgIFJvYiBCdWlz
ICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBQYXJzZSBhc3BlY3QtcmF0aW8gQ1NTIHBy
b3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNjM5M2IxODc2ODgzYjhlNzhkNmI3N2E0NDQxMzI5YmZhMDVi
OTM3YS4uODhlNTM0NzkyY2FlMTU4ZGU2OGNjY2Q5MmViY2FmYjRlZTZiMjU2NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMC0xMS0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZvciBXZWJSVEMgdHJhbnNm
b3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4
NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50
cm9kdWNlIFJUQ1J0cFRyYW5zZm9ybSBiZWhpbmQgYSBwcmVmZXJlbmNlLgorICAgICAgICBBZGQg
YmluZGluZyBjb2RlIHdpdGggbGlid2VicnRjIHRvIGJlIGFibGUgdG8gcHJvY2VzcyBlbmNvZGVk
IGNvbnRlbnQgaW4gc2VuZGVyIGFuZCByZWNlaXZlciBzaWRlcy4KKyAgICAgICAgQWRkIGEgbW9j
ayB0cmFuc2Zvcm0gdG8gdmFsaWRhdGUgdGhlIGluZnJhc3RydWN0dXJlIGlzIHdvcmtpbmcuCisK
KyAgICAgICAgVGVzdDogd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRtbAorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNl
aXZlcjo6flJUQ1J0cFJlY2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFJlY2VpdmVy
OjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFJlY2VpdmVyOjpzZXRUcmFuc2Zvcm0p
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5oOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtOjp0cmFu
c2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtOjpz
ZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
K1RyYW5zZm9ybS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcjo6flJUQ1J0cFNl
bmRlcik6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXI6OnN0b3ApOgorICAgICAgICAo
V2ViQ29yZTo6UlRDUnRwU2VuZGVyOjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTZW5kZXJCYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UlRD
UnRwU2VuZGVyV2l0aFRyYW5zZm9ybTo6dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q1J0cFNlbmRlcldpdGhUcmFuc2Zvcm06OnNldFRyYW5zZm9ybSk6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJUQ1J0cFRyYW5zZm9ybTo6flJUQ1J0cFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3Jl
OjpSVENSdHBUcmFuc2Zvcm06OmF0dGFjaFRvUmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UlRDUnRwVHJhbnNmb3JtOjphdHRhY2hUb1NlbmRlcik6CisgICAgICAgIChXZWJDb3JlOjpSVENS
dHBUcmFuc2Zvcm06OmRldGFjaEZyb21SZWNlaXZlcik6CisgICAgICAgIChXZWJDb3JlOjpSVENS
dHBUcmFuc2Zvcm06OmRldGFjaEZyb21TZW5kZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwVHJhbnNmb3JtLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmg6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFj
a2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQ6
OmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNm
b3JtQmFja2VuZC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6bWVkaWFUeXBlRnJvbVJl
Y2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3Jt
QmFja2VuZDo6TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6fkxpYldlYlJU
Q1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJS
VENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OnNldFRyYW5zZm9ybWFibGVGcmFtZUNhbGxi
YWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6bWVkaWFUeXBlRnJvbVNlbmRlcik6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBTZW5k
ZXJUcmFuc2Zvcm1CYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6OnNl
dFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQ6OnNldElucHV0Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6Y2xlYXJUcmFuc2Zvcm1hYmxlRnJhbWVDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpz
ZXRPdXRwdXRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpwcm9jZXNzVHJhbnNmb3JtZWRGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpM
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6UmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1l
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZDo6UmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zvcm1lZEZy
YW1lQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZDo6VW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2spOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okxp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlbGVhc2UgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6dG9SVENGcmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OmRhdGEgY29uc3QpOgorICAg
ICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChH
ZW5lcmF0ZUhlYWRlcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZS5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6
CisgICAgICAgICogdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tSVENSdHBUcmFuc2Zvcm1lcjo6aXNQcm9jZXNzaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6TW9ja1JUQ1J0cFRyYW5zZm9ybWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06Ok1vY2tSVENSdHBUcmFuc2Zvcm0pOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5zZm9ybTo6fk1vY2tSVENSdHBUcmFuc2Zv
cm0pOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5zZm9ybTo6aXNQcm9jZXNzaW5n
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxp
emVCYWNrZW5kRm9yUmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5z
Zm9ybTo6aW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a1JUQ1J0cFRyYW5zZm9ybTo6d2lsbENsZWFyQmFja2VuZCk6CisgICAgICAgICogdGVzdGluZy9N
b2NrUlRDUnRwVHJhbnNmb3JtLmg6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0
cFRyYW5zZm9ybS5pZGw6IEFkZGVkLgorCiAyMDIwLTExLTEwICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4gYW5kIFZpY3RvciBNIEphcXVleiA8dmphcXVlekBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFVwZGF0ZSBXZWJSVEMgbGl3ZWJydGMgdG8gTTg3CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY1Mzlk
YjhhNWUxMDdiMjBiNjA0NDUxOGFmOGMwYmVhZTI2YTZiZGQuLmNiMGFjZTAzMzBlMjZjZTE0YjE0
ZTA2OTg5NDNiMjRjYTQyOTM3MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMTEt
MTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpbmZy
YXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIGNvbnN0IGNh
c3RpbmcuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkxpYldlYlJUQ0NvZGVjczo6Y29tcGxldGVkRW5jb2RpbmcpOgorCiAyMDIwLTEx
LTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQcm9j
ZXNzIHNob3VsZCBwcm9jZXNzIFdlYlJUQyBjb2RlY3MgSVBDIG1lc3NhZ2VzIGZyb20gdGhlIEdQ
VSBQcm9jZXNzIGluIGEgYmFja2dyb3VuZCB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cApp
bmRleCA0OGU0NDU5MjkzMWRjYzg0YWQzNzM3NWJhOWY2MDkwYjEwMTJjNjdkLi5hMmNhZmIzOTIy
OTllOTViN2E3YmRmZTZlMzZkN2ZmMDVmNzE5MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhw
CkBAIC0yMjksNyArMjI5LDcgQEAgX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tDb21wbGV0
ZUVQdmpQMTBfX0NWQnVmZmVyagogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNr
c0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG10dEVQRmlTMF9T
MF9FCiBfX1pONndlYnJ0YzE5c2V0RGVjb2RlckZyYW1lU2l6ZUVQdnR0CiBfX1pONndlYnJ0YzE4
UnRwQ29kZWNDYXBhYmlsaXR5QzFFdgotX19aTjZ3ZWJydGMyNGVuY29kZXJWaWRlb1Rhc2tDb21w
bGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUlu
Zm9FCitfX1pONndlYnJ0YzI0ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0Nv
ZGVjVHlwZUVQS2htUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluZm9FCiBfX1pONndlYnJ0YzI0
c2V0VmlkZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMw
X0VQRmlTMF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVFYkVQRmlT
MF9TMF9FUEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0ZXJzRUUK
IF9fWk42d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCiBfX1pONndlYnJ0YzI1c2V0
TG9jYWxFbmNvZGVyTG93TGF0ZW5jeUVQdmIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cCBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cApp
bmRleCA0OGU0NDU5MjkzMWRjYzg0YWQzNzM3NWJhOWY2MDkwYjEwMTJjNjdkLi5hMmNhZmIzOTIy
OTllOTViN2E3YmRmZTZlMzZkN2ZmMDVmNzE5MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1Nz
aW0uZXhwCkBAIC0yMjksNyArMjI5LDcgQEAgX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tD
b21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVyagogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNh
bGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG10dEVQ
RmlTMF9TMF9FCiBfX1pONndlYnJ0YzE5c2V0RGVjb2RlckZyYW1lU2l6ZUVQdnR0CiBfX1pONndl
YnJ0YzE4UnRwQ29kZWNDYXBhYmlsaXR5QzFFdgotX19aTjZ3ZWJydGMyNGVuY29kZXJWaWRlb1Rh
c2tDb21wbGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUGhtUktOU18yMldlYktpdEVuY29kZWRG
cmFtZUluZm9FCitfX1pONndlYnJ0YzI0ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRW
aWRlb0NvZGVjVHlwZUVQS2htUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluZm9FCiBfX1pONndl
YnJ0YzI0c2V0VmlkZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRF
RVBGaVMwX0VQRmlTMF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVF
YkVQRmlTMF9TMF9FUEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0
ZXJzRUUKIF9fWk42d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCiBfX1pONndlYnJ0
YzI1c2V0TG9jYWxFbmNvZGVyTG93TGF0ZW5jeUVQdmIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cApp
bmRleCA0OGU0NDU5MjkzMWRjYzg0YWQzNzM3NWJhOWY2MDkwYjEwMTJjNjdkLi5hMmNhZmIzOTIy
OTllOTViN2E3YmRmZTZlMzZkN2ZmMDVmNzE5MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhw
CkBAIC0yMjksNyArMjI5LDcgQEAgX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tDb21wbGV0
ZUVQdmpQMTBfX0NWQnVmZmVyagogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNr
c0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG10dEVQRmlTMF9T
MF9FCiBfX1pONndlYnJ0YzE5c2V0RGVjb2RlckZyYW1lU2l6ZUVQdnR0CiBfX1pONndlYnJ0YzE4
UnRwQ29kZWNDYXBhYmlsaXR5QzFFdgotX19aTjZ3ZWJydGMyNGVuY29kZXJWaWRlb1Rhc2tDb21w
bGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUlu
Zm9FCitfX1pONndlYnJ0YzI0ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0Nv
ZGVjVHlwZUVQS2htUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluZm9FCiBfX1pONndlYnJ0YzI0
c2V0VmlkZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMw
X0VQRmlTMF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVFYkVQRmlT
MF9TMF9FUEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0ZXJzRUUK
IF9fWk42d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCiBfX1pONndlYnJ0YzI1c2V0
TG9jYWxFbmNvZGVyTG93TGF0ZW5jeUVQdmIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRF
bmNvZGVyLmgKaW5kZXggMjNkOTdlY2M0ZWJmODEzOTBmZjhhNDlhYzkwMmViMjQ5MGIyYjUyNC4u
ZTM3NzhhNmE2MWI1NjdiZjg5MDc4NDUzMWNmNmJjZjU4MjViY2YyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRF
bmNvZGVyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMv
c2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmgKQEAgLTgwLDcgKzgwLDcgQEAgdm9pZCBpbml0aWFs
aXplTG9jYWxFbmNvZGVyKExvY2FsRW5jb2RlciwgdWludDE2X3Qgd2lkdGgsIHVpbnQxNl90IGhl
aWdodCwgdW5zaWcKIHZvaWQgZW5jb2RlTG9jYWxFbmNvZGVyRnJhbWUoTG9jYWxFbmNvZGVyLCBD
VlBpeGVsQnVmZmVyUmVmLCBpbnQ2NF90IHRpbWVTdGFtcE5zLCB1aW50MzJfdCB0aW1lU3RhbXAs
IHdlYnJ0Yzo6VmlkZW9Sb3RhdGlvbiwgYm9vbCBpc0tleWZyYW1lUmVxdWlyZWQpOwogdm9pZCBz
ZXRMb2NhbEVuY29kZXJSYXRlcyhMb2NhbEVuY29kZXIsIHVpbnQzMl90IGJpdFJhdGUsIHVpbnQz
Ml90IGZyYW1lUmF0ZSk7CiB2b2lkIHNldExvY2FsRW5jb2Rlckxvd0xhdGVuY3koTG9jYWxFbmNv
ZGVyLCBib29sIGlzTG93TGF0ZW5jeUVuYWJsZWQpOwotdm9pZCBlbmNvZGVyVmlkZW9UYXNrQ29t
cGxldGUodm9pZCosIHdlYnJ0Yzo6VmlkZW9Db2RlY1R5cGUsIHVpbnQ4X3QqIGJ1ZmZlciwgc2l6
ZV90IGxlbmd0aCwgY29uc3QgV2ViS2l0RW5jb2RlZEZyYW1lSW5mbyYpOwordm9pZCBlbmNvZGVy
VmlkZW9UYXNrQ29tcGxldGUodm9pZCosIHdlYnJ0Yzo6VmlkZW9Db2RlY1R5cGUsIGNvbnN0IHVp
bnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwgY29uc3QgV2ViS2l0RW5jb2RlZEZyYW1lSW5m
byYpOwogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgogYm9vbCBXZWJLaXRFbmNvZGVkRnJhbWVJ
bmZvOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgV2ViS2l0RW5jb2RlZEZyYW1lSW5mbyYgaW5m
bykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRj
L3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbQppbmRleCBkNzk1MWM2
MTIxZDYxODUyZGI2Y2E4N2Q1OWE3YjIyMWY5NWY1MmJjLi44N2I1YzgxYjhhYjUwZjQ0ZTNhNmMy
N2Q0YzgyNzdhMmUxYmJlMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW0KKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNv
ZGVyLm1tCkBAIC0yOTAsOSArMjkwLDExIEBAIGludDMyX3QgUmVtb3RlVmlkZW9FbmNvZGVyOjpS
ZWdpc3RlckVuY29kZUNvbXBsZXRlQ2FsbGJhY2soRW5jb2RlZEltYWdlQ2FsbGJhY2sqCiAgICAg
cmV0dXJuIHZpZGVvRW5jb2RlckNhbGxiYWNrcygpLnJlZ2lzdGVyRW5jb2RlQ29tcGxldGVDYWxs
YmFjayhtX2ludGVybmFsRW5jb2RlciwgY2FsbGJhY2spOwogfQogCi12b2lkIGVuY29kZXJWaWRl
b1Rhc2tDb21wbGV0ZSh2b2lkKiBjYWxsYmFjaywgd2VicnRjOjpWaWRlb0NvZGVjVHlwZSBjb2Rl
Y1R5cGUsIHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwgY29uc3QgV2ViS2l0RW5jb2Rl
ZEZyYW1lSW5mbyYgaW5mbykKK3ZvaWQgZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKHZvaWQqIGNh
bGxiYWNrLCB3ZWJydGM6OlZpZGVvQ29kZWNUeXBlIGNvZGVjVHlwZSwgY29uc3QgdWludDhfdCog
YnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBXZWJLaXRFbmNvZGVkRnJhbWVJbmZvJiBpbmZv
KQogewotICAgIHdlYnJ0Yzo6RW5jb2RlZEltYWdlIGVuY29kZWRJbWFnZShidWZmZXIsIGxlbmd0
aCwgbGVuZ3RoKTsKKyAgICB3ZWJydGM6OkVuY29kZWRJbWFnZSBlbmNvZGVkSW1hZ2U7CisgICAg
ZW5jb2RlZEltYWdlLlNldEVuY29kZWREYXRhKEVuY29kZWRJbWFnZUJ1ZmZlcjo6Q3JlYXRlKGJ1
ZmZlciwgbGVuZ3RoKSk7CisKICAgICBlbmNvZGVkSW1hZ2UuX2VuY29kZWRXaWR0aCA9IGluZm8u
d2lkdGg7CiAgICAgZW5jb2RlZEltYWdlLl9lbmNvZGVkSGVpZ2h0ID0gaW5mby5oZWlnaHQ7CiAg
ICAgZW5jb2RlZEltYWdlLlNldFRpbWVzdGFtcChpbmZvLnRpbWVTdGFtcCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCmluZGV4IGIwMTZhYzlmNzMyYjEyNjg4ZjlhODUyM2UwMGY0YWYxM2Ji
YTVjNmIuLmU3YjkyNmRhYmUwOGU0YThmNDE2MDQzMGY5MjRjYjgyNmU2ZDdmZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC05ODQsNiArOTg0LDE5IEBAIFdlYlJUQ0gyNjVDb2Rl
Y0VuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorV2ViUlRDSW5z
ZXJ0YWJsZVN0cmVhbXNFbmFibGVkOgorICB0eXBlOiBib29sCisgIGNvbmRpdGlvbjogRU5BQkxF
KFdFQl9SVEMpCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViUlRDIEluc2VydGFibGUgU3RyZWFt
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBXZWJSVEMgSW5zZXJ0
YWJsZSBTdHJlYW1zIEFQSSIKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAg
ICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogIyBGSVhNRTogVGhpcyBpcyBub3Qg
cmVsZXZlbnQgZm9yIFdlYktpdExlZ2FjeSwgc28gc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2Vi
S2l0TGVnYWN5IGVudGlyZWx5LgogV2ViUlRDUGxhdGZvcm1Db2RlY3NJbkdQVVByb2Nlc3NFbmFi
bGVkOgogICB0eXBlOiBib29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDVkNGE0ZTlkNDgxNjRl
ZDVhMWMzNGU1ODUzODNjMWZjMzBhNDBiODguLmMyOTlkODMwY2I2MWU5NDQ2OWQ4ZTYyYjcyYmQ4
NTdlMzE0OGNiYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zOTksMTMgKzM5OSwxNiBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwRmVjUGFyYW1ldGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEhlYWRl
ckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBQ
YXJhbWV0ZXJzLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIrVHJh
bnNmb3JtLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaWRsCiAg
ICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSdHhQYXJhbWV0ZXJzLmlkbAogICAgIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZFBhcmFtZXRlcnMuaWRsCisgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU3luY2hy
b25pemF0aW9uU291cmNlLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNj
ZWl2ZXIuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbi5pZGwKKyAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmlkbApAQCAtMTc0OSw2ICsxNzUyLDcgQEAgc2V0KFdl
YkNvcmVUZXN0U3VwcG9ydF9JRExfRklMRVMKICAgICB0ZXN0aW5nL01vY2tDRE1GYWN0b3J5Lmlk
bAogICAgIHRlc3RpbmcvTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5pZGwKICAgICB0ZXN0aW5n
L01vY2tQYWdlT3ZlcmxheS5pZGwKKyAgICB0ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRs
CiAgICAgdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAogICAgIHRlc3RpbmcvVHlw
ZUNvbnZlcnNpb25zLmlkbAogKQpAQCAtMTc3Miw2ICsxNzc2LDcgQEAgbGlzdChBUFBFTkQgV2Vi
Q29yZVRlc3RTdXBwb3J0X1NPVVJDRVMKICAgICB0ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29u
bmVjdGlvbi5jcHAKICAgICB0ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5jcHAKICAgICB0ZXN0aW5n
L01vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAKKyAgICB0ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zv
cm0uY3BwCiAgICAgdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcAogICAgIHRlc3Rp
bmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYWExOGE4Y2Y3MmNkYmZmYTA2MWU5MjFi
YzkxMzYyZDQ3ZDhjMzViMy4uNjY5YjY4NjFiNmFmYTFkMGFjMDk3YjFiZDMxMDY0NDgzZWVjNzUx
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CkBAIC0xMjksOCArMTI5LDggQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Q
b3NpdGlvbkNhbGxiYWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Q
b3NpdGlvbkVycm9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3Np
dGlvbkVycm9yQ2FsbGJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dlb2xvY2F0aW9u
L1Bvc2l0aW9uT3B0aW9ucy5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaGlnaGxpZ2h0L0hp
Z2hsaWdodFJlZ2lzdGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGln
aGxpZ2h0LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVn
aXN0ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3crSW5k
ZXhlZERhdGFiYXNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vy
c29yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yRGlyZWN0
aW9uLmlkbApAQCAtMjMzLDEzICsyMzMsMTYgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBFbmNvZGluZ1BhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEZlY1BhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFBhcmFtZXRlcnMuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9y
bS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJ0eFBhcmFtZXRl
cnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRQYXJh
bWV0ZXJzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5k
ZXIrVHJhbnNmb3JtLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFN5
bmNocm9uaXphdGlvblNvdXJjZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwVHJhbnNjZWl2ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGwKQEAgLTI4OSw2ICsyOTIs
NyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3F1b3RhL1dvcmtlck5hdmlnYXRvcitTdG9yYWdl
UXVvdGEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL0hUTUxNZWRp
YUVsZW1lbnQrUmVtb3RlUGxheWJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90
ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1v
dGVwbGF5YmFjay9SZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvRE9NV2luZG93K1NwZWVjaFN5bnRoZXNpcy5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3JDb2Rl
LmlkbApAQCAtMjk2LDcgKzMwMCw2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1Nw
ZWVjaFJlY29nbml0aW9uRXJyb3JFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdC5pZGwKLSQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvc3BlZWNoL0RPTVdpbmRvdytTcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5pZGwKQEAgLTEzMDEsNiArMTMwNCw3
IEBAICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTW9ja1BheW1lbnRBZGRyZXNzLmlkbAogJChQUk9K
RUNUX0RJUikvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsCiAkKFBST0pFQ1Rf
RElSKS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS90
ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaWRsCiskKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tS
VENSdHBUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tXZWJBdXRoZW50
aWNhdGlvbkNvbmZpZ3VyYXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL1NlcnZpY2VX
b3JrZXJJbnRlcm5hbHMuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL1R5cGVDb252ZXJzaW9u
cy5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKaW5kZXggMzgxZmJkNDg5NWUwZWE5N2U5ZGIyMWU1ZDRkNDc3ZjZmYTIwYWFiYS4uZGI2NzEw
MDg4ZWYyNDU0NDgzMDI1ZTAxZTRhYTdjZTVkZmVjMzA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTExMDUsMTAgKzExMDUsMTAg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hh
bmdlRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0hhc2hDaGFuZ2VFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0hkck1ldGFkYXRhVHlwZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGRyTWV0YWRhdGFUeXBlLmgKLSQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCi0k
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodFJl
Z2lzdGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
SGlnaGxpZ2h0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNIaWdobGlnaHQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNIaWdobGlnaHRSZWdpc3Rlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaXN0b3J5LmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaXN0b3J5LmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGtkZlBhcmFtcy5jcHAKQEAgLTEz
NDEsNiArMTM0MSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1BheW1lbnRDb29yZGluYXRvci5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50RXJyb3Iu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQ
YXltZW50RXJyb3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29u
ZmlndXJhdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3BwCkBAIC0xNjk3
LDEyICsxNjk5LDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUlRDUnRwSGVhZGVyRXh0ZW5zaW9uUGFyYW1ldGVycy5jCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFt
ZXRlcnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
VENSdHBQYXJhbWV0ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNSVENSdHBQYXJhbWV0ZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSZWNlaXZlcitU
cmFuc2Zvcm0uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNSVENSdHBSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSdHhQYXJhbWV0ZXJzLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSdHhQYXJhbWV0ZXJzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2Vu
ZFBhcmFtZXRlcnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZGVyK1RyYW5z
Zm9ybS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JU
Q1J0cFNlbmRlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUlRDUnRwU2VuZGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmNwcApAQCAtMTcxMSw2ICsx
NzE3LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
VENSdHBUcmFuc2NlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNjZWl2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNj
ZWl2ZXJEaXJlY3Rpb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNSVENSdHBUcmFuc2Zvcm0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFRyYW5zZm9ybS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1NkcFR5cGUuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1NkcFR5cGUuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENTZXNzaW9uRGVzY3JpcHRp
b24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0ZDA4NTMwYWE1YmQ4ZTg2
ZTIyMjQ2YzUzZTJjOGVlMDE3OGUzMDNkLi45YWU0MGMxODc5Njg5MzgxN2I4NDE2NTI3YzI0MGFm
NzIzZThmMTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1OCwxMiArMjU4
LDE1IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1ldGVycy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5pZGwgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUnR4UGFyYW1ldGVycy5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kUGFyYW1l
dGVycy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5k
ZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
K1RyYW5zZm9ybS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQuaWRs
IFwKQEAgLTEyMjYsNiArMTIyOSw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJD
b3JlKS90ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS90
ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9j
a1JUQ1J0cFRyYW5zZm9ybS5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrV2ViQXV0
aGVudGljYXRpb25Db25maWd1cmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1Nl
cnZpY2VXb3JrZXJJbnRlcm5hbHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvVHlwZUNv
bnZlcnNpb25zLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjBiMmUxMWQ0N2ZmYmIzYTg0M2JmNDEzOTdlMGMwOGM5MWUyNjI3OAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIrVHJh
bnNmb3JtLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPVdFQl9SVEMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJSVENJbnNlcnRhYmxlU3RyZWFt
cywKKyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBJbXBsZW1lbnRlZEJ5PVJUQ1J0cFJlY2VpdmVy
V2l0aFRyYW5zZm9ybSwKK10gcGFydGlhbCBpbnRlcmZhY2UgUlRDUnRwUmVjZWl2ZXIgeworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIFJUQ1J0cFRyYW5zZm9ybT8gdHJhbnNmb3Jt
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwUmVjZWl2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlci5jcHAKaW5kZXggNDJjNGMwNzg0MDllMzJkYWQxZTQyNGVhYTBiMmI3YjVmMzU0
ZjJiNC4uMGJmY2M5NjYzYzJmMDZkNGU5MGMwOTQ4OGRmMjUyZTFmZDJiM2MwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5j
cHAKQEAgLTQ5LDExICs0OSwyMCBAQCBSVENSdHBSZWNlaXZlcjo6UlRDUnRwUmVjZWl2ZXIoUGVl
ckNvbm5lY3Rpb25CYWNrZW5kJiBjb25uZWN0aW9uLCBSZWY8TWVkaWFTdHJlYQogewogfQogCitS
VENSdHBSZWNlaXZlcjo6flJUQ1J0cFJlY2VpdmVyKCkKK3sKKyAgICBpZiAobV90cmFuc2Zvcm0p
CisgICAgICAgIG1fdHJhbnNmb3JtLT5kZXRhY2hGcm9tUmVjZWl2ZXIoKnRoaXMpOworfQorCiB2
b2lkIFJUQ1J0cFJlY2VpdmVyOjpzdG9wKCkKIHsKICAgICBpZiAoIW1fYmFja2VuZCkKICAgICAg
ICAgcmV0dXJuOwogCisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+
ZGV0YWNoRnJvbVJlY2VpdmVyKCp0aGlzKTsKKwogICAgIG1fYmFja2VuZCA9IG51bGxwdHI7CiAg
ICAgbV90cmFjay0+c3RvcFRyYWNrKE1lZGlhU3RyZWFtVHJhY2s6OlN0b3BNb2RlOjpQb3N0RXZl
bnQpOwogfQpAQCAtNzIsNiArODEsMjAgQEAgT3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBS
VENSdHBSZWNlaXZlcjo6Z2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnQKICAgICBy
ZXR1cm4gUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpyZWNlaXZlckNhcGFiaWxpdGllcyhjb250ZXh0
LCBraW5kKTsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwUmVjZWl2ZXI6OnNldFRyYW5z
Zm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJh
bnNmb3JtICYmIHRyYW5zZm9ybS0+aXNBdHRhY2hlZCgpKQorICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJ0cmFuc2Zvcm0gaXMgYWxyZWFkeSBpbiB1c2UiX3Mg
fTsKKworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZy
b21SZWNlaXZlcigqdGhpcyk7CisgICAgbV90cmFuc2Zvcm0gPSBXVEZNb3ZlKHRyYW5zZm9ybSk7
CisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+YXR0YWNoVG9SZWNl
aXZlcigqdGhpcyk7CisKKyAgICByZXR1cm4geyB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaAppbmRleCAzY2NhOGIyYjk2NzE4
YWU0NzZkODM5NDMyNjEyMGM5Nzk5MDc5MzUxLi44Y2IxYTQzZDJiZDA0NDYyNGMyODdjYTZhZjcx
YzdkZjg3OGQyMmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFJlY2VpdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBSZWNlaXZlci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW1UcmFjay5oIgogI2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIgogI2luY2x1
ZGUgIlJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5z
Zm9ybS5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC01MCw2ICs1MSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFJUQ1J0cFJlY2VpdmVyKGNvbm5lY3Rpb24sIFdURk1vdmUodHJhY2spLCBXVEZN
b3ZlKGJhY2tlbmQpKSk7CiAgICAgfQorICAgIH5SVENSdHBSZWNlaXZlcigpOwogCiAgICAgc3Rh
dGljIE9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gZ2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIGtpbmQpOwogCkBAIC02NSwxMiArNjcsMTYg
QEAgcHVibGljOgogICAgIFJUQ1J0cFJlY2VpdmVyQmFja2VuZCogYmFja2VuZCgpIHsgcmV0dXJu
IG1fYmFja2VuZC5nZXQoKTsgfQogICAgIHZvaWQgZ2V0U3RhdHMoUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CiAKKyAgICBSVENSdHBUcmFuc2Zvcm0qIHRyYW5zZm9ybSgpIHsgcmV0dXJuIG1fdHJh
bnNmb3JtLmdldCgpOyB9CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJlZlB0
cjxSVENSdHBUcmFuc2Zvcm0+JiYpOworCiBwcml2YXRlOgogICAgIFJUQ1J0cFJlY2VpdmVyKFBl
ZXJDb25uZWN0aW9uQmFja2VuZCYsIFJlZjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBzdGQ6OnVuaXF1
ZV9wdHI8UlRDUnRwUmVjZWl2ZXJCYWNrZW5kPiYmKTsKIAogICAgIFJlZjxNZWRpYVN0cmVhbVRy
YWNrPiBtX3RyYWNrOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBSZWNlaXZlckJhY2tlbmQ+
IG1fYmFja2VuZDsKICAgICBXZWFrUHRyPFBlZXJDb25uZWN0aW9uQmFja2VuZD4gbV9jb25uZWN0
aW9uOworICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+IG1fdHJhbnNmb3JtOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKaW5kZXggNzgyZGQ2N2Q1NTE2
YzhkNmU3YjQxOTU0YmNiYjkwYmJhNzQ3MjY5My4uNjE5NmE2YTUwNjg5NThhOTI5MWIzNjQyM2Vm
MGJjZWE2MjQ0MGQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5oCkBAIC0zMSwxMiArMzEsMTUgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOwor
CiBjbGFzcyBSVENSdHBSZWNlaXZlckJhY2tlbmQgewogcHVibGljOgogICAgIHZpcnR1YWwgflJU
Q1J0cFJlY2VpdmVyQmFja2VuZCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIFJUQ1J0cFBhcmFt
ZXRlcnMgZ2V0UGFyYW1ldGVycygpIHsgcmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgVmVjdG9y
PFJUQ1J0cENvbnRyaWJ1dGluZ1NvdXJjZT4gZ2V0Q29udHJpYnV0aW5nU291cmNlcygpIGNvbnN0
IHsgcmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgVmVjdG9yPFJUQ1J0cFN5bmNocm9uaXphdGlv
blNvdXJjZT4gZ2V0U3luY2hyb25pemF0aW9uU291cmNlcygpIGNvbnN0IHsgcmV0dXJuIHsgfTsg
fQorICAgIHZpcnR1YWwgUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZVJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQoKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVy
V2l0aFRyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZWI5Yjg0NzkxMTNkYTIxNzk1
Yzg3MDdlYmRkZTRjYTZlYTJiNGNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaApAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFJl
Y2VpdmVyLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtOworCitjbGFzcyBSVENSdHBSZWNlaXZlcldp
dGhUcmFuc2Zvcm0geworcHVibGljOgorICAgIHN0YXRpYyBSVENSdHBUcmFuc2Zvcm0qIHRyYW5z
Zm9ybShSVENSdHBSZWNlaXZlciYgcmVjZWl2ZXIpIHsgcmV0dXJuIHJlY2VpdmVyLnRyYW5zZm9y
bSgpOyB9CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRyYW5zZm9ybShSVENSdHBS
ZWNlaXZlciYgcmVjZWl2ZXIsIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJhbnNmb3JtKSB7
IHJldHVybiByZWNlaXZlci5zZXRUcmFuc2Zvcm0oV1RGTW92ZSh0cmFuc2Zvcm0pKTsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
citUcmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIrVHJhbnNmb3JtLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzhhN2UzMDdkNjI0YzEzNGY3ODBj
Y2I3MTBjOGM2ODI0ZGMwZGRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbApAQCAtMCwwICsxLDMz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJSVENJbnNlcnRhYmxlU3RyZWFtcywKKyAgICBFeHBvc2VkPVdpbmRvdywK
KyAgICBJbXBsZW1lbnRlZEJ5PVJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0sCitdIHBhcnRpYWwg
aW50ZXJmYWNlIFJUQ1J0cFNlbmRlciB7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1
dGUgUlRDUnRwVHJhbnNmb3JtPyB0cmFuc2Zvcm07Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCmluZGV4IGZmMTcwM2I5MmIw
ZDkwYWE5Nzg3NjcyMjY3ZjQ4ZTI3YTRiNzY0ZDQuLmM3YWMzYzQ5YmQ5ZDc5NmIyNDg3NWY5ZDky
MzA2ZDNlOTNhNzU0M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKQEAgLTY2LDcgKzY2LDExIEBAIFJUQ1J0cFNlbmRlcjo6
UlRDUnRwU2VuZGVyKFJUQ1BlZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTdHJpbmcmJiB0cmFj
a0tpbmQsIFZlCiAgICAgQVNTRVJUKG1fYmFja2VuZCk7CiB9CiAKLVJUQ1J0cFNlbmRlcjo6flJU
Q1J0cFNlbmRlcigpID0gZGVmYXVsdDsKK1JUQ1J0cFNlbmRlcjo6flJUQ1J0cFNlbmRlcigpCit7
CisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVNl
bmRlcigqdGhpcyk7Cit9CiAKIHZvaWQgUlRDUnRwU2VuZGVyOjpzZXRUcmFja1RvTnVsbCgpCiB7
CkBAIC03Nyw2ICs4MSw5IEBAIHZvaWQgUlRDUnRwU2VuZGVyOjpzZXRUcmFja1RvTnVsbCgpCiAK
IHZvaWQgUlRDUnRwU2VuZGVyOjpzdG9wKCkKIHsKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAg
ICAgIG1fdHJhbnNmb3JtLT5kZXRhY2hGcm9tU2VuZGVyKCp0aGlzKTsKKwogICAgIG1fdHJhY2tJ
ZCA9IHsgfTsKICAgICBtX3RyYWNrID0gbnVsbHB0cjsKICAgICBtX2JhY2tlbmQgPSBudWxscHRy
OwpAQCAtMTg2LDYgKzE5MywyMCBAQCBPcHRpb25hbDxSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlv
bj4gUlRDUnRwU2VuZGVyOjpjdXJyZW50VHJhbnNjZWl2ZXJEaXJlY3Rpb24oKQogICAgIHJldHVy
biBzZW5kZXJUcmFuc2NlaXZlci0+Y3VycmVudERpcmVjdGlvbigpOwogfQogCitFeGNlcHRpb25P
cjx2b2lkPiBSVENSdHBTZW5kZXI6OnNldFRyYW5zZm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3Jt
PiYmIHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJhbnNmb3JtICYmIHRyYW5zZm9ybS0+aXNBdHRh
Y2hlZCgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJ0
cmFuc2Zvcm0gaXMgYWxyZWFkeSBpbiB1c2UiX3MgfTsKKworICAgIGlmIChtX3RyYW5zZm9ybSkK
KyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21TZW5kZXIoKnRoaXMpOworICAgIG1fdHJh
bnNmb3JtID0gV1RGTW92ZSh0cmFuc2Zvcm0pOworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAg
ICAgbV90cmFuc2Zvcm0tPmF0dGFjaFRvU2VuZGVyKCp0aGlzKTsKKworICAgIHJldHVybiB7IH07
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
ZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
LmgKaW5kZXggMjhkZjBmZWJhZTEzOWQ0ZjhkNGE3YzliYmZjYjExYjEzOTk2MDRiZC4uNzBhZDk1
OTI3MGJiMmEyOWFlMzQ5M2IxZDFlYjgwOTRhOWI1MDViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFjay5oIgogI2luY2x1ZGUgIlJUQ1J0cFNlbmRlckJh
Y2tlbmQuaCIKICNpbmNsdWRlICJSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5oIgorI2luY2x1
ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKQEAgLTgxLDYgKzgyLDkgQEAgcHVibGljOgogICAgIFJU
Q0RUTUZTZW5kZXIqIGR0bWYoKTsKICAgICBPcHRpb25hbDxSVENSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbj4gY3VycmVudFRyYW5zY2VpdmVyRGlyZWN0aW9uKCkgY29uc3Q7CiAKKyAgICBSVENSdHBU
cmFuc2Zvcm0qIHRyYW5zZm9ybSgpIHsgcmV0dXJuIG1fdHJhbnNmb3JtLmdldCgpOyB9CisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYp
OworCiBwcml2YXRlOgogICAgIFJUQ1J0cFNlbmRlcihSVENQZWVyQ29ubmVjdGlvbiYsIFN0cmlu
ZyYmIHRyYWNrS2luZCwgVmVjdG9yPFN0cmluZz4mJiBtZWRpYVN0cmVhbUlkcywgc3RkOjp1bmlx
dWVfcHRyPFJUQ1J0cFNlbmRlckJhY2tlbmQ+JiYpOwogCkBAIC05MSw2ICs5NSw3IEBAIHByaXZh
dGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJUQ1J0cFNlbmRlckJhY2tlbmQ+IG1fYmFja2VuZDsK
ICAgICBXZWFrUHRyPFJUQ1BlZXJDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUmVmUHRy
PFJUQ0RUTUZTZW5kZXI+IG1fZHRtZlNlbmRlcjsKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3Jt
PiBtX3RyYW5zZm9ybTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5k
LmgKaW5kZXggMWMxOGU1MDEyOGIyNGVjMWJiMGY0NmNjNmJiMGZlYTAwNjg0N2RkYS4uMzA4OTdj
MjRlYTdmNzFkZDQwNjJiMjBlYzJiNTM4ZmNiYTFjODBiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKQEAg
LTMxLDYgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFTdHJlYW1UcmFj
azsKIGNsYXNzIFJUQ0RUTUZTZW5kZXJCYWNrZW5kOwogY2xhc3MgUlRDUnRwU2VuZGVyOworY2xh
c3MgUlRDUnRwVHJhbnNmb3JtQmFja2VuZDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiAKIHN0cnVjdCBSVENSdHBTZW5kUGFyYW1ldGVyczsKQEAgLTM5LDExICs0MCwxMyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CiAKIGNsYXNz
IFJUQ1J0cFNlbmRlckJhY2tlbmQgewogcHVibGljOgorICAgIHZpcnR1YWwgflJUQ1J0cFNlbmRl
ckJhY2tlbmQoKSA9IGRlZmF1bHQ7CisKICAgICB2aXJ0dWFsIGJvb2wgcmVwbGFjZVRyYWNrKFJU
Q1J0cFNlbmRlciYsIE1lZGlhU3RyZWFtVHJhY2sqKSA9IDA7CiAgICAgdmlydHVhbCBSVENSdHBT
ZW5kUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRQYXJhbWV0ZXJzKGNvbnN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzJiwgRE9NUHJvbWlzZURl
ZmVycmVkPHZvaWQ+JiYpID0gMDsKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1G
U2VuZGVyQmFja2VuZD4gY3JlYXRlRFRNRkJhY2tlbmQoKSA9IDA7Ci0gICAgdmlydHVhbCB+UlRD
UnRwU2VuZGVyQmFja2VuZCgpID0gZGVmYXVsdDsKKyAgICB2aXJ0dWFsIFJlZjxSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kPiBjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgPSAwOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NzE0MzhlZTY2NWIyNmY4MGUxNTFjMTk1ZWM4NzZjY2VhYWE5MzBlCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJX
aXRoVHJhbnNmb3JtLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRD
KQorCisjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3Jt
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtOworCitj
bGFzcyBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUlRD
UnRwVHJhbnNmb3JtKiB0cmFuc2Zvcm0oUlRDUnRwU2VuZGVyJiBzZW5kZXIpIHsgcmV0dXJuIHNl
bmRlci50cmFuc2Zvcm0oKTsgfQorICAgIHN0YXRpYyBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUcmFu
c2Zvcm0oUlRDUnRwU2VuZGVyJiBzZW5kZXIsIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJh
bnNmb3JtKSB7IHJldHVybiBzZW5kZXIuc2V0VHJhbnNmb3JtKFdURk1vdmUodHJhbnNmb3JtKSk7
IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJf
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBUcmFuc2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBUcmFuc2Zvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiZjVlNWU1YzJkZjcwZjk2MzAzZGY5NDk0ZmM1
YjMxNWM2OTNiMWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5jcHAKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKwor
I2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUlRDUnRwVHJhbnNmb3JtOjp+UlRDUnRwVHJhbnNmb3Jt
KCkKK3sKKyAgICBpZiAobV9iYWNrZW5kKQorICAgICAgICB3aWxsQ2xlYXJCYWNrZW5kKCptX2Jh
Y2tlbmQpOworfQorCit2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNoVG9SZWNlaXZlcihSVENS
dHBSZWNlaXZlciYgcmVjZWl2ZXIpCit7CisgICAgQVNTRVJUKCFpc0F0dGFjaGVkKCkpOworICAg
IGlmIChhdXRvKiBiYWNrZW5kID0gcmVjZWl2ZXIuYmFja2VuZCgpKQorICAgICAgICBtX2JhY2tl
bmQgPSBiYWNrZW5kLT5jcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCk7CisgICAgaWYgKG1f
YmFja2VuZCkKKyAgICAgICAgaW5pdGlhbGl6ZUJhY2tlbmRGb3JSZWNlaXZlcigqbV9iYWNrZW5k
KTsKK30KKwordm9pZCBSVENSdHBUcmFuc2Zvcm06OmF0dGFjaFRvU2VuZGVyKFJUQ1J0cFNlbmRl
ciYgc2VuZGVyKQoreworICAgIEFTU0VSVCghaXNBdHRhY2hlZCgpKTsKKyAgICBpZiAoYXV0byog
YmFja2VuZCA9IHNlbmRlci5iYWNrZW5kKCkpCisgICAgICAgIG1fYmFja2VuZCA9IGJhY2tlbmQt
PmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKTsKKyAgICBpZiAobV9iYWNrZW5kKQorICAg
ICAgICBpbml0aWFsaXplQmFja2VuZEZvclNlbmRlcigqbV9iYWNrZW5kKTsKK30KKwordm9pZCBS
VENSdHBUcmFuc2Zvcm06OmRldGFjaEZyb21SZWNlaXZlcihSVENSdHBSZWNlaXZlciYpCit7Cisg
ICAgaWYgKCFtX2JhY2tlbmQpCisgICAgICAgIHJldHVybjsKKworICAgIHdpbGxDbGVhckJhY2tl
bmQoKm1fYmFja2VuZCk7CisgICAgbV9iYWNrZW5kID0gbnVsbHB0cjsKK30KKwordm9pZCBSVENS
dHBUcmFuc2Zvcm06OmRldGFjaEZyb21TZW5kZXIoUlRDUnRwU2VuZGVyJikKK3sKKyAgICBpZiAo
IW1fYmFja2VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2lsbENsZWFyQmFja2VuZCgqbV9i
YWNrZW5kKTsKKyAgICBtX2JhY2tlbmQgPSBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNk
MzdiNjhlOGVkYjNmYTdiY2M5ZGUzMDU0OTk3ZDE0ZmVkZDNiNGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5oCkBA
IC0wLDAgKzEsNzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJUQ1J0cFJlY2VpdmVyOworY2xhc3MgUlRDUnRw
U2VuZGVyOworCitjbGFzcyBXRUJDT1JFX0VYUE9SVCBSVENSdHBUcmFuc2Zvcm0gOiBwdWJsaWMg
UmVmQ291bnRlZDxSVENSdHBUcmFuc2Zvcm0+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5SVENS
dHBUcmFuc2Zvcm0oKTsKKworICAgIGJvb2wgaXNBdHRhY2hlZCgpIGNvbnN0OworICAgIHZvaWQg
YXR0YWNoVG9SZWNlaXZlcihSVENSdHBSZWNlaXZlciYpOworICAgIHZvaWQgYXR0YWNoVG9TZW5k
ZXIoUlRDUnRwU2VuZGVyJik7CisgICAgdm9pZCBkZXRhY2hGcm9tUmVjZWl2ZXIoUlRDUnRwUmVj
ZWl2ZXImKTsKKyAgICB2b2lkIGRldGFjaEZyb21TZW5kZXIoUlRDUnRwU2VuZGVyJik7CisKK3By
aXZhdGU6CisgICAgdmlydHVhbCB2b2lkIGluaXRpYWxpemVCYWNrZW5kRm9yU2VuZGVyKFJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQmKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW5pdGlhbGl6ZUJhY2tlbmRG
b3JSZWNlaXZlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7CisgICAgdmlydHVhbCB2b2lkIHdp
bGxDbGVhckJhY2tlbmQoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpOworCitwcm90ZWN0ZWQ6Cisg
ICAgUmVmUHRyPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IG1fYmFja2VuZDsKK307CisKK2lubGlu
ZSBib29sIFJUQ1J0cFRyYW5zZm9ybTo6aXNBdHRhY2hlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
ICEhbV9iYWNrZW5kOworfQorCitpbmxpbmUgdm9pZCBSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxp
emVCYWNrZW5kRm9yU2VuZGVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKQoreworfQorCitpbmxp
bmUgdm9pZCBSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIoUlRD
UnRwVHJhbnNmb3JtQmFja2VuZCYpCit7Cit9CisKK2lubGluZSB2b2lkIFJUQ1J0cFRyYW5zZm9y
bTo6d2lsbENsZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJikKK3sKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2U2ZTMyODEyYmM0M2ZmMWUzZjVmYWIxMDUxNjY2ZTRlYzQzMzVhNgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwVHJhbnNmb3JtLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAg
RW5hYmxlZEJ5U2V0dGluZz1XZWJSVENJbnNlcnRhYmxlU3RyZWFtcywKKyAgICBFeHBvcnRNYWNy
bz1XRUJDT1JFX0VYUE9SVCwKKyAgICBFeHBvc2VkPVdpbmRvdworXSBpbnRlcmZhY2UgUlRDUnRw
VHJhbnNmb3JtIHsKKyAgICAvLyBGSVhNRTogQWRkIHJlYWRhYmxlL3dyaXRhYmxlIGdldHRlcnMK
KyAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUgUmVhZGFibGVTdHJlYW0gcmVhZGFibGU7CisgICAg
Ly8gcmVhZG9ubHkgYXR0cmlidXRlIFdyaXRhYmxlU3RyZWFtIHdyaXRhYmxlOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFu
c2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDEyMTQ5MjIwMWFlNjQ2MzViODgyOTM1NDU1ZTVi
OGYzNzNiYmNhOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybWFi
bGVGcmFtZTsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtQmFja2VuZCA6IHB1YmxpYyBUaHJlYWRT
YWZlUmVmQ291bnRlZDxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLCBXVEY6OkRlc3RydWN0aW9uVGhy
ZWFkOjpNYWluPiB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZCgpID0gZGVmYXVsdDsKKworICAgIHVzaW5nIENhbGxiYWNrID0gRnVuY3Rpb248dm9pZChSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWUmJik+OworICAgIHZpcnR1YWwgdm9pZCBzZXRUcmFuc2Zvcm1h
YmxlRnJhbWVDYWxsYmFjayhDYWxsYmFjayYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNsZWFy
VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHByb2Nl
c3NUcmFuc2Zvcm1lZEZyYW1lKFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmKSA9IDA7CisKKyAg
ICBlbnVtIGNsYXNzIE1lZGlhVHlwZSB7IEF1ZGlvLCBWaWRlbyB9OworICAgIHZpcnR1YWwgTWVk
aWFUeXBlIG1lZGlhVHlwZSgpIGNvbnN0ID0gMDsKKworICAgIGVudW0gY2xhc3MgU2lkZSB7IFNl
bmRlciwgUmVjZWl2ZXIgfTsKKyAgICB2aXJ0dWFsIFNpZGUgc2lkZSgpIGNvbnN0ID0gMDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFu
c2Zvcm1hYmxlRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTcyNjM2MDA3ZWZjMjc2YzM5NThj
MmU3MmMzOWEyMTNjOWFmOTk5MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgKQEAgLTAsMCArMSw0
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICog
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSB7CitwdWJsaWM6CisgICAgdmlydHVh
bCB+UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKCkgPSBkZWZhdWx0OworCisgICAgc3RydWN0IERh
dGEgeworICAgICAgICBjb25zdCB1aW50OF90KiBkYXRhOworICAgICAgICBzaXplX3Qgc2l6ZTsK
KyAgICB9OworICAgIHZpcnR1YWwgRGF0YSBkYXRhKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBzZXREYXRhKERhdGEpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q1J0cFJlY2VpdmVyQmFja2VuZC5jcHAKaW5kZXggMWQzMTZhYWZiN2ZjYWQzM2U0MWM1MTZlNTNi
MDY5ODU5ODU2Y2FlMC4uOWE4OGQxY2RjMGViYjBkYzc5YjA0Y2I1MWIwNGVmNmVhMGYzZTU5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3Bw
CkBAIC0yNSw3ICsyNSw5IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTGliV2Vi
UlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgiCiAKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBSZWNlaXZl
clRyYW5zZm9ybUJhY2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENVdGlscy5oIgorI2luY2x1
ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKICNpbmNsdWRlICJSZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2UuaCIKICNpbmNsdWRlICJSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2UuaCIK
IApAQCAtMTE0LDYgKzExNiwxMCBAQCBSZWY8UmVhbHRpbWVNZWRpYVNvdXJjZT4gTGliV2ViUlRD
UnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVhdGVTb3VyY2UoKQogICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiB9CiAKK1JlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBMaWJXZWJSVENS
dHBSZWNlaXZlckJhY2tlbmQ6OmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKQoreworICAg
IHJldHVybiBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OmNyZWF0ZShtX3J0
Y1JlY2VpdmVyKTsKK30KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBS
ZWNlaXZlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oCmluZGV4IGQwMjg3OThiMGU2OWMx
NzE0NmJjZTE4YjdkOWIwODRmZTI2OWVlMTguLmI0NmNkMmE2OTg0ZGVkOWQxMTk0NzU1NWQyMDUx
ODc3YzEwNTg3NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVy
QmFja2VuZC5oCkBAIC01Miw2ICs1Miw3IEBAIHByaXZhdGU6CiAgICAgUlRDUnRwUGFyYW1ldGVy
cyBnZXRQYXJhbWV0ZXJzKCkgZmluYWw7CiAgICAgVmVjdG9yPFJUQ1J0cENvbnRyaWJ1dGluZ1Nv
dXJjZT4gZ2V0Q29udHJpYnV0aW5nU291cmNlcygpIGNvbnN0IGZpbmFsOwogICAgIFZlY3RvcjxS
VENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2U+IGdldFN5bmNocm9uaXphdGlvblNvdXJjZXMoKSBj
b25zdCBmaW5hbDsKKyAgICBSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gY3JlYXRlUlRDUnRw
VHJhbnNmb3JtQmFja2VuZCgpIGZpbmFsOwogCiAgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+IG1fcnRjUmVjZWl2ZXI7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRw
UmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTFlNTk0MTlhYjcxZjA5ZWQwNzY1YWUxNDVhY2IyYmExNWQzZGM1MQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKQEAgLTAsMCAr
MSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgor
ICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFu
c2Zvcm1CYWNrZW5kLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykK
KworI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3N0YXRpYyBpbmxpbmUgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zv
cm1CYWNrZW5kOjpNZWRpYVR5cGUgbWVkaWFUeXBlRnJvbVJlY2VpdmVyKGNvbnN0IHdlYnJ0Yzo6
UnRwUmVjZWl2ZXJJbnRlcmZhY2UmIHJlY2VpdmVyKQoreworICAgIHJldHVybiByZWNlaXZlci5t
ZWRpYV90eXBlKCkgPT0gY3JpY2tldDo6TUVESUFfVFlQRV9BVURJTyA/IFJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6Ok1lZGlhVHlwZTo6QXVkaW8gOiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRp
YVR5cGU6OlZpZGVvOworfQorCitMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6
OkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZChydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpSdHBSZWNlaXZlckludGVyZmFjZT4gcnRjUmVjZWl2ZXIpCisgICAgOiBMaWJXZWJS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kKG1lZGlhVHlwZUZyb21SZWNlaXZlcigqcnRjUmVjZWl2ZXIp
LCBTaWRlOjpSZWNlaXZlcikKKyAgICAsIG1fcnRjUmVjZWl2ZXIoV1RGTW92ZShydGNSZWNlaXZl
cikpCit7Cit9CisKK0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6fkxpYldl
YlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZCgpCit7Cit9CisKK3ZvaWQgTGliV2ViUlRD
UnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFj
ayhDYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAgIHNldElucHV0Q2FsbGJhY2soV1RGTW92ZShj
YWxsYmFjaykpOworICAgIG1fcnRjUmVjZWl2ZXItPlNldERlcGFja2V0aXplclRvRGVjb2RlckZy
YW1lVHJhbnNmb3JtZXIodGhpcyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVj
ZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41YWU5N2ZkMDEwZDU0ZDliYzdiYjFiMDAwZTNmMTc5OGM1NjAzZjNiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmgKQEAgLTAsMCArMSw2MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVk
ZSAiTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgorCitBTExPV19VTlVTRURfUEFSQU1F
VEVSU19CRUdJTgorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KKworI2luY2x1
ZGUgPHdlYnJ0Yy9hcGkvcnRwX3JlY2VpdmVyX2ludGVyZmFjZS5oPgorCitBTExPV19ERVBSRUNB
VEVEX0RFQ0xBUkFUSU9OU19FTkQKK0FMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0VORAorCituYW1l
c3BhY2Ugd2VicnRjIHsKK2NsYXNzIFJ0cFJlY2VpdmVySW50ZXJmYWNlOworfQorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2Vu
ZCBmaW5hbCA6IHB1YmxpYyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZD4gY3Jl
YXRlKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiByZWNl
aXZlcikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9y
bUJhY2tlbmQoV1RGTW92ZShyZWNlaXZlcikpKTsgfQorICAgIH5MaWJXZWJSVENSdHBSZWNlaXZl
clRyYW5zZm9ybUJhY2tlbmQoKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBMaWJXZWJSVENS
dHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRw
UmVjZWl2ZXJJbnRlcmZhY2U+KTsKKworICAgIC8vIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQKKyAg
ICB2b2lkIHNldFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKENhbGxiYWNrJiYpIGZpbmFsOwor
CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+IG1f
cnRjUmVjZWl2ZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tl
bmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAKaW5kZXggNTkzZGE5ODRlOTc4YjlmZTcwNTE4YTNl
MzkyNGVjNTI1MWVmYTJhYy4uOGU5NjFjOTcyZmIwZGU0OGQ3NWEwYzRhZTlmM2NiZDFhOTIyYzlj
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAK
QEAgLTMwLDkgKzMwLDExIEBACiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNp
bmNsdWRlICJMaWJXZWJSVENEVE1GU2VuZGVyQmFja2VuZC5oIgogI2luY2x1ZGUgIkxpYldlYlJU
Q1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFNlbmRlclRy
YW5zZm9ybUJhY2tlbmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENVdGlscy5oIgogI2luY2x1ZGUg
IlJUQ1BlZXJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCisjaW5jbHVk
ZSAiUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTM2LDYgKzEzOCwxMSBAQCBzdGQ6
OnVuaXF1ZV9wdHI8UlRDRFRNRlNlbmRlckJhY2tlbmQ+IExpYldlYlJUQ1J0cFNlbmRlckJhY2tl
bmQ6OmNyZWF0ZURUTUZCYWNrZQogICAgIHJldHVybiBtYWtlVW5pcXVlPExpYldlYlJUQ0RUTUZT
ZW5kZXJCYWNrZW5kPihtX3J0Y1NlbmRlci0+R2V0RHRtZlNlbmRlcigpKTsKIH0KIAorUmVmPFJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQ+IExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQ6OmNyZWF0ZVJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQoKQoreworICAgIHJldHVybiBMaWJXZWJSVENSdHBTZW5kZXJU
cmFuc2Zvcm1CYWNrZW5kOjpjcmVhdGUobV9ydGNTZW5kZXIpOworfQorCiBSZWFsdGltZU91dGdv
aW5nVmlkZW9Tb3VyY2UqIExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQ6OnZpZGVvU291cmNlKCkK
IHsKICAgICByZXR1cm4gc3dpdGNoT24obV9zb3VyY2UsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNr
ZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENSdHBTZW5kZXJCYWNrZW5kLmgKaW5kZXggYTEwNDE2ZDE0MDlmYWU4MDI2ZGZmNGViNTky
NTVkODU5NWY3MjI4Mi4uZDU2YTA1NmUzNjJiNGQ2MzQ5MTE2M2MxMmJiYzhkYmNjZjI5NDcwNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaApAQCAtNzAs
NiArNzAsNyBAQCBwcml2YXRlOgogICAgIFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIGdldFBhcmFtZXRl
cnMoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHNldFBhcmFtZXRlcnMoY29uc3QgUlRDUnRwU2Vu
ZFBhcmFtZXRlcnMmLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJikgZmluYWw7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJUQ0RUTUZTZW5kZXJCYWNrZW5kPiBjcmVhdGVEVE1GQmFja2VuZCgpIGZp
bmFsOworICAgIFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBjcmVhdGVSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kKCkgZmluYWw7CiAKICAgICB2b2lkIHN0YXJ0U291cmNlKCk7CiAgICAgdm9pZCBz
dG9wU291cmNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNl
bmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhZjQzOWRjZmU4YzA3MjdhNjAy
MjQ4YjBjOWU0Zjk5MzVjYjU4YTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1C
YWNrZW5kLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JUQykg
JiYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBpbmxpbmUgTGliV2ViUlRD
UnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlIG1lZGlhVHlwZUZyb21TZW5kZXIo
Y29uc3Qgd2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2UmIHNlbmRlcikKK3sKKyAgICByZXR1cm4g
c2VuZGVyLm1lZGlhX3R5cGUoKSA9PSBjcmlja2V0OjpNRURJQV9UWVBFX0FVRElPID8gUlRDUnRw
VHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpBdWRpbyA6IFJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQ6Ok1lZGlhVHlwZTo6VmlkZW87Cit9CisKK0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJh
Y2tlbmQ6OkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQocnRjOjpzY29wZWRfcmVm
cHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNlPiBydGNTZW5kZXIpCisgICAgOiBMaWJXZWJS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kKG1lZGlhVHlwZUZyb21TZW5kZXIoKnJ0Y1NlbmRlciksIFNp
ZGU6OlNlbmRlcikKKyAgICAsIG1fcnRjU2VuZGVyKFdURk1vdmUocnRjU2VuZGVyKSkKK3sKK30K
KworTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZDo6fkxpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQoKQoreworfQorCit2b2lkIExpYldlYlJUQ1J0cFNlbmRlclRyYW5z
Zm9ybUJhY2tlbmQ6OnNldFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKENhbGxiYWNrJiYgY2Fs
bGJhY2spCit7CisgICAgc2V0SW5wdXRDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAg
bV9ydGNTZW5kZXItPlNldEVuY29kZXJUb1BhY2tldGl6ZXJGcmFtZVRyYW5zZm9ybWVyKHRoaXMp
OworfQorCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJf
UlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2Vu
ZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2NjA5YjdkMWRmOWE5
NzBhN2FhNTg4NGMwZTE1MzY0MmM4NDZjMmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFu
c2Zvcm1CYWNrZW5kLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJf
UlRDKSAmJiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZC5oIgorCitBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgorQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KKworI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvcnRwX3NlbmRl
cl9pbnRlcmZhY2UuaD4KKworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECitBTExP
V19VTlVTRURfUEFSQU1FVEVSU19FTkQKKworbmFtZXNwYWNlIHdlYnJ0YyB7CitjbGFzcyBSdHBT
ZW5kZXJJbnRlcmZhY2U7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGliV2Vi
UlRDU2VuZGVyVHJhbnNmb3JtZXI7CisKK2NsYXNzIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9y
bUJhY2tlbmQgZmluYWwgOiBwdWJsaWMgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZCB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kPiBjcmVhdGUocnRjOjpzY29wZWRfcmVmcHRy
PHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNlPiBzZW5kZXIpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZChXVEZNb3ZlKHNlbmRlcikpKTsg
fQorICAgIH5MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKCk7CisKK3ByaXZhdGU6
CisgICAgZXhwbGljaXQgTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZChydGM6OnNj
b3BlZF9yZWZwdHI8d2VicnRjOjpSdHBTZW5kZXJJbnRlcmZhY2U+KTsKKworICAgIC8vIFJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQKKyAgICB2b2lkIHNldFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNr
KENhbGxiYWNrJiYpIGZpbmFsOworCisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRw
U2VuZGVySW50ZXJmYWNlPiBtX3J0Y1NlbmRlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMTYyZDMwZDFmZGQzMDJhM2I1YzNlZGIzOGRjY2I5ZWVlMTMzMTA0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAKQEAgLTAsMCArMSw5NiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIgorCisjaWYgRU5B
QkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBU
cmFuc2Zvcm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIExpYldl
YlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OnNldElucHV0Q2FsbGJhY2soQ2FsbGJhY2smJiBjYWxs
YmFjaykKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIGF1dG8gbG9ja2VyID0g
aG9sZExvY2sobV9pbnB1dENhbGxiYWNrTG9jayk7CisgICAgbV9pbnB1dENhbGxiYWNrID0gV1RG
TW92ZShjYWxsYmFjayk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6
Y2xlYXJUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjaygpCit7CisgICAgc2V0SW5wdXRDYWxsYmFj
ayh7IH0pOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OnNldE91dHB1
dENhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxs
YmFjaz4mJiBjYWxsYmFjaykKK3sKKyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fb3V0cHV0
Q2FsbGJhY2tMb2NrKTsKKyAgICBtX291dHB1dENhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayk7
Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6cHJvY2Vzc1RyYW5zZm9y
bWVkRnJhbWUoUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYgZnJhbWUpCit7CisgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX291dHB1dENhbGxiYWNrTG9jayk7CisgICAgaWYgKG1fb3V0cHV0
Q2FsbGJhY2spCisgICAgICAgIG1fb3V0cHV0Q2FsbGJhY2stPk9uVHJhbnNmb3JtZWRGcmFtZShM
aWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OnRvUlRDRnJhbWUoV1RGTW92ZShzdGF0aWNf
Y2FzdDxMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmPihmcmFtZSkpKSk7Cit9CisKK3Zv
aWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6VHJhbnNmb3JtKHN0ZDo6dW5pcXVlX3B0
cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4gcnRjRnJhbWUpCit7CisgICAg
eworICAgICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1faW5wdXRDYWxsYmFja0xvY2spOwor
ICAgICAgICBpZiAobV9pbnB1dENhbGxiYWNrKSB7CisgICAgICAgICAgICBtX2lucHV0Q2FsbGJh
Y2soTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKFdURk1vdmUocnRjRnJhbWUpKSk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAgLy8gSW4gY2FzZSBvZiBu
byBpbnB1dCBjYWxsYmFjaywgbWFrZSB0aGUgdHJhbnNmb3JtIGEgbm8tb3AuCisgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX291dHB1dENhbGxiYWNrTG9jayk7CisgICAgaWYgKG1fb3V0cHV0
Q2FsbGJhY2spCisgICAgICAgIG1fb3V0cHV0Q2FsbGJhY2stPk9uVHJhbnNmb3JtZWRGcmFtZShX
VEZNb3ZlKHJ0Y0ZyYW1lKSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZDo6UmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdl
YnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrPiBjYWxsYmFjaykKK3sKKyAgICBzZXRPdXRw
dXRDYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZDo6UmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4gY2FsbGJhY2ss
IHVpbnQzMl90IC8qIHNzcmMgKi8pCit7CisgICAgUmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lQ2Fs
bGJhY2soV1RGTW92ZShjYWxsYmFjaykpOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2soKQoreworICAgIHNl
dE91dHB1dENhbGxiYWNrKG51bGxwdHIpOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHVpbnQzMl90
IC8qIHNzcmMgKi8pCit7CisgICAgVW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaygp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JU
QykgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTU4YzY0YmI2MTE0MGM0ZTJjZWI0N2ExNzAz
NDA5NWY2YjRlOTkwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCkBAIC0w
LDAgKzEsOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJU
QykKKworI2luY2x1ZGUgIkxpYldlYlJUQ01hY3Jvcy5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuaCIKKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3Njb3BlZF9yZWZwdHIuaD4KKyNp
bmNsdWRlIDx3dGYvTG9jay5oPgorCitBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgorQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KKworI2luY2x1ZGUgPHdlYnJ0Yy9hcGkv
ZnJhbWVfdHJhbnNmb3JtZXJfaW50ZXJmYWNlLmg+CisKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFS
QVRJT05TX0VORAorQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZCA6IHB1YmxpYyBSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kLCBwdWJsaWMgd2VicnRjOjpGcmFtZVRyYW5zZm9ybWVySW50ZXJm
YWNlIHsKK3Byb3RlY3RlZDoKKyAgICBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKE1lZGlh
VHlwZSwgU2lkZSk7CisgICAgdm9pZCBzZXRJbnB1dENhbGxiYWNrKENhbGxiYWNrJiYpOworCitw
cml2YXRlOgorICAgIHZvaWQgc2V0T3V0cHV0Q2FsbGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdl
YnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrPiYmKTsKKworICAgIC8vIFJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQKKyAgICB2b2lkIHByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZSYmKSBmaW5hbDsKKyAgICB2b2lkIGNsZWFyVHJhbnNmb3JtYWJsZUZyYW1l
Q2FsbGJhY2soKSBmaW5hbDsKKyAgICBNZWRpYVR5cGUgbWVkaWFUeXBlKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9tZWRpYVR5cGU7IH0KKyAgICBTaWRlIHNpZGUoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX3NpZGU7IH0KKworICAgIC8vIHdlYnJ0Yzo6RnJhbWVUcmFuc2Zvcm1lckludGVyZmFj
ZQorICAgIHZvaWQgVHJhbnNmb3JtKHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFi
bGVGcmFtZUludGVyZmFjZT4pIGZpbmFsOworICAgIHZvaWQgUmVnaXN0ZXJUcmFuc2Zvcm1lZEZy
YW1lQ2FsbGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNh
bGxiYWNrPikgZmluYWw7CisgICAgdm9pZCBSZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2Fs
bGJhY2socnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNr
PiwgdWludDMyX3Qgc3NyYykgZmluYWw7CisgICAgdm9pZCBVbnJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZUNhbGxiYWNrKCkgZmluYWw7CisgICAgdm9pZCBVbnJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFt
ZVNpbmtDYWxsYmFjayh1aW50MzJfdCBzc3JjKSBmaW5hbDsKKyAgICB2b2lkIEFkZFJlZigpIGNv
bnN0IGZpbmFsIHsgcmVmKCk7IH0KKyAgICBydGM6OlJlZkNvdW50UmVsZWFzZVN0YXR1cyBSZWxl
YXNlKCkgY29uc3QgZmluYWw7CisKKyAgICBNZWRpYVR5cGUgbV9tZWRpYVR5cGU7CisgICAgU2lk
ZSBtX3NpZGU7CisKKyAgICBMb2NrIG1faW5wdXRDYWxsYmFja0xvY2s7CisgICAgQ2FsbGJhY2sg
bV9pbnB1dENhbGxiYWNrOworCisgICAgTG9jayBtX291dHB1dENhbGxiYWNrTG9jazsKKyAgICBy
dGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+IG1fb3V0
cHV0Q2FsbGJhY2s7Cit9OworCitpbmxpbmUgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6
TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZChNZWRpYVR5cGUgbWVkaWFUeXBlLCBTaWRlIHNp
ZGUpCisgICAgOiBtX21lZGlhVHlwZShtZWRpYVR5cGUpCisgICAgLCBtX3NpZGUoc2lkZSkKK3sK
K30KKworaW5saW5lIHJ0Yzo6UmVmQ291bnRSZWxlYXNlU3RhdHVzIExpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQ6OlJlbGVhc2UoKSBjb25zdAoreworICAgIGRlcmVmKCk7CisgICAgcmV0dXJu
IHJ0Yzo6UmVmQ291bnRSZWxlYXNlU3RhdHVzOjprT3RoZXJSZWZzUmVtYWluZWQ7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKSAmJiBVU0Uo
TElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Mjg2MzJjNmUxN2IxMWZmNzhjZTIzNTExOTdmZmEwZTNh
NDdmMTRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgKQEAgLTAsMCAr
MSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgor
ICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVkZSAiUlRDUnRw
VHJhbnNmb3JtYWJsZUZyYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTGli
V2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lIGZpbmFsIDogcHVibGljIFJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZSB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAg
ZXhwbGljaXQgTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKHN0ZDo6dW5pcXVlX3B0cjx3
ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4mJik7CisgICAgdmlydHVhbCB+TGli
V2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKCkgPSBkZWZhdWx0OworCisgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4gdG9SVENG
cmFtZShMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJik7CisKK3ByaXZhdGU6CisgICAg
RGF0YSBkYXRhKCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBzZXREYXRhKERhdGEgZGF0YSkgZmlu
YWwgeyBtX3J0Y0ZyYW1lLT5TZXREYXRhKHsgZGF0YS5kYXRhLCBkYXRhLnNpemUgfSk7IH0KKwor
ICAgIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4g
bV9ydGNGcmFtZTsKK307CisKK2lubGluZSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6
OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpU
cmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+JiYgZnJhbWUpCisgICAgOiBtX3J0Y0ZyYW1lKFdU
Rk1vdmUoZnJhbWUpKQoreworfQorCitpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJh
bnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6
OnRvUlRDRnJhbWUoTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYgZnJhbWUpCit7Cisg
ICAgcmV0dXJuIFdURk1vdmUoZnJhbWUubV9ydGNGcmFtZSk7Cit9CisKK2lubGluZSBSVENSdHBU
cmFuc2Zvcm1hYmxlRnJhbWU6OkRhdGEgTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpk
YXRhKCkgY29uc3QKK3sKKyAgICBhdXRvIGRhdGEgPSBtX3J0Y0ZyYW1lLT5HZXREYXRhKCk7Cisg
ICAgcmV0dXJuIHsgZGF0YS5iZWdpbigpLCBkYXRhLnNpemUoKSB9OworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggZjk1YWZmNjdjOTQ1NjM0MjYyYWMzOWExYjM5YzgwNDE3OTRjNDZkYi4uNjRhNWQ1ZDRkNDcw
NjQ2OTNjMDVmZjg3MjFlYzVlMzdiMDUzOTU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE2NCwxMiAr
MTY0LDE2IEBAIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCiBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSWNlRXZlbnQuY3BwCiBNb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
ZW5kZXIuY3BwCitNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5jcHAKIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXIuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhY2tF
dmVudC5jcHAKIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhQ29udHJvbGxlci5jcHAKIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKIE1vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ0NlcnRpZmljYXRlR2VuZXJhdG9yLmNwcAorTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5k
LmNwcAorTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJh
bnNmb3JtQmFja2VuZC5jcHAKK01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwCiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmNwcAogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNvbnRyb2xsZXIuY3Bw
CiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcApAQCAt
MzMyMCw2ICszMzI0LDcgQEAgSlNSVENSdHBTZW5kZXIuY3BwCiBKU1JUQ1J0cFN5bmNocm9uaXph
dGlvblNvdXJjZS5jcHAKIEpTUlRDUnRwVHJhbnNjZWl2ZXIuY3BwCiBKU1JUQ1J0cFRyYW5zY2Vp
dmVyRGlyZWN0aW9uLmNwcAorSlNSVENSdHBUcmFuc2Zvcm0uY3BwCiBKU1JUQ1NkcFR5cGUuY3Bw
CiBKU1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAKIEpTUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5p
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBiYjgyNDg2ZmI5NGU2NWM3OTVhNjc3NzY2YWRmMTM0MThmOWZlNzNmLi5jOThk
MTZhOTFiOGMxY2QwNGY3MGFkY2VlNmZkZGZlYTRkOTE0ZDAzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDQ3LDYgKzEwNDcs
OSBAQAogCQk0MTM4Rjg1ODFEMjUzRjBFMDAxQ0I2MUUgLyogSlNET01JdGVyYXRvci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzOEY4NTYxRDI1M0VF
RTAwMUNCNjFFIC8qIEpTRE9NSXRlcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTNBMUFBMjIzNzFBOEI0MDA3RUYzQTUgLyogSlNET01T
ZXRMaWtlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTNBMUE5RjIzNzFBOEE4MDA3RUYzQTUgLyogSlNET01TZXRMaWtlLmggKi87IH07CiAJCTQxM0My
QzM0MUJDMjlBOEYwMDc1MjA0QyAvKiBKU0RPTUNvbnN0cnVjdG9yLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTNDMkMzMzFCQzI5QTdCMDA3NTIwNEMg
LyogSlNET01Db25zdHJ1Y3Rvci5oICovOyB9OworCQk0MTNDOEIzMzI1NTJGMjdEMDBFNjUwNTUg
LyogUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQzhCMkUyNTUyRjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFNl
bmRlcldpdGhUcmFuc2Zvcm0uaCAqLzsgfTsKKwkJNDEzQzhCMzQyNTUyRjI3RDAwRTY1MDU1IC8q
IFJUQ1J0cFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDEzQzhCMkYyNTUyRjI3QjAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5oICov
OyB9OworCQk0MTNDOEIzNTI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJh
bnNmb3JtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTNDOEIzMDI1NTJGMjdDMDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmgg
Ki87IH07CiAJCTQxM0NDRDRBMjBERTAzNEYwMDY1QTIxQSAvKiBNb2NrTWVkaWFEZXZpY2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0NDRDQ4MjBE
RTAxM0MwMDY1QTIxQSAvKiBNb2NrTWVkaWFEZXZpY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTNFMDA3OTFEQjBFNEYyMDAyMzQxRDIgLyog
TWVtb3J5UmVsZWFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDEzRTAwNzgxREIwRTRERTAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTQ0NjBBMjI0MTI5
OTQ1MDA4MTRCRTcgLyogTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE0NDYwQTAyNDEyOTk0MTAwODE0QkU3IC8q
IE1lZGlhU2Vzc2lvbklkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtMTA5OSw2ICsxMTAyLDEzIEBACiAJCTQxN0Y3QUVGMjEzOUJG
NkYwMEZCQTdFQyAvKiBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0Y3QUVEMjEzOUJGNjUwMEZCQTdFQyAv
KiBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTgxNUMxRTEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29y
ZVRlc3RTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxODE1QzFDMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuY3Bw
ICovOyB9OwogCQk0MTgxNUMxRjEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMx
RDEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDE4MUM1QzkyNTU1NzNERjAwQUVC
MEZGIC8qIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUM4MjU1NTczREYwMEFFQjBGRiAvKiBSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kLmggKi87IH07CisJCTQxODFDNUNCMjU1NTgyRTQwMEFFQjBGRiAvKiBS
VENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxODFDNUNBMjU1NTgyRTMwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUuaCAqLzsgfTsKKwkJNDE4MUM1Q0QyNTU1ODM2OTAwQUVCMEZGIC8qIExpYldl
YlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE4MUM1Q0MyNTU1ODM2ODAwQUVCMEZGIC8qIExpYldlYlJUQ1J0
cFRyYW5zZm9ybWFibGVGcmFtZS5oICovOyB9OworCQk0MTgxQzVEMTI1NTU4OTU2MDBBRUIwRkYg
LyogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MUM1Q0YyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldl
YlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLzsgfTsKKwkJNDE4MUM1RDYyNTU1QzFCOTAwQUVC
MEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUQ1MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRw
VHJhbnNmb3JtLmggKi87IH07CisJCTQxODFDNUQ3MjU1NUM0OUEwMEFFQjBGRiAvKiBNb2NrUlRD
UnRwVHJhbnNmb3JtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxODFDNUQzMjU1NUMxQjEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmNw
cCAqLzsgfTsKKwkJNDE4MUM2MzkyNTVBRTkwRjAwQUVCMEZGIC8qIEpTTW9ja1JUQ1J0cFRyYW5z
Zm9ybS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
RDZGM0U5MjFDMUY4NTU1MDA2MURCRTQgLyogSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCAqLzsg
fTsKIAkJNDE4MjA1NDcxRTUzRTk4QzAwRDYyMjA3IC8qIFJUQ0NvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODIwNTQ1MUU1M0M4Q0Qw
MEQ2MjIwNyAvKiBSVENDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4MjZCRjIyM0ZCNTk3NzAwQjkyMkIxIC8qIERvY3VtZW50
SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDE4MjZCRjEyM0ZCNTk3MDAwQjkyMkIxIC8qIERvY3VtZW50SWRlbnRpZmllci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxODRGNTE2MUVB
RjA1QTgwMEYxOEJGMCAvKiBPcmllbnRhdGlvbk5vdGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTg0RjUxNTFFQUYwNTk4MDBGMThCRjAgLyog
T3JpZW50YXRpb25Ob3RpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC03MDMzLDYgKzcwNDMsNyBAQAogCQkyRDZGM0U5MjFDMUY4NTU1MDA2
MURCRDQgLyogSlNNb2NrUGFnZU92ZXJsYXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNNb2NrUGFnZU92ZXJsYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDUgLyogSlNJbnRlcm5hbHNTZXRMaWtlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW50ZXJuYWxzU2V0TGlr
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENkYzRTkyMUMxRjg1NTUwMDYx
REJENiAvKiBKU0ludGVybmFsc01hcExpa2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNJbnRlcm5hbHNNYXBMaWtlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkU0IC8qIEpTTW9ja1JUQ1J0cFRyYW5zZm9y
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01vY2tSVENSdHBU
cmFuc2Zvcm0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDZGM0U5MzFDMUY4
NTU1MDA2MURCRDQgLyogSlNNb2NrUGFnZU92ZXJsYXkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNNb2NrUGFnZU92ZXJsYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMkQ3MEJBMTIxODA3NERERjAwMDE5MDhBIC8qIFBsYXRmb3JtQ0FMYXllckNvY29hLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllckNvY29hLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENzBCQTE0MTgwNzRGODUwMDAxOTA4QSAv
KiBQbGF0Zm9ybUNBTGF5ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUGxhdGZvcm1DQUxheWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc1
NjIsNiArNzU3MywxMiBAQAogCQk0MTNBMUE5RjIzNzFBOEE4MDA3RUYzQTUgLyogSlNET01TZXRM
aWtlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NU2V0TGlrZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTNBMUFBMTIzNzFBOEE5MDA3RUYzQTUgLyogSlNET01TZXRMaWtlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NU2V0TGlrZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxM0MyQzMzMUJDMjlBN0IwMDc1MjA0QyAvKiBKU0RPTUNvbnN0cnVjdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQ29uc3RydWN0b3IuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMjQyNTUyRUVBOTAwRTY1MDU1IC8qIFJU
Q1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlJUQ1J0
cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MTNDOEIyNjI1NTJFRUE5MDBFNjUwNTUgLyogUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlJUQ1J0cFNlbmRlcitUcmFuc2Zvcm0uaWRsIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMjkyNTUyRjAxMzAwRTY1MDU1IC8qIFJUQ1J0
cFRyYW5zZm9ybS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUlRDUnRwVHJhbnNmb3JtLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMkUyNTUyRjI3QjAwRTY1MDU1
IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTNDOEIyRjI1NTJGMjdCMDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9ybS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTNDOEIzMDI1NTJGMjdDMDBFNjUwNTUgLyogUlRD
UnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTNDQ0Q0ODIwREUwMTNDMDA2NUEyMUEgLyogTW9ja01lZGlhRGV2aWNlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tNZWRpYURldmljZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNFMDA3NzFEQjBFNERFMDAyMzQxRDIgLyogTWVtb3J5
UmVsZWFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlS
ZWxlYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzRTAwNzgxREIwRTRE
RTAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVtb3J5UmVsZWFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzY3
Miw2ICs3Njg5LDE5IEBACiAJCTQxODE1QzFDMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVz
dFN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29y
ZVRlc3RTdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4MTVDMUQx
MzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDE4MTcwN0QxMzg2RURGMjAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9y
dC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJDb3JlVGVzdFN1
cHBvcnQueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUJFMjU1
M0VCNkUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaDsgcGF0aCA9
IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUMwMjU1M0VCNkUwMEFFQjBGRiAvKiBMaWJXZWJS
VENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGli
V2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9M
aWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MTgxQzVDMTI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwU2Vu
ZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVENSdHBT
ZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBT
ZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDE4MUM1QzIyNTUzRUI2RjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3Jt
QmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQuaDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzYyNTU1NzM1MTAw
QUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSVENSdHBUcmFuc2Zvcm0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MTgxQzVDODI1NTU3M0RGMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUNBMjU1NTgyRTMwMEFFQjBG
RiAvKiBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxODFDNUNDMjU1NTgzNjgwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRD
UnRwVHJhbnNmb3JtYWJsZUZyYW1lLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUNF
MjU1NTg5NTUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExpYldlYlJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQuY3BwOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDRjI1NTU4OTU2MDBBRUIw
RkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3
ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTgxQzVEMzI1NTVDMUIxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9y
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrUlRDUnRwVHJh
bnNmb3JtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1RDUyNTU1QzFC
OTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTW9ja1JUQ1J0cFRyYW5zZm9ybS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0MTgxQzYzNjI1NUFFMjYxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxODIwNTQ1MUU1M0M4Q0QwMEQ2MjIwNyAvKiBSVENDb250cm9sbGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDE4MjA1NDgxRTUzRUFBRDAwRDYyMjA3IC8qIFJUQ0NvbnRyb2xs
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUlRDQ29udHJvbGxl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODI2QkYxMjNGQjU5NzAwMEI5
MjJCMSAvKiBEb2N1bWVudElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRG9jdW1lbnRJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNzA0MywxNiArMTcwNzMsMjAgQEAKIAkJCQk0MUU1OTQwMDIxNDg2NUFBMDBEM0NCNjEgLyog
UlRDUnRwSGVhZGVyRXh0ZW5zaW9uUGFyYW1ldGVycy5pZGwgKi8sCiAJCQkJNDFBNDhBQTgxRTg0
QUYxRDAwRDJBQzJEIC8qIFJUQ1J0cFBhcmFtZXRlcnMuaCAqLywKIAkJCQk0MUE0OEFBNzFFODRB
RUVDMDBEMkFDMkQgLyogUlRDUnRwUGFyYW1ldGVycy5pZGwgKi8sCisJCQkJNDEzQzhCMjQyNTUy
RUVBOTAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwgKi8sCiAJCQkJNUUy
QzQzNTYxQkNFRTMwRDAwMDFFMkJDIC8qIFJUQ1J0cFJlY2VpdmVyLmNwcCAqLywKIAkJCQk1RTJD
NDM1NzFCQ0VFMzBEMDAwMUUyQkMgLyogUlRDUnRwUmVjZWl2ZXIuaCAqLywKIAkJCQk1RTJDNDM1
ODFCQ0VFMzBEMDAwMUUyQkMgLyogUlRDUnRwUmVjZWl2ZXIuaWRsICovLAogCQkJCTQxRDFBMDQ4
MjEzRURERUIwMDYzRkI2QiAvKiBSVENSdHBSZWNlaXZlckJhY2tlbmQuaCAqLywKKwkJCQk0MTND
OEIzMDI1NTJGMjdDMDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggKi8s
CiAJCQkJNDFGQ0I3NjAyMTQ4NjcwMDAwMzhBREM2IC8qIFJUQ1J0cFJ0eFBhcmFtZXRlcnMuaCAq
LywKIAkJCQk0MUZDQjc1ODIxNDg2NUQyMDAzOEFEQzYgLyogUlRDUnRwUnR4UGFyYW1ldGVycy5p
ZGwgKi8sCisJCQkJNDEzQzhCMjYyNTUyRUVBOTAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcitUcmFu
c2Zvcm0uaWRsICovLAogCQkJCTVFMkM0MzU5MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBTZW5k
ZXIuY3BwICovLAogCQkJCTVFMkM0MzVBMUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBTZW5kZXIu
aCAqLywKIAkJCQk1RTJDNDM1QjFCQ0VFMzBEMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmlkbCAq
LywKIAkJCQk0MUQxQTA0NjIxM0VEREVCMDA2M0ZCNkIgLyogUlRDUnRwU2VuZGVyQmFja2VuZC5o
ICovLAorCQkJCTQxM0M4QjJFMjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJh
bnNmb3JtLmggKi8sCiAJCQkJNDE0QUQzRkMyMTQ5ODQyMDAwNTIxNjc2IC8qIFJUQ1J0cFNlbmRQ
YXJhbWV0ZXJzLmggKi8sCiAJCQkJNDE0QUQzRkUyMTQ5ODQyMDAwNTIxNjc2IC8qIFJUQ1J0cFNl
bmRQYXJhbWV0ZXJzLmlkbCAqLywKIAkJCQk0MTVFMUJCNjIxNTAxNTJBMDAyMkRBOTYgLyogUlRD
UnRwU3luY2hyb25pemF0aW9uU291cmNlLmggKi8sCkBAIC0xNzA2Miw2ICsxNzA5NiwxMSBAQAog
CQkJCTVFNUUyQjEyMUNGQzNFNEIwMDBDMEQ4NSAvKiBSVENSdHBUcmFuc2NlaXZlci5pZGwgKi8s
CiAJCQkJNDE4NkJENDYyMTQwNzJCNjAwMDE4MjZGIC8qIFJUQ1J0cFRyYW5zY2VpdmVyQmFja2Vu
ZC5oICovLAogCQkJCTMxNkRDQjE3MUU3OEMzMzAwMDFCNUY4NyAvKiBSVENSdHBUcmFuc2NlaXZl
ckRpcmVjdGlvbi5pZGwgKi8sCisJCQkJNDE4MUM1QzYyNTU1NzM1MTAwQUVCMEZGIC8qIFJUQ1J0
cFRyYW5zZm9ybS5jcHAgKi8sCisJCQkJNDEzQzhCMkYyNTUyRjI3QjAwRTY1MDU1IC8qIFJUQ1J0
cFRyYW5zZm9ybS5oICovLAorCQkJCTQxM0M4QjI5MjU1MkYwMTMwMEU2NTA1NSAvKiBSVENSdHBU
cmFuc2Zvcm0uaWRsICovLAorCQkJCTQxODFDNUNBMjU1NTgyRTMwMEFFQjBGRiAvKiBSVENSdHBU
cmFuc2Zvcm1hYmxlRnJhbWUuaCAqLywKKwkJCQk0MTgxQzVDODI1NTU3M0RGMDBBRUIwRkYgLyog
UlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oICovLAogCQkJCTQxMEY1NjU4MjRGQ0Y4NTQwMEEyRTUw
QyAvKiBSVENTZHBUeXBlLmlkbCAqLywKIAkJCQkwNzIyMUI3QTE3Q0VDMzI3MDA4NDhFNTEgLyog
UlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmNwcCAqLywKIAkJCQkwNzIyMUI3QjE3Q0VDMzI3MDA4NDhF
NTEgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmggKi8sCkBAIC0xOTEyNCwxMCArMTkxNjMsMTcg
QEAKIAkJCQk0MTc2MTJBRTFFM0E5OTNCMDBDM0Q4MUQgLyogTGliV2ViUlRDUGVlckNvbm5lY3Rp
b25CYWNrZW5kLmggKi8sCiAJCQkJNDFEMUEwNEEyMTNFRERGRTAwNjNGQjZCIC8qIExpYldlYlJU
Q1J0cFJlY2VpdmVyQmFja2VuZC5jcHAgKi8sCiAJCQkJNDE4NkJEM0IyMTNFREUzODAwMDE4MjZG
IC8qIExpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oICovLAorCQkJCTQxODFDNUMwMjU1M0VC
NkUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwICov
LAorCQkJCTQxODFDNUMyMjU1M0VCNkYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlclRy
YW5zZm9ybUJhY2tlbmQuaCAqLywKIAkJCQk0MUQxQTA0QjIxM0VEREZFMDA2M0ZCNkIgLyogTGli
V2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHAgKi8sCiAJCQkJNDE4NkJEM0QyMTNFREUzOTAwMDE4
MjZGIC8qIExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaCAqLywKKwkJCQk0MTgxQzVDMTI1NTNF
QjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAgKi8s
CisJCQkJNDE4MUM1QkUyNTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRlclRyYW5z
Zm9ybUJhY2tlbmQuaCAqLywKIAkJCQk0MTg2QkQ0RDIxNDBCOUU4MDAwMTgyNkYgLyogTGliV2Vi
UlRDUnRwVHJhbnNjZWl2ZXJCYWNrZW5kLmNwcCAqLywKIAkJCQk0MTg2QkQ0QjIxNDBBODA1MDAw
MTgyNkYgLyogTGliV2ViUlRDUnRwVHJhbnNjZWl2ZXJCYWNrZW5kLmggKi8sCisJCQkJNDE4MUM1
Q0MyNTU1ODM2ODAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oICov
LAorCQkJCTQxODFDNUNFMjU1NTg5NTUwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kLmNwcCAqLywKKwkJCQk0MTgxQzVDRjI1NTU4OTU2MDBBRUIwRkYgLyogTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZC5oICovLAogCQkJCTQxRDI4RDBCMjEzOUUwMUQwMEY0MjA2RiAv
KiBMaWJXZWJSVENTdGF0c0NvbGxlY3Rvci5jcHAgKi8sCiAJCQkJNDFEMjhEMEMyMTM5RTAxRTAw
RjQyMDZGIC8qIExpYldlYlJUQ1N0YXRzQ29sbGVjdG9yLmggKi8sCiAJCQkJNDFEMUEwNDkyMTNF
RERGRDAwNjNGQjZCIC8qIExpYldlYlJUQ1V0aWxzLmNwcCAqLywKQEAgLTE5MjA4LDYgKzE5MjU0
LDkgQEAKIAkJCQlBMUNCRUY2MzFGOUYxMTI5MDAyOERFN0MgLyogTW9ja1BheW1lbnRNZXRob2Qu
aCAqLywKIAkJCQlBMTQwNjE4OTFFMkVDQTBBMDAzMkIzNEUgLyogTW9ja1ByZXZpZXdMb2FkZXJD
bGllbnQuY3BwICovLAogCQkJCUExNDA2MThBMUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUHJldmll
d0xvYWRlckNsaWVudC5oICovLAorCQkJCTQxODFDNUQzMjU1NUMxQjEwMEFFQjBGRiAvKiBNb2Nr
UlRDUnRwVHJhbnNmb3JtLmNwcCAqLywKKwkJCQk0MTgxQzVENTI1NTVDMUI5MDBBRUIwRkYgLyog
TW9ja1JUQ1J0cFRyYW5zZm9ybS5oICovLAorCQkJCTQxODFDNjM2MjU1QUUyNjEwMEFFQjBGRiAv
KiBNb2NrUlRDUnRwVHJhbnNmb3JtLmlkbCAqLywKIAkJCQk1NzE1NjEwODIzNEMxQjMxMDA4RkM3
QUIgLyogTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oICovLAogCQkJCTU3MTU2
MTBEMjM0Qzc0ODEwMDhGQzdBQiAvKiBNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9u
LmlkbCAqLywKIAkJCQk0MTdGMEQ4MDFGRkVFMTRGMDA4RUYzMDMgLyogU2VydmljZVdvcmtlcklu
dGVybmFscy5jcHAgKi8sCkBAIC0xOTI2Myw2ICsxOTMxMiw3IEBACiAJCQkJQTE0NkQzMTgxRjk5
QkNCQTAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRDb29yZGluYXRvci5oICovLAogCQkJCUExQkI4
NUI0MjE1OUIzODkwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwICovLAogCQkJCUEx
QkI4NUI1MjE1OUIzOEEwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCAqLywKKwkJCQky
RDZGM0U5MjFDMUY4NTU1MDA2MURCRTQgLyogSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCAqLywK
IAkJCQk1NzE1NjExMTIzNEM3RkJDMDA4RkM3QUIgLyogSlNNb2NrV2ViQXV0aGVudGljYXRpb25D
b25maWd1cmF0aW9uLmNwcCAqLywKIAkJCQk1NzE1NjExMDIzNEM3RkJDMDA4RkM3QUIgLyogSlNN
b2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmggKi8sCiAJCQkJNDI3REE3MUIxMzcz
NURGQTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVybmFscy5jcHAgKi8sCkBAIC0zMzIx
Nyw2ICszMzI2Nyw4IEBACiAJCQkJNDE3NjEyQjIxRTNBOTk0MDAwQzNEODFEIC8qIExpYldlYlJU
Q1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE1NzQ3NDgxRTM4
NjlBNzAwRTkxNEQ4IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
MUIyOEIzRDFGODYwRUYzMDBGQjUyQUMgLyogTGliV2ViUlRDUHJvdmlkZXJDb2NvYS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDE4MUM1Q0QyNTU1ODM2OTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRy
YW5zZm9ybWFibGVGcmFtZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE4MUM1RDEyNTU1ODk1NjAw
QUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQxMEU0NDYxMjM0MzczRTkwMDAxNzNENCAvKiBMaWJXZWJSVENTb2NrZXRJZGVudGlmaWVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDczMEQ5MTEyNDhGMEIzMDBEM0E5QzkgLyogTGlnaHRT
b3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3OTY1MEQwMEJGMjIwMDcxQjc4MiAvKiBM
aW5lYXJHcmFkaWVudEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMzM0MTEsNiArMzM0
NjMsNyBAQAogCQkJCTRBMEZGQTlFMUFBRjVFN0UwMDYyODAzQiAvKiBNb2NrUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdFRTc2RUMxQkU5NkRCMDAwRjg5
MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0VF
NzZFRjFCRUE2MTk4MDBGODkxMzMgLyogTW9ja1JlYWx0aW1lVmlkZW9Tb3VyY2VNYWMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxODFDNUQ2MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJh
bnNmb3JtLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREYyQjAxNzE4MjA1NDA3MDBGMkI0MjQgLyog
TW9ja1NvdXJjZUJ1ZmZlclByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDE5MTgy
MDU0MDcwMEYyQjQyNCAvKiBNb2NrVHJhY2tzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NzE1NjEw
QzIzNEMxQ0ExMDA4RkM3QUIgLyogTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zNDAzNyw5ICszNDA5MCwxNCBAQAogCQkJCTA3OEUwOTI0MTdE
MTREMUMwMDQyMEFBMSAvKiBSVENQZWVyQ29ubmVjdGlvbkljZUV2ZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk0MTJERTRCODIxOTI4NUMwMDA3NUYzQTcgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1RTJDNDM2MzFCQ0VFMzJCMDAwMUUyQkMgLyogUlRDUnRwUmVj
ZWl2ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxM0M4QjM1MjU1MkYyN0QwMEU2NTA1NSAvKiBS
VENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFMkM0MzYx
MUJDRUUzMjMwMDAxRTJCQyAvKiBSVENSdHBTZW5kZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQx
M0M4QjMzMjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1RTVFMkIxNDFDRkMzRTc1MDAwQzBEODUgLyogUlRDUnRwVHJhbnNj
ZWl2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxRUI1NERGMUU3REM3NDQwMEMxNjIzQiAvKiBS
VENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzQzhCMzQy
NTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDE4MUM1Q0IyNTU1ODJFNDAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNDE4MUM1QzkyNTU1NzNERjAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxMzU5MTBBMUU3RERDNzMwMEYzMDYz
MCAvKiBSVENTZHBUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDkyNjE3RDE0RDFDMDA0
MjBBQTEgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzhF
MDk0MzE3RDE2RTFDMDA0MjBBQTEgLyogUlRDU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zNTQ5NSw2ICszNTU1Myw3IEBACiAJCQkJQTEwNEVDNUQyMjBB
M0U0QjAwQ0JGNjdBIC8qIEpTTW9ja1BheW1lbnRDb250YWN0RmllbGRzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUExNDZEMzFBMUY5OUJDRjgwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29vcmRp
bmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFCQjg1QjgyMTU5QjNBNDAwNjdFMDdEIC8q
IEpTTW9ja1BheW1lbnRFcnJvci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTgxQzYzOTI1NUFF
OTBGMDBBRUIwRkYgLyogSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTU3MTU2MTE0MjM0QzdGRDYwMDhGQzdBQiAvKiBKU01vY2tXZWJBdXRoZW50aWNhdGlvbkNv
bmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDI3REE3MUQxMzczNURGQTAwN0M1
N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlF
QkY1MTIxQzE2OTY0OTZDMDA1NkJEMjUgLyogSlNUeXBlQ29udmVyc2lvbnMuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC0zNTUxMCw2ICszNTU2OSw3IEBACiAJCQkJMkQ5N0YwNDcxOURENDEzQzAwMUVF
OUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUFG
RURFNzFGOEJGRjZEMDA4NzAxM0YgLyogTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBMTQwNjE4QjFFMkVDQTBBMDAzMkIzNEUgLyogTW9ja1ByZXZpZXdMb2Fk
ZXJDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDE4MUM1RDcyNTU1QzQ5QTAwQUVCMEZG
IC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUE1RjNCOEYx
NkNDNEIzOTAwNDU1RUIwIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJNb2NrLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTQxN0YwRDgyMUZGRUU5NzkwMDhFRjMwMyAvKiBTZXJ2aWNlV29ya2Vy
SW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRDQxQzY3MjI1Njg3NEYwMDY5Nzk0
MiAvKiBTZXJ2aWNlV29ya2VySW50ZXJuYWxzLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggZWUyNGE0
OWEyNWEyZDM3ZDYxZTFkYzBmZTQ3NzdiMDAzZjkyZDIzNy4uNWFlNzM0ZDkwOTBjMGQwZjc1NDRk
MTRmNmNiYmQzMTMxMzRmMTJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTc0LDYgKzE3NCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBtYWNybyhNZWRpYVN0cmVhbSkgXAogICAgIG1hY3JvKE1lZGlhU3RyZWFtVHJh
Y2spIFwKICAgICBtYWNybyhNZXJjaGFudFZhbGlkYXRpb25FdmVudCkgXAorICAgIG1hY3JvKE1v
Y2tSVENSdHBUcmFuc2Zvcm0pIFwKICAgICBtYWNybyhNb2Rlcm5NZWRpYUNvbnRyb2xzKSBcCiAg
ICAgbWFjcm8oTmF2aWdhdG9yQ3JlZGVudGlhbHMpIFwKICAgICBtYWNybyhOYXZpZ2F0b3JNZWRp
YURldmljZXMpIFwKQEAgLTIyMCw2ICsyMjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
bWFjcm8oUlRDUnRwUmVjZWl2ZXIpIFwKICAgICBtYWNybyhSVENSdHBTZW5kZXIpIFwKICAgICBt
YWNybyhSVENSdHBUcmFuc2NlaXZlcikgXAorICAgIG1hY3JvKFJUQ1J0cFRyYW5zZm9ybSkgXAog
ICAgIG1hY3JvKFJUQ1Nlc3Npb25EZXNjcmlwdGlvbikgXAogICAgIG1hY3JvKFJUQ1N0YXRzUmVw
b3J0KSBcCiAgICAgbWFjcm8oUlRDVHJhY2tFdmVudCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCAzNGFmYTc3NmJkNTIz
NzMwMDk4ZWMyMWMyM2U3NDEwMGE4MGM0MjVkLi4yN2M3OTdkMzQwZGI0NmI3ZTMxYmE2ZGJlYjI5
MWNjNDM5MjU4MDFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzIyMiw5ICszMjIyLDkgQEAgc3ViIEdlbmVyYXRlSGVh
ZGVyCiAgICAgaWYgKFNob3VsZEdlbmVyYXRlV3JhcHBlck93bmVyQ29kZSgkaGFzUGFyZW50LCAk
aW50ZXJmYWNlKSkgewogICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUgbmUgIk5vZGUiICYmICRj
b2RlR2VuZXJhdG9yLT5Jbmhlcml0c0ludGVyZmFjZSgkaW50ZXJmYWNlLCAiTm9kZSIpKSB7CiAg
ICAgICAgICAgICAkaGVhZGVySW5jbHVkZXN7IkpTTm9kZS5oIn0gPSAxOwotICAgICAgICAgICAg
cHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzIEpTJHtpbnRlcmZhY2VOYW1lfU93bmVyIDogcHVi
bGljIEpTTm9kZU93bmVyIHtcbiIpOworICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwg
ImNsYXNzICR7ZXhwb3J0TWFjcm99SlMke2ludGVyZmFjZU5hbWV9T3duZXIgOiBwdWJsaWMgSlNO
b2RlT3duZXIge1xuIik7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCAiY2xhc3MgSlMke2ludGVyZmFjZU5hbWV9T3duZXIgOiBwdWJsaWMgSlNDOjpX
ZWFrSGFuZGxlT3duZXIge1xuIik7CisgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
Y2xhc3MgJHtleHBvcnRNYWNyb31KUyR7aW50ZXJmYWNlTmFtZX1Pd25lciA6IHB1YmxpYyBKU0M6
OldlYWtIYW5kbGVPd25lciB7XG4iKTsKICAgICAgICAgfQogICAgICAgICAkaGVhZGVySW5jbHVk
ZXN7Ijx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4ifSA9IDE7CiAgICAgICAgIHB1c2goQGhlYWRlckNv
bnRlbnQsICJwdWJsaWM6XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuaAppbmRleCBmYmY2ZjM4ZDZiNjFl
OGQ1ZWEzYjdlMWFmOTY5MmRlMWNkMDBlN2Q3Li42YmE0MzM0ZDNiMTI1YmIwNDA2ZjkxMmI0OTEy
YTA4MzgwMDZlNzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCkBAIC04OSw3ICs4OSw3IEBAIHByb3Rl
Y3RlZDoKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKIH07CiAKLWNsYXNzIEpT
VGVzdEludGVyZmFjZU93bmVyIDogcHVibGljIEpTQzo6V2Vha0hhbmRsZU93bmVyIHsKK2NsYXNz
IFdFQkNPUkVfRVhQT1JUIEpTVGVzdEludGVyZmFjZU93bmVyIDogcHVibGljIEpTQzo6V2Vha0hh
bmRsZU93bmVyIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNSZWFjaGFibGVGcm9tT3Bh
cXVlUm9vdHMoSlNDOjpIYW5kbGU8SlNDOjpVbmtub3duPiwgdm9pZCogY29udGV4dCwgSlNDOjpT
bG90VmlzaXRvciYsIGNvbnN0IGNoYXIqKik7CiAgICAgdmlydHVhbCB2b2lkIGZpbmFsaXplKEpT
Qzo6SGFuZGxlPEpTQzo6VW5rbm93bj4sIHZvaWQqIGNvbnRleHQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCmluZGV4IDg1M2I2OTdmN2EzMGNiMDE4ODE2OGQwZjUxYzcwYjU4NWRj
NmQ0NTcuLjE2MWEyOGY0MTNmMGVlMTJjYTBmYzIzYjUwN2JkNDQxNjkyOWIxM2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTEzOCw2ICsxMzgsNyBAQAogI2luY2x1ZGUg
Ik1vY2tMaWJXZWJSVENQZWVyQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIk1vY2tQYWdlT3Zlcmxh
eS5oIgogI2luY2x1ZGUgIk1vY2tQYWdlT3ZlcmxheUNsaWVudC5oIgorI2luY2x1ZGUgIk1vY2tS
VENSdHBUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJOYXZpZ2F0b3JCZWFjb24uaCIKICNpbmNsdWRl
ICJOYXZpZ2F0b3JNZWRpYURldmljZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrTG9hZEluZm9ybWF0
aW9uLmgiCkBAIC0xNTc5LDYgKzE1ODAsMTEgQEAgdm9pZCBJbnRlcm5hbHM6OnNldFdlYlJUQ1ZQ
OVZUQlN1cHBvcnQoYm9vbCB2YWx1ZSkKICNlbmRpZgogfQogCitSZWY8TW9ja1JUQ1J0cFRyYW5z
Zm9ybT4gSW50ZXJuYWxzOjpjcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCkKK3sKKyAgICByZXR1
cm4gTW9ja1JUQ1J0cFRyYW5zZm9ybTo6Y3JlYXRlKCk7Cit9CisKIHZvaWQgSW50ZXJuYWxzOjpz
ZXRFbmFibGVXZWJSVENFbmNyeXB0aW9uKGJvb2wgdmFsdWUpCiB7CiAjaWYgVVNFKExJQldFQlJU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IGJiN2Q1NWUyMGZkZWI1YTFkNThi
MDk5Y2Y5N2FiZWU1OTU4NDRhMTguLjI0ODVlMTNkNmQ0OTU2Mzc5ZTY4NjY1MDhiMDE2ZWIxNDI0
ZmU2NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiSEVWQ1V0aWxpdGllcy5oIgogI2lu
Y2x1ZGUgIklETFR5cGVzLmgiCisjaW5jbHVkZSAiTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIgogI2lu
Y2x1ZGUgIk9yaWVudGF0aW9uTm90aWZpZXIuaCIKICNpbmNsdWRlICJQYWdlQ29uc29sZUNsaWVu
dC5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2UuaCIKQEAgLTYwNiw2ICs2MDcsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRXZWJSVENIMjY1U3VwcG9ydChib29sKTsKICAgICB2b2lk
IHNldFdlYlJUQ1ZQOVN1cHBvcnQoYm9vbCk7CiAgICAgdm9pZCBzZXRXZWJSVENWUDlWVEJTdXBw
b3J0KGJvb2wpOworICAgIFJlZjxNb2NrUlRDUnRwVHJhbnNmb3JtPiBjcmVhdGVNb2NrUlRDUnRw
VHJhbnNmb3JtKCk7CiAgICAgdm9pZCBzZXRFbmFibGVXZWJSVENFbmNyeXB0aW9uKGJvb2wpOwog
ICAgIHZvaWQgc2V0VXNlRFRMUzEwKGJvb2wpOwogICAgIHZvaWQgc2V0VXNlR1BVUHJvY2Vzc0Zv
cldlYlJUQyhib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBiZGI5
ZWUyY2I2Y2EyMTVhOGU4ZGNjMmQwMGEyZmU1ZDA4NWJkNjcwLi5iMDE1NGIyOTg1ODBiZmFkMzMz
YTExNGFmMzg0ZDFkYTkwOWUxNjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CkBAIC04MDIsNiArODAyLDcgQEAgZW51bSBUcmVlVHlwZSB7CiAgICAgW0NvbmRpdGlvbmFsPVdF
Ql9SVENdIHVuZGVmaW5lZCBzZXRXZWJSVENIMjY1U3VwcG9ydChib29sZWFuIGFsbG93ZWQpOwog
ICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0V2ViUlRDVlA5U3VwcG9ydChi
b29sZWFuIGFsbG93ZWQpOwogICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0
V2ViUlRDVlA5VlRCU3VwcG9ydChib29sZWFuIGFsbG93ZWQpOworICAgIFtDb25kaXRpb25hbD1X
RUJfUlRDXSBNb2NrUlRDUnRwVHJhbnNmb3JtIGNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsK
IAogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBzZXRNb2NrQXVkaW9U
cmFja0NoYW5uZWxOdW1iZXIoTWVkaWFTdHJlYW1UcmFjayB0cmFjaywgdW5zaWduZWQgc2hvcnQg
Y291bnQpOwogICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHVuZGVmaW5lZCBzZXRTaG91
bGRJbnRlcnJ1cHRBdWRpb09uUGFnZVZpc2liaWxpdHlDaGFuZ2UoYm9vbGVhbiBzaG91bGRJbnRl
cnJ1cHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJh
bnNmb3JtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDVkMDgyNzU4ZDkxYjg4ZDg4MmUzNDEzYjUyMjI0NTJmY2M0ZGRmMgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5z
Zm9ybS5jcHAKQEAgLTAsMCArMSwxMTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTW9ja1JUQ1J0
cFRyYW5zZm9ybS5oIgorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlICJSVENSdHBU
cmFuc2Zvcm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNb2Nr
UlRDUnRwVHJhbnNmb3JtZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TW9ja1JUQ1J0
cFRyYW5zZm9ybWVyLCBXVEY6OkRlc3RydWN0aW9uVGhyZWFkOjpNYWluPiB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFJlZjxNb2NrUlRDUnRwVHJhbnNmb3JtZXI+IGNyZWF0ZShSZWY8UlRDUnRwVHJh
bnNmb3JtQmFja2VuZD4mJiBiYWNrZW5kKQorICAgIHsKKyAgICAgICAgYXV0byB0cmFuc2Zvcm1l
ciA9IGFkb3B0UmVmKCpuZXcgTW9ja1JUQ1J0cFRyYW5zZm9ybWVyKFdURk1vdmUoYmFja2VuZCkp
KTsKKyAgICAgICAgdHJhbnNmb3JtZXItPm1fYmFja2VuZC0+c2V0VHJhbnNmb3JtYWJsZUZyYW1l
Q2FsbGJhY2soW3RyYW5zZm9ybWVyXShhdXRvJiYgZnJhbWUpIHsKKyAgICAgICAgICAgIHRyYW5z
Zm9ybWVyLT50cmFuc2Zvcm0oV1RGTW92ZShmcmFtZSkpOworICAgICAgICB9KTsKKyAgICAgICAg
cmV0dXJuIHRyYW5zZm9ybWVyOworICAgIH0KKworICAgIHZvaWQgY2xlYXIoKQorICAgIHsKKyAg
ICAgICAgbV9iYWNrZW5kLT5jbGVhclRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCk7CisgICAg
ICAgIG1fYmFja2VuZCA9IG51bGxwdHI7CisgICAgfQorCisgICAgdm9pZCB0cmFuc2Zvcm0oUlRD
UnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYgZnJhbWUpCisgICAgeworICAgICAgICBtX2lzUHJvY2Vz
c2luZyA9IHRydWU7CisKKyAgICAgICAgYXV0byBkYXRhID0gZnJhbWUuZGF0YSgpOworICAgICAg
ICBWZWN0b3I8dWludDhfdD4gdHJhbnNmb3JtZWREYXRhOworICAgICAgICBzaXplX3Qgc3RhcnQg
PSBtX2lzQXVkaW8gPyAwIDogMTAwOworICAgICAgICBmb3IgKHNpemVfdCBjcHRyID0gMDsgY3B0
ciA8IHN0YXJ0OyArK2NwdHIpCisgICAgICAgICAgICB0cmFuc2Zvcm1lZERhdGEuYXBwZW5kKGRh
dGEuZGF0YVtjcHRyXSk7CisgICAgICAgIGZvciAoc2l6ZV90IGNwdHIgPSBzdGFydDsgY3B0ciA8
IGRhdGEuc2l6ZTsgKytjcHRyKQorICAgICAgICAgICAgdHJhbnNmb3JtZWREYXRhLmFwcGVuZCgy
NTYgLSBkYXRhLmRhdGFbY3B0cl0pOworICAgICAgICBmcmFtZS5zZXREYXRhKHsgdHJhbnNmb3Jt
ZWREYXRhLmRhdGEoKSwgZGF0YS5zaXplIH0pOworCisgICAgICAgIG1fYmFja2VuZC0+cHJvY2Vz
c1RyYW5zZm9ybWVkRnJhbWUoV1RGTW92ZShmcmFtZSkpOworICAgIH0KKworICAgIGJvb2wgaXNQ
cm9jZXNzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1Byb2Nlc3Npbmc7IH0KKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBNb2NrUlRDUnRwVHJhbnNmb3JtZXIoUmVmPFJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQ+JiYgYmFja2VuZCkKKyAgICAgICAgOiBtX2JhY2tlbmQoV1RGTW92ZShiYWNrZW5kKSkK
KyAgICAgICAgLCBtX2lzU2VuZGVyKG1fYmFja2VuZC0+c2lkZSgpID09IFJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6OlNpZGU6OlNlbmRlcikKKyAgICAgICAgLCBtX2lzQXVkaW8obV9iYWNrZW5kLT5t
ZWRpYVR5cGUoKSA9PSBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OkF1ZGlvKQor
ICAgIHsKKyAgICB9CisKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4gbV9iYWNr
ZW5kOworICAgIGJvb2wgbV9pc1NlbmRlcjsKKyAgICBib29sIG1faXNBdWRpbzsKKyAgICBib29s
IG1faXNQcm9jZXNzaW5nIHsgZmFsc2UgfTsKK307CisKK01vY2tSVENSdHBUcmFuc2Zvcm06Ok1v
Y2tSVENSdHBUcmFuc2Zvcm0oKQoreworfQorCitNb2NrUlRDUnRwVHJhbnNmb3JtOjp+TW9ja1JU
Q1J0cFRyYW5zZm9ybSgpCit7Cit9CisKK2Jvb2wgTW9ja1JUQ1J0cFRyYW5zZm9ybTo6aXNQcm9j
ZXNzaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90cmFuc2Zvcm1lciA/IG1fdHJhbnNmb3Jt
ZXItPmlzUHJvY2Vzc2luZygpIDogZmFsc2U7Cit9CisKK3ZvaWQgTW9ja1JUQ1J0cFRyYW5zZm9y
bTo6aW5pdGlhbGl6ZUJhY2tlbmRGb3JSZWNlaXZlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJiBi
YWNrZW5kKQoreworICAgIG1fdHJhbnNmb3JtZXIgPSBNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmNy
ZWF0ZShiYWNrZW5kKTsKK30KKwordm9pZCBNb2NrUlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXpl
QmFja2VuZEZvclNlbmRlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJiBiYWNrZW5kKQoreworICAg
IG1fdHJhbnNmb3JtZXIgPSBNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmNyZWF0ZShiYWNrZW5kKTsK
K30KKwordm9pZCBNb2NrUlRDUnRwVHJhbnNmb3JtOjp3aWxsQ2xlYXJCYWNrZW5kKFJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQmKQoreworICAgIG1fdHJhbnNmb3JtZXItPmNsZWFyKCk7CisgICAgbV90
cmFuc2Zvcm1lciA9IG51bGxwdHI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tSVENS
dHBUcmFuc2Zvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZDk5NGRmZjcxNzQzMjM1MzUxZjhmMGEzMzk2ZmM1
OWExY2FkMjkwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
UlRDUnRwVHJhbnNmb3JtLmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9S
VEMpCisKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm0uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBNb2NrUlRDUnRwVHJhbnNmb3JtZXI7CisKK2NsYXNzIE1vY2tSVENSdHBUcmFu
c2Zvcm0gZmluYWwgOiBwdWJsaWMgUlRDUnRwVHJhbnNmb3JtIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPE1vY2tSVENSdHBUcmFuc2Zvcm0+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTW9ja1JUQ1J0cFRyYW5zZm9ybSgpKTsgfQorICAgIH5Nb2NrUlRDUnRwVHJhbnNmb3JtKCk7
CisKKyAgICBib29sIGlzUHJvY2Vzc2luZygpIGNvbnN0OworCitwcml2YXRlOgorICAgIE1vY2tS
VENSdHBUcmFuc2Zvcm0oKTsKKworICAgIHZvaWQgaW5pdGlhbGl6ZUJhY2tlbmRGb3JSZWNlaXZl
cihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJikgZmluYWw7CisgICAgdm9pZCBpbml0aWFsaXplQmFj
a2VuZEZvclNlbmRlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJikgZmluYWw7CisgICAgdm9pZCB3
aWxsQ2xlYXJCYWNrZW5kKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKSBmaW5hbDsKKworICAgIFJl
ZlB0cjxNb2NrUlRDUnRwVHJhbnNmb3JtZXI+IG1fdHJhbnNmb3JtZXI7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5ZWIw
YzNjYTE1YzVmMTk3ZjM2Y2ZiNDc0OWMxMTgwNmU4YWM3NzcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRsCkBAIC0wLDAgKzEs
MzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisg
ICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKKyAgICBM
ZWdhY3lOb0ludGVyZmFjZU9iamVjdCwKK10gaW50ZXJmYWNlIE1vY2tSVENSdHBUcmFuc2Zvcm0g
OiBSVENSdHBUcmFuc2Zvcm0geworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGlzUHJv
Y2Vzc2luZzsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dl
YnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93
ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcAppbmRleCA0OGI4Nzc0MWUyMjRiMmE1MjRlNDBmNDYz
NDNkZGI5OTAzYjUwYjI3Li4wYzZmNzNkMDcxNDRiNTYyNjc2OTM2N2M5ZjJhM2E0MDE3ZWFkZTgw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJS
VENDb2RlY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xp
YldlYlJUQ0NvZGVjcy5jcHAKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2b2lkIExpYldlYlJUQ0NvZGVj
czo6Y29tcGxldGVkRW5jb2RpbmcoUlRDRW5jb2RlcklkZW50aWZpZXIgaWRlbnRpZmllciwgSVBD
OjpEYQogICAgIGlmICghZW5jb2Rlci0+ZW5jb2RlZEltYWdlQ2FsbGJhY2spCiAgICAgICAgIHJl
dHVybjsKIAotICAgIHdlYnJ0Yzo6ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKGVuY29kZXItPmVu
Y29kZWRJbWFnZUNhbGxiYWNrLCBlbmNvZGVyLT5jb2RlY1R5cGUsIGNvbnN0X2Nhc3Q8dWludDhf
dCo+KGRhdGEuZGF0YSgpKSwgZGF0YS5zaXplKCksIGluZm8pOworICAgIHdlYnJ0Yzo6ZW5jb2Rl
clZpZGVvVGFza0NvbXBsZXRlKGVuY29kZXItPmVuY29kZWRJbWFnZUNhbGxiYWNrLCBlbmNvZGVy
LT5jb2RlY1R5cGUsIGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSwgaW5mbyk7CiB9CiAKIENWUGl4
ZWxCdWZmZXJQb29sUmVmIExpYldlYlJUQ0NvZGVjczo6cGl4ZWxCdWZmZXJQb29sKHNpemVfdCB3
aWR0aCwgc2l6ZV90IGhlaWdodCwgT1NUeXBlIHR5cGUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWYwNTU1ZmNlZDZmZGE0
OTQ5MmE3YjJmMTM1YmM1NmQ5ZWJhNjFlYi4uNGIzM2ZmZWUzMzc0NDc1ODllM2VkMWVhMGIyYjVk
YWU3YzE0NjYyNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTExLTEyICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9y
IFdlYlJUQyB0cmFuc2Zvcm1zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTg3NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHdlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRtbDogQWRkZWQuCisKIDIwMjAt
MTEtMTAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0
ZSBXZWJSVEMgbGl3ZWJydGMgdG8gTTg3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMv
d2VicnRjLXRyYW5zZm9ybS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRj
LXRyYW5zZm9ybS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmE4ZjUxYjNjODAwYzVkN2FjNDkz
ZDcwMzMwMGFjZDY4Mjc4ZjlmOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0
Yy93ZWJydGMtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworCitQQVNT
IGF1ZGlvIGV4Y2hhbmdlIHdpdGggdHJhbnNmb3JtCitQQVNTIHZpZGVvIGV4Y2hhbmdlIHdpdGgg
dHJhbnNmb3JtCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNm
b3JtLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE5YzVhNmRmYTU3N2JhM2JhOTBlZWFlNTIwYzYzMjUxNTRlMWFmNTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sCkBAIC0w
LDAgKzEsODYgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgPHRpdGxlPlRlc3RpbmcgbWVkaWEgZXhj
aGFuZ2Ugd2l0aCB0cmFuc2Zvcm08L3RpdGxlPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5PgorICAgICAgICA8dmlkZW8gaWQ9InZpZGVvMSIgYXV0b3BsYXk+PC92aWRlbz4K
KyAgICAgICAgPHZpZGVvIGlkPSJ2aWRlbzIiIGF1dG9wbGF5PjwvdmlkZW8+CisgICAgICAgIDxz
Y3JpcHQgc3JjID0icm91dGluZXMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorcHJv
bWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICByZXR1cm47CisKKyAgICBsZXQgc2VuZGVyLCByZWNlaXZlcjsKKyAgICBsZXQgc2Vu
ZGVyVHJhbnNmb3JtID0gaW50ZXJuYWxzLmNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKKyAg
ICBsZXQgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBpbnRlcm5hbHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5z
Zm9ybSgpOworCisgICAgY29uc3QgbG9jYWxTdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFE
ZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW86IHRydWV9KTsKKyAgICBjb25zdCBzdHJlYW0gPSBh
d2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGNyZWF0ZUNv
bm5lY3Rpb25zKChmaXJzdENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAgIHBjMSA9IGZpcnN0
Q29ubmVjdGlvbjsKKyAgICAgICAgICAgIHNlbmRlciA9IGZpcnN0Q29ubmVjdGlvbi5hZGRUcmFj
ayhsb2NhbFN0cmVhbS5nZXRBdWRpb1RyYWNrcygpWzBdLCBsb2NhbFN0cmVhbSk7CisgICAgICAg
ICAgICBzZW5kZXIudHJhbnNmb3JtID0gc2VuZGVyVHJhbnNmb3JtOworICAgICAgICB9LCAoc2Vj
b25kQ29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgcGMyID0gc2Vjb25kQ29ubmVjdGlvbjsK
KyAgICAgICAgICAgIHNlY29uZENvbm5lY3Rpb24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9PiB7
CisgICAgICAgICAgICAgICAgcmVjZWl2ZXIgPSB0cmFja0V2ZW50LnJlY2VpdmVyOworICAgICAg
ICAgICAgICAgIHJlY2VpdmVyLnRyYW5zZm9ybSA9IHJlY2VpdmVyVHJhbnNmb3JtOworICAgICAg
ICAgICAgICAgIHJlc29sdmUodHJhY2tFdmVudC5zdHJlYW1zWzBdKTsKKyAgICAgICAgICAgIH07
CisgICAgICAgIH0pOworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiVGVzdCB0aW1l
ZCBvdXQiKSwgNTAwMCk7CisgICAgfSk7CisKKyAgICB2aWRlbzEuc3JjT2JqZWN0ID0gc3RyZWFt
OworICAgIGF3YWl0IHZpZGVvMS5wbGF5KCk7CisKKyAgICBsZXQgY291bnRlciA9IDA7CisgICAg
d2hpbGUgKCFyZWNlaXZlclRyYW5zZm9ybS5pc1Byb2Nlc3NpbmcgJiYgY291bnRlcisrIDwgMTAw
KQorICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2
ZSwgNTApKTsKKworICAgIGFzc2VydF90cnVlKHNlbmRlclRyYW5zZm9ybS5pc1Byb2Nlc3Npbmcs
ICJzZW5kZXIiKTsKK30sICJhdWRpbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybSIpOworCitwcm9t
aXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgIHJldHVybjsKKworICAgIGxldCBzZW5kZXIsIHJlY2VpdmVyOworICAgIGxldCBzZW5k
ZXJUcmFuc2Zvcm0gPSBpbnRlcm5hbHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworICAg
IGxldCByZWNlaXZlclRyYW5zZm9ybSA9IGludGVybmFscy5jcmVhdGVNb2NrUlRDUnRwVHJhbnNm
b3JtKCk7CisKKyAgICBjb25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURl
dmljZXMuZ2V0VXNlck1lZGlhKHt2aWRlbzogdHJ1ZX0pOworCisgICAgY29uc3Qgc3RyZWFtID0g
YXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBjcmVhdGVD
b25uZWN0aW9ucygoZmlyc3RDb25uZWN0aW9uKSA9PiB7CisgICAgICAgICAgICBwYzEgPSBmaXJz
dENvbm5lY3Rpb247CisgICAgICAgICAgICBzZW5kZXIgPSBmaXJzdENvbm5lY3Rpb24uYWRkVHJh
Y2sobG9jYWxTdHJlYW0uZ2V0VmlkZW9UcmFja3MoKVswXSwgbG9jYWxTdHJlYW0pOworICAgICAg
ICAgICAgc2VuZGVyLnRyYW5zZm9ybSA9IHNlbmRlclRyYW5zZm9ybTsKKyAgICAgICAgfSwgKHNl
Y29uZENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAgIHBjMiA9IHNlY29uZENvbm5lY3Rpb247
CisgICAgICAgICAgICBzZWNvbmRDb25uZWN0aW9uLm9udHJhY2sgPSAodHJhY2tFdmVudCkgPT4g
eworICAgICAgICAgICAgICAgIHJlY2VpdmVyID0gdHJhY2tFdmVudC5yZWNlaXZlcjsKKyAgICAg
ICAgICAgICAgICByZWNlaXZlci50cmFuc2Zvcm0gPSByZWNlaXZlclRyYW5zZm9ybTsKKyAgICAg
ICAgICAgICAgICByZXNvbHZlKHRyYWNrRXZlbnQuc3RyZWFtc1swXSk7CisgICAgICAgICAgICB9
OworICAgICAgICB9KTsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZWplY3QoIlRlc3QgdGlt
ZWQgb3V0IiksIDUwMDApOworICAgIH0pOworCisgICAgdmlkZW8yLnNyY09iamVjdCA9IHN0cmVh
bTsKKyAgICBhd2FpdCB2aWRlbzIucGxheSgpOworCisgICBsZXQgY291bnRlciA9IDA7CisgICB3
aGlsZSAoIXJlY2VpdmVyVHJhbnNmb3JtLmlzUHJvY2Vzc2luZyAmJiBjb3VudGVyKysgPCAxMDAp
CisgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUs
IDUwKSk7CisKKyAgICBhc3NlcnRfdHJ1ZShzZW5kZXJUcmFuc2Zvcm0uaXNQcm9jZXNzaW5nLCAi
c2VuZGVyIik7Cit9LCAidmlkZW8gZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm0iKTsKKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413959</attachid>
            <date>2020-11-12 11:43:34 -0800</date>
            <delta_ts>2020-11-12 12:11:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218750-20201112204331.patch</filename>
            <type>text/plain</type>
            <size>120726</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhZjg2M2M5ZWM1ZDA1YzIwODE0YmQwNWJmNmE5YzE0MWFhNWQ1MDliLi41NjUy
ZDNkYTYxNGUwZWNhNGFlYmQwMzFlYjM3Mzg2YTQwYzgwZGU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0xMS0xMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZv
ciBXZWJSVEMgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWFrZSBzdXJlIGJ1ZmZlciBpcyBvd25lZCBieSB0aGUgZW5jb2RlZCBpbWFn
ZSBvYmplY3QuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cDoK
KyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oOgorICAg
ICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tOgorICAgICAg
ICAod2VicnRjOjplbmNvZGVyVmlkZW9UYXNrQ29tcGxldGUpOgorCiAyMDIwLTExLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4gYW5kIFZpY3RvciBNIEphcXVleiA8dmphcXVl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVwZGF0ZSBXZWJSVEMgbGl3ZWJydGMgdG8gTTg3CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmlu
ZGV4IGYzODk3NWM1YjM2NTFmYWU1Y2U4YTA4YzJjZWRjMzJjNmU2Y2YxYzIuLjBjOTQzNmY4Yzg3
ZjgzZTEzZmVmNjdmN2I2ZmZhMzYyYTIzZmJkNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAt
MTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBp
bmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBleHBlcmltZW50YWwgcHJlZmVyZW5j
ZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjAtMTEtMTAgIFJvYiBCdWlz
ICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBQYXJzZSBhc3BlY3QtcmF0aW8gQ1NTIHBy
b3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNjM5M2IxODc2ODgzYjhlNzhkNmI3N2E0NDQxMzI5YmZhMDVi
OTM3YS4uODhlNTM0NzkyY2FlMTU4ZGU2OGNjY2Q5MmViY2FmYjRlZTZiMjU2NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMC0xMS0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZvciBXZWJSVEMgdHJhbnNm
b3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4
NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50
cm9kdWNlIFJUQ1J0cFRyYW5zZm9ybSBiZWhpbmQgYSBwcmVmZXJlbmNlLgorICAgICAgICBBZGQg
YmluZGluZyBjb2RlIHdpdGggbGlid2VicnRjIHRvIGJlIGFibGUgdG8gcHJvY2VzcyBlbmNvZGVk
IGNvbnRlbnQgaW4gc2VuZGVyIGFuZCByZWNlaXZlciBzaWRlcy4KKyAgICAgICAgQWRkIGEgbW9j
ayB0cmFuc2Zvcm0gdG8gdmFsaWRhdGUgdGhlIGluZnJhc3RydWN0dXJlIGlzIHdvcmtpbmcuCisK
KyAgICAgICAgVGVzdDogd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRtbAorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNl
aXZlcjo6flJUQ1J0cFJlY2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFJlY2VpdmVy
OjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFJlY2VpdmVyOjpzZXRUcmFuc2Zvcm0p
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5oOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtOjp0cmFu
c2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtOjpz
ZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
K1RyYW5zZm9ybS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcjo6flJUQ1J0cFNl
bmRlcik6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXI6OnN0b3ApOgorICAgICAgICAo
V2ViQ29yZTo6UlRDUnRwU2VuZGVyOjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTZW5kZXJCYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UlRD
UnRwU2VuZGVyV2l0aFRyYW5zZm9ybTo6dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q1J0cFNlbmRlcldpdGhUcmFuc2Zvcm06OnNldFRyYW5zZm9ybSk6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJUQ1J0cFRyYW5zZm9ybTo6flJUQ1J0cFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3Jl
OjpSVENSdHBUcmFuc2Zvcm06OmF0dGFjaFRvUmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UlRDUnRwVHJhbnNmb3JtOjphdHRhY2hUb1NlbmRlcik6CisgICAgICAgIChXZWJDb3JlOjpSVENS
dHBUcmFuc2Zvcm06OmRldGFjaEZyb21SZWNlaXZlcik6CisgICAgICAgIChXZWJDb3JlOjpSVENS
dHBUcmFuc2Zvcm06OmRldGFjaEZyb21TZW5kZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwVHJhbnNmb3JtLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmg6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFj
a2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQ6
OmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNm
b3JtQmFja2VuZC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6bWVkaWFUeXBlRnJvbVJl
Y2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3Jt
QmFja2VuZDo6TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6fkxpYldlYlJU
Q1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJS
VENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OnNldFRyYW5zZm9ybWFibGVGcmFtZUNhbGxi
YWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6bWVkaWFUeXBlRnJvbVNlbmRlcik6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBTZW5k
ZXJUcmFuc2Zvcm1CYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6OnNl
dFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQ6OnNldElucHV0Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6Y2xlYXJUcmFuc2Zvcm1hYmxlRnJhbWVDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpz
ZXRPdXRwdXRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpwcm9jZXNzVHJhbnNmb3JtZWRGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpM
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6UmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1l
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZDo6UmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zvcm1lZEZy
YW1lQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZDo6VW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2spOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okxp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlbGVhc2UgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6dG9SVENGcmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OmRhdGEgY29uc3QpOgorICAg
ICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChH
ZW5lcmF0ZUhlYWRlcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZS5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6
CisgICAgICAgICogdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tSVENSdHBUcmFuc2Zvcm1lcjo6aXNQcm9jZXNzaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6TW9ja1JUQ1J0cFRyYW5zZm9ybWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06Ok1vY2tSVENSdHBUcmFuc2Zvcm0pOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5zZm9ybTo6fk1vY2tSVENSdHBUcmFuc2Zv
cm0pOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5zZm9ybTo6aXNQcm9jZXNzaW5n
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxp
emVCYWNrZW5kRm9yUmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5z
Zm9ybTo6aW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a1JUQ1J0cFRyYW5zZm9ybTo6d2lsbENsZWFyQmFja2VuZCk6CisgICAgICAgICogdGVzdGluZy9N
b2NrUlRDUnRwVHJhbnNmb3JtLmg6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0
cFRyYW5zZm9ybS5pZGw6IEFkZGVkLgorCiAyMDIwLTExLTEwICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4gYW5kIFZpY3RvciBNIEphcXVleiA8dmphcXVlekBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFVwZGF0ZSBXZWJSVEMgbGl3ZWJydGMgdG8gTTg3CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY1Mzlk
YjhhNWUxMDdiMjBiNjA0NDUxOGFmOGMwYmVhZTI2YTZiZGQuLmNiMGFjZTAzMzBlMjZjZTE0YjE0
ZTA2OTg5NDNiMjRjYTQyOTM3MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMTEt
MTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpbmZy
YXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIGNvbnN0IGNh
c3RpbmcuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkxpYldlYlJUQ0NvZGVjczo6Y29tcGxldGVkRW5jb2RpbmcpOgorCiAyMDIwLTEx
LTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQcm9j
ZXNzIHNob3VsZCBwcm9jZXNzIFdlYlJUQyBjb2RlY3MgSVBDIG1lc3NhZ2VzIGZyb20gdGhlIEdQ
VSBQcm9jZXNzIGluIGEgYmFja2dyb3VuZCB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cApp
bmRleCA0OGU0NDU5MjkzMWRjYzg0YWQzNzM3NWJhOWY2MDkwYjEwMTJjNjdkLi5hMmNhZmIzOTIy
OTllOTViN2E3YmRmZTZlMzZkN2ZmMDVmNzE5MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhw
CkBAIC0yMjksNyArMjI5LDcgQEAgX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tDb21wbGV0
ZUVQdmpQMTBfX0NWQnVmZmVyagogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNr
c0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG10dEVQRmlTMF9T
MF9FCiBfX1pONndlYnJ0YzE5c2V0RGVjb2RlckZyYW1lU2l6ZUVQdnR0CiBfX1pONndlYnJ0YzE4
UnRwQ29kZWNDYXBhYmlsaXR5QzFFdgotX19aTjZ3ZWJydGMyNGVuY29kZXJWaWRlb1Rhc2tDb21w
bGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUlu
Zm9FCitfX1pONndlYnJ0YzI0ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0Nv
ZGVjVHlwZUVQS2htUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluZm9FCiBfX1pONndlYnJ0YzI0
c2V0VmlkZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMw
X0VQRmlTMF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVFYkVQRmlT
MF9TMF9FUEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0ZXJzRUUK
IF9fWk42d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCiBfX1pONndlYnJ0YzI1c2V0
TG9jYWxFbmNvZGVyTG93TGF0ZW5jeUVQdmIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cCBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cApp
bmRleCA0OGU0NDU5MjkzMWRjYzg0YWQzNzM3NWJhOWY2MDkwYjEwMTJjNjdkLi5hMmNhZmIzOTIy
OTllOTViN2E3YmRmZTZlMzZkN2ZmMDVmNzE5MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1Nz
aW0uZXhwCkBAIC0yMjksNyArMjI5LDcgQEAgX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tD
b21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVyagogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNh
bGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG10dEVQ
RmlTMF9TMF9FCiBfX1pONndlYnJ0YzE5c2V0RGVjb2RlckZyYW1lU2l6ZUVQdnR0CiBfX1pONndl
YnJ0YzE4UnRwQ29kZWNDYXBhYmlsaXR5QzFFdgotX19aTjZ3ZWJydGMyNGVuY29kZXJWaWRlb1Rh
c2tDb21wbGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUGhtUktOU18yMldlYktpdEVuY29kZWRG
cmFtZUluZm9FCitfX1pONndlYnJ0YzI0ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRW
aWRlb0NvZGVjVHlwZUVQS2htUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluZm9FCiBfX1pONndl
YnJ0YzI0c2V0VmlkZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRF
RVBGaVMwX0VQRmlTMF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVF
YkVQRmlTMF9TMF9FUEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0
ZXJzRUUKIF9fWk42d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCiBfX1pONndlYnJ0
YzI1c2V0TG9jYWxFbmNvZGVyTG93TGF0ZW5jeUVQdmIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cApp
bmRleCA0OGU0NDU5MjkzMWRjYzg0YWQzNzM3NWJhOWY2MDkwYjEwMTJjNjdkLi5hMmNhZmIzOTIy
OTllOTViN2E3YmRmZTZlMzZkN2ZmMDVmNzE5MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhw
CkBAIC0yMjksNyArMjI5LDcgQEAgX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tDb21wbGV0
ZUVQdmpQMTBfX0NWQnVmZmVyagogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNr
c0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG10dEVQRmlTMF9T
MF9FCiBfX1pONndlYnJ0YzE5c2V0RGVjb2RlckZyYW1lU2l6ZUVQdnR0CiBfX1pONndlYnJ0YzE4
UnRwQ29kZWNDYXBhYmlsaXR5QzFFdgotX19aTjZ3ZWJydGMyNGVuY29kZXJWaWRlb1Rhc2tDb21w
bGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUlu
Zm9FCitfX1pONndlYnJ0YzI0ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0Nv
ZGVjVHlwZUVQS2htUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluZm9FCiBfX1pONndlYnJ0YzI0
c2V0VmlkZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMw
X0VQRmlTMF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVFYkVQRmlT
MF9TMF9FUEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0ZXJzRUUK
IF9fWk42d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCiBfX1pONndlYnJ0YzI1c2V0
TG9jYWxFbmNvZGVyTG93TGF0ZW5jeUVQdmIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRF
bmNvZGVyLmgKaW5kZXggMjNkOTdlY2M0ZWJmODEzOTBmZjhhNDlhYzkwMmViMjQ5MGIyYjUyNC4u
ZTM3NzhhNmE2MWI1NjdiZjg5MDc4NDUzMWNmNmJjZjU4MjViY2YyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRF
bmNvZGVyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMv
c2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmgKQEAgLTgwLDcgKzgwLDcgQEAgdm9pZCBpbml0aWFs
aXplTG9jYWxFbmNvZGVyKExvY2FsRW5jb2RlciwgdWludDE2X3Qgd2lkdGgsIHVpbnQxNl90IGhl
aWdodCwgdW5zaWcKIHZvaWQgZW5jb2RlTG9jYWxFbmNvZGVyRnJhbWUoTG9jYWxFbmNvZGVyLCBD
VlBpeGVsQnVmZmVyUmVmLCBpbnQ2NF90IHRpbWVTdGFtcE5zLCB1aW50MzJfdCB0aW1lU3RhbXAs
IHdlYnJ0Yzo6VmlkZW9Sb3RhdGlvbiwgYm9vbCBpc0tleWZyYW1lUmVxdWlyZWQpOwogdm9pZCBz
ZXRMb2NhbEVuY29kZXJSYXRlcyhMb2NhbEVuY29kZXIsIHVpbnQzMl90IGJpdFJhdGUsIHVpbnQz
Ml90IGZyYW1lUmF0ZSk7CiB2b2lkIHNldExvY2FsRW5jb2Rlckxvd0xhdGVuY3koTG9jYWxFbmNv
ZGVyLCBib29sIGlzTG93TGF0ZW5jeUVuYWJsZWQpOwotdm9pZCBlbmNvZGVyVmlkZW9UYXNrQ29t
cGxldGUodm9pZCosIHdlYnJ0Yzo6VmlkZW9Db2RlY1R5cGUsIHVpbnQ4X3QqIGJ1ZmZlciwgc2l6
ZV90IGxlbmd0aCwgY29uc3QgV2ViS2l0RW5jb2RlZEZyYW1lSW5mbyYpOwordm9pZCBlbmNvZGVy
VmlkZW9UYXNrQ29tcGxldGUodm9pZCosIHdlYnJ0Yzo6VmlkZW9Db2RlY1R5cGUsIGNvbnN0IHVp
bnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwgY29uc3QgV2ViS2l0RW5jb2RlZEZyYW1lSW5m
byYpOwogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgogYm9vbCBXZWJLaXRFbmNvZGVkRnJhbWVJ
bmZvOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgV2ViS2l0RW5jb2RlZEZyYW1lSW5mbyYgaW5m
bykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRj
L3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbQppbmRleCBkNzk1MWM2
MTIxZDYxODUyZGI2Y2E4N2Q1OWE3YjIyMWY5NWY1MmJjLi44N2I1YzgxYjhhYjUwZjQ0ZTNhNmMy
N2Q0YzgyNzdhMmUxYmJlMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW0KKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNv
ZGVyLm1tCkBAIC0yOTAsOSArMjkwLDExIEBAIGludDMyX3QgUmVtb3RlVmlkZW9FbmNvZGVyOjpS
ZWdpc3RlckVuY29kZUNvbXBsZXRlQ2FsbGJhY2soRW5jb2RlZEltYWdlQ2FsbGJhY2sqCiAgICAg
cmV0dXJuIHZpZGVvRW5jb2RlckNhbGxiYWNrcygpLnJlZ2lzdGVyRW5jb2RlQ29tcGxldGVDYWxs
YmFjayhtX2ludGVybmFsRW5jb2RlciwgY2FsbGJhY2spOwogfQogCi12b2lkIGVuY29kZXJWaWRl
b1Rhc2tDb21wbGV0ZSh2b2lkKiBjYWxsYmFjaywgd2VicnRjOjpWaWRlb0NvZGVjVHlwZSBjb2Rl
Y1R5cGUsIHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwgY29uc3QgV2ViS2l0RW5jb2Rl
ZEZyYW1lSW5mbyYgaW5mbykKK3ZvaWQgZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKHZvaWQqIGNh
bGxiYWNrLCB3ZWJydGM6OlZpZGVvQ29kZWNUeXBlIGNvZGVjVHlwZSwgY29uc3QgdWludDhfdCog
YnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBXZWJLaXRFbmNvZGVkRnJhbWVJbmZvJiBpbmZv
KQogewotICAgIHdlYnJ0Yzo6RW5jb2RlZEltYWdlIGVuY29kZWRJbWFnZShidWZmZXIsIGxlbmd0
aCwgbGVuZ3RoKTsKKyAgICB3ZWJydGM6OkVuY29kZWRJbWFnZSBlbmNvZGVkSW1hZ2U7CisgICAg
ZW5jb2RlZEltYWdlLlNldEVuY29kZWREYXRhKEVuY29kZWRJbWFnZUJ1ZmZlcjo6Q3JlYXRlKGJ1
ZmZlciwgbGVuZ3RoKSk7CisKICAgICBlbmNvZGVkSW1hZ2UuX2VuY29kZWRXaWR0aCA9IGluZm8u
d2lkdGg7CiAgICAgZW5jb2RlZEltYWdlLl9lbmNvZGVkSGVpZ2h0ID0gaW5mby5oZWlnaHQ7CiAg
ICAgZW5jb2RlZEltYWdlLlNldFRpbWVzdGFtcChpbmZvLnRpbWVTdGFtcCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCmluZGV4IGIwMTZhYzlmNzMyYjEyNjg4ZjlhODUyM2UwMGY0YWYxM2Ji
YTVjNmIuLmU3YjkyNmRhYmUwOGU0YThmNDE2MDQzMGY5MjRjYjgyNmU2ZDdmZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC05ODQsNiArOTg0LDE5IEBAIFdlYlJUQ0gyNjVDb2Rl
Y0VuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorV2ViUlRDSW5z
ZXJ0YWJsZVN0cmVhbXNFbmFibGVkOgorICB0eXBlOiBib29sCisgIGNvbmRpdGlvbjogRU5BQkxF
KFdFQl9SVEMpCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViUlRDIEluc2VydGFibGUgU3RyZWFt
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBXZWJSVEMgSW5zZXJ0
YWJsZSBTdHJlYW1zIEFQSSIKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAg
ICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogIyBGSVhNRTogVGhpcyBpcyBub3Qg
cmVsZXZlbnQgZm9yIFdlYktpdExlZ2FjeSwgc28gc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2Vi
S2l0TGVnYWN5IGVudGlyZWx5LgogV2ViUlRDUGxhdGZvcm1Db2RlY3NJbkdQVVByb2Nlc3NFbmFi
bGVkOgogICB0eXBlOiBib29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDVkNGE0ZTlkNDgxNjRl
ZDVhMWMzNGU1ODUzODNjMWZjMzBhNDBiODguLmMyOTlkODMwY2I2MWU5NDQ2OWQ4ZTYyYjcyYmQ4
NTdlMzE0OGNiYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zOTksMTMgKzM5OSwxNiBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwRmVjUGFyYW1ldGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEhlYWRl
ckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBQ
YXJhbWV0ZXJzLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIrVHJh
bnNmb3JtLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaWRsCiAg
ICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSdHhQYXJhbWV0ZXJzLmlkbAogICAgIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZFBhcmFtZXRlcnMuaWRsCisgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU3luY2hy
b25pemF0aW9uU291cmNlLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNj
ZWl2ZXIuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbi5pZGwKKyAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmlkbApAQCAtMTc0OSw2ICsxNzUyLDcgQEAgc2V0KFdl
YkNvcmVUZXN0U3VwcG9ydF9JRExfRklMRVMKICAgICB0ZXN0aW5nL01vY2tDRE1GYWN0b3J5Lmlk
bAogICAgIHRlc3RpbmcvTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5pZGwKICAgICB0ZXN0aW5n
L01vY2tQYWdlT3ZlcmxheS5pZGwKKyAgICB0ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRs
CiAgICAgdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAogICAgIHRlc3RpbmcvVHlw
ZUNvbnZlcnNpb25zLmlkbAogKQpAQCAtMTc3Miw2ICsxNzc2LDcgQEAgbGlzdChBUFBFTkQgV2Vi
Q29yZVRlc3RTdXBwb3J0X1NPVVJDRVMKICAgICB0ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29u
bmVjdGlvbi5jcHAKICAgICB0ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5jcHAKICAgICB0ZXN0aW5n
L01vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAKKyAgICB0ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zv
cm0uY3BwCiAgICAgdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcAogICAgIHRlc3Rp
bmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYWExOGE4Y2Y3MmNkYmZmYTA2MWU5MjFi
YzkxMzYyZDQ3ZDhjMzViMy4uNjY5YjY4NjFiNmFmYTFkMGFjMDk3YjFiZDMxMDY0NDgzZWVjNzUx
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CkBAIC0xMjksOCArMTI5LDggQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Q
b3NpdGlvbkNhbGxiYWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Q
b3NpdGlvbkVycm9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3Np
dGlvbkVycm9yQ2FsbGJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dlb2xvY2F0aW9u
L1Bvc2l0aW9uT3B0aW9ucy5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaGlnaGxpZ2h0L0hp
Z2hsaWdodFJlZ2lzdGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGln
aGxpZ2h0LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVn
aXN0ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3crSW5k
ZXhlZERhdGFiYXNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vy
c29yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yRGlyZWN0
aW9uLmlkbApAQCAtMjMzLDEzICsyMzMsMTYgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBFbmNvZGluZ1BhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEZlY1BhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFBhcmFtZXRlcnMuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9y
bS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJ0eFBhcmFtZXRl
cnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRQYXJh
bWV0ZXJzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5k
ZXIrVHJhbnNmb3JtLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFN5
bmNocm9uaXphdGlvblNvdXJjZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwVHJhbnNjZWl2ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGwKQEAgLTI4OSw2ICsyOTIs
NyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3F1b3RhL1dvcmtlck5hdmlnYXRvcitTdG9yYWdl
UXVvdGEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL0hUTUxNZWRp
YUVsZW1lbnQrUmVtb3RlUGxheWJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90
ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1v
dGVwbGF5YmFjay9SZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvRE9NV2luZG93K1NwZWVjaFN5bnRoZXNpcy5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3JDb2Rl
LmlkbApAQCAtMjk2LDcgKzMwMCw2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1Nw
ZWVjaFJlY29nbml0aW9uRXJyb3JFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdC5pZGwKLSQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvc3BlZWNoL0RPTVdpbmRvdytTcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5pZGwKQEAgLTEzMDEsNiArMTMwNCw3
IEBAICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTW9ja1BheW1lbnRBZGRyZXNzLmlkbAogJChQUk9K
RUNUX0RJUikvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsCiAkKFBST0pFQ1Rf
RElSKS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS90
ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaWRsCiskKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tS
VENSdHBUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tXZWJBdXRoZW50
aWNhdGlvbkNvbmZpZ3VyYXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL1NlcnZpY2VX
b3JrZXJJbnRlcm5hbHMuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL1R5cGVDb252ZXJzaW9u
cy5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKaW5kZXggMzgxZmJkNDg5NWUwZWE5N2U5ZGIyMWU1ZDRkNDc3ZjZmYTIwYWFiYS4uZGI2NzEw
MDg4ZWYyNDU0NDgzMDI1ZTAxZTRhYTdjZTVkZmVjMzA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTExMDUsMTAgKzExMDUsMTAg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hh
bmdlRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0hhc2hDaGFuZ2VFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0hkck1ldGFkYXRhVHlwZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGRyTWV0YWRhdGFUeXBlLmgKLSQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCi0k
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodFJl
Z2lzdGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
SGlnaGxpZ2h0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNIaWdobGlnaHQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNIaWdobGlnaHRSZWdpc3Rlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaXN0b3J5LmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaXN0b3J5LmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGtkZlBhcmFtcy5jcHAKQEAgLTEz
NDEsNiArMTM0MSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1BheW1lbnRDb29yZGluYXRvci5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50RXJyb3Iu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQ
YXltZW50RXJyb3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29u
ZmlndXJhdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3BwCkBAIC0xNjk3
LDEyICsxNjk5LDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUlRDUnRwSGVhZGVyRXh0ZW5zaW9uUGFyYW1ldGVycy5jCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFt
ZXRlcnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
VENSdHBQYXJhbWV0ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNSVENSdHBQYXJhbWV0ZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSZWNlaXZlcitU
cmFuc2Zvcm0uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNSVENSdHBSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSdHhQYXJhbWV0ZXJzLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSdHhQYXJhbWV0ZXJzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2Vu
ZFBhcmFtZXRlcnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZGVyK1RyYW5z
Zm9ybS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JU
Q1J0cFNlbmRlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUlRDUnRwU2VuZGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmNwcApAQCAtMTcxMSw2ICsx
NzE3LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
VENSdHBUcmFuc2NlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNjZWl2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNj
ZWl2ZXJEaXJlY3Rpb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNSVENSdHBUcmFuc2Zvcm0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFRyYW5zZm9ybS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1NkcFR5cGUuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1NkcFR5cGUuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENTZXNzaW9uRGVzY3JpcHRp
b24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0ZDA4NTMwYWE1YmQ4ZTg2
ZTIyMjQ2YzUzZTJjOGVlMDE3OGUzMDNkLi45YWU0MGMxODc5Njg5MzgxN2I4NDE2NTI3YzI0MGFm
NzIzZThmMTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1OCwxMiArMjU4
LDE1IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1ldGVycy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5pZGwgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUnR4UGFyYW1ldGVycy5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kUGFyYW1l
dGVycy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5k
ZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
K1RyYW5zZm9ybS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQuaWRs
IFwKQEAgLTEyMjYsNiArMTIyOSw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJD
b3JlKS90ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS90
ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9j
a1JUQ1J0cFRyYW5zZm9ybS5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrV2ViQXV0
aGVudGljYXRpb25Db25maWd1cmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1Nl
cnZpY2VXb3JrZXJJbnRlcm5hbHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvVHlwZUNv
bnZlcnNpb25zLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjBiMmUxMWQ0N2ZmYmIzYTg0M2JmNDEzOTdlMGMwOGM5MWUyNjI3OAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIrVHJh
bnNmb3JtLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPVdFQl9SVEMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJSVENJbnNlcnRhYmxlU3RyZWFt
cywKKyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBJbXBsZW1lbnRlZEJ5PVJUQ1J0cFJlY2VpdmVy
V2l0aFRyYW5zZm9ybSwKK10gcGFydGlhbCBpbnRlcmZhY2UgUlRDUnRwUmVjZWl2ZXIgeworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIFJUQ1J0cFRyYW5zZm9ybT8gdHJhbnNmb3Jt
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwUmVjZWl2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlci5jcHAKaW5kZXggNDJjNGMwNzg0MDllMzJkYWQxZTQyNGVhYTBiMmI3YjVmMzU0
ZjJiNC4uMGJmY2M5NjYzYzJmMDZkNGU5MGMwOTQ4OGRmMjUyZTFmZDJiM2MwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5j
cHAKQEAgLTQ5LDExICs0OSwyMCBAQCBSVENSdHBSZWNlaXZlcjo6UlRDUnRwUmVjZWl2ZXIoUGVl
ckNvbm5lY3Rpb25CYWNrZW5kJiBjb25uZWN0aW9uLCBSZWY8TWVkaWFTdHJlYQogewogfQogCitS
VENSdHBSZWNlaXZlcjo6flJUQ1J0cFJlY2VpdmVyKCkKK3sKKyAgICBpZiAobV90cmFuc2Zvcm0p
CisgICAgICAgIG1fdHJhbnNmb3JtLT5kZXRhY2hGcm9tUmVjZWl2ZXIoKnRoaXMpOworfQorCiB2
b2lkIFJUQ1J0cFJlY2VpdmVyOjpzdG9wKCkKIHsKICAgICBpZiAoIW1fYmFja2VuZCkKICAgICAg
ICAgcmV0dXJuOwogCisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+
ZGV0YWNoRnJvbVJlY2VpdmVyKCp0aGlzKTsKKwogICAgIG1fYmFja2VuZCA9IG51bGxwdHI7CiAg
ICAgbV90cmFjay0+c3RvcFRyYWNrKE1lZGlhU3RyZWFtVHJhY2s6OlN0b3BNb2RlOjpQb3N0RXZl
bnQpOwogfQpAQCAtNzIsNiArODEsMjAgQEAgT3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBS
VENSdHBSZWNlaXZlcjo6Z2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnQKICAgICBy
ZXR1cm4gUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpyZWNlaXZlckNhcGFiaWxpdGllcyhjb250ZXh0
LCBraW5kKTsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwUmVjZWl2ZXI6OnNldFRyYW5z
Zm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJh
bnNmb3JtICYmIHRyYW5zZm9ybS0+aXNBdHRhY2hlZCgpKQorICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJ0cmFuc2Zvcm0gaXMgYWxyZWFkeSBpbiB1c2UiX3Mg
fTsKKworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZy
b21SZWNlaXZlcigqdGhpcyk7CisgICAgbV90cmFuc2Zvcm0gPSBXVEZNb3ZlKHRyYW5zZm9ybSk7
CisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+YXR0YWNoVG9SZWNl
aXZlcigqdGhpcyk7CisKKyAgICByZXR1cm4geyB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaAppbmRleCAzY2NhOGIyYjk2NzE4
YWU0NzZkODM5NDMyNjEyMGM5Nzk5MDc5MzUxLi44Y2IxYTQzZDJiZDA0NDYyNGMyODdjYTZhZjcx
YzdkZjg3OGQyMmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFJlY2VpdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBSZWNlaXZlci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW1UcmFjay5oIgogI2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIgogI2luY2x1
ZGUgIlJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5z
Zm9ybS5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC01MCw2ICs1MSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFJUQ1J0cFJlY2VpdmVyKGNvbm5lY3Rpb24sIFdURk1vdmUodHJhY2spLCBXVEZN
b3ZlKGJhY2tlbmQpKSk7CiAgICAgfQorICAgIH5SVENSdHBSZWNlaXZlcigpOwogCiAgICAgc3Rh
dGljIE9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gZ2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIGtpbmQpOwogCkBAIC02NSwxMiArNjcsMTYg
QEAgcHVibGljOgogICAgIFJUQ1J0cFJlY2VpdmVyQmFja2VuZCogYmFja2VuZCgpIHsgcmV0dXJu
IG1fYmFja2VuZC5nZXQoKTsgfQogICAgIHZvaWQgZ2V0U3RhdHMoUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CiAKKyAgICBSVENSdHBUcmFuc2Zvcm0qIHRyYW5zZm9ybSgpIHsgcmV0dXJuIG1fdHJh
bnNmb3JtLmdldCgpOyB9CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJlZlB0
cjxSVENSdHBUcmFuc2Zvcm0+JiYpOworCiBwcml2YXRlOgogICAgIFJUQ1J0cFJlY2VpdmVyKFBl
ZXJDb25uZWN0aW9uQmFja2VuZCYsIFJlZjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBzdGQ6OnVuaXF1
ZV9wdHI8UlRDUnRwUmVjZWl2ZXJCYWNrZW5kPiYmKTsKIAogICAgIFJlZjxNZWRpYVN0cmVhbVRy
YWNrPiBtX3RyYWNrOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBSZWNlaXZlckJhY2tlbmQ+
IG1fYmFja2VuZDsKICAgICBXZWFrUHRyPFBlZXJDb25uZWN0aW9uQmFja2VuZD4gbV9jb25uZWN0
aW9uOworICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+IG1fdHJhbnNmb3JtOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKaW5kZXggNzgyZGQ2N2Q1NTE2
YzhkNmU3YjQxOTU0YmNiYjkwYmJhNzQ3MjY5My4uNjE5NmE2YTUwNjg5NThhOTI5MWIzNjQyM2Vm
MGJjZWE2MjQ0MGQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5oCkBAIC0zMSwxMiArMzEsMTUgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOwor
CiBjbGFzcyBSVENSdHBSZWNlaXZlckJhY2tlbmQgewogcHVibGljOgogICAgIHZpcnR1YWwgflJU
Q1J0cFJlY2VpdmVyQmFja2VuZCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIFJUQ1J0cFBhcmFt
ZXRlcnMgZ2V0UGFyYW1ldGVycygpIHsgcmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgVmVjdG9y
PFJUQ1J0cENvbnRyaWJ1dGluZ1NvdXJjZT4gZ2V0Q29udHJpYnV0aW5nU291cmNlcygpIGNvbnN0
IHsgcmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgVmVjdG9yPFJUQ1J0cFN5bmNocm9uaXphdGlv
blNvdXJjZT4gZ2V0U3luY2hyb25pemF0aW9uU291cmNlcygpIGNvbnN0IHsgcmV0dXJuIHsgfTsg
fQorICAgIHZpcnR1YWwgUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZVJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQoKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVy
V2l0aFRyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZWI5Yjg0NzkxMTNkYTIxNzk1
Yzg3MDdlYmRkZTRjYTZlYTJiNGNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaApAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFJl
Y2VpdmVyLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtOworCitjbGFzcyBSVENSdHBSZWNlaXZlcldp
dGhUcmFuc2Zvcm0geworcHVibGljOgorICAgIHN0YXRpYyBSVENSdHBUcmFuc2Zvcm0qIHRyYW5z
Zm9ybShSVENSdHBSZWNlaXZlciYgcmVjZWl2ZXIpIHsgcmV0dXJuIHJlY2VpdmVyLnRyYW5zZm9y
bSgpOyB9CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRyYW5zZm9ybShSVENSdHBS
ZWNlaXZlciYgcmVjZWl2ZXIsIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJhbnNmb3JtKSB7
IHJldHVybiByZWNlaXZlci5zZXRUcmFuc2Zvcm0oV1RGTW92ZSh0cmFuc2Zvcm0pKTsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
citUcmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIrVHJhbnNmb3JtLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzhhN2UzMDdkNjI0YzEzNGY3ODBj
Y2I3MTBjOGM2ODI0ZGMwZGRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbApAQCAtMCwwICsxLDMz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJSVENJbnNlcnRhYmxlU3RyZWFtcywKKyAgICBFeHBvc2VkPVdpbmRvdywK
KyAgICBJbXBsZW1lbnRlZEJ5PVJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0sCitdIHBhcnRpYWwg
aW50ZXJmYWNlIFJUQ1J0cFNlbmRlciB7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1
dGUgUlRDUnRwVHJhbnNmb3JtPyB0cmFuc2Zvcm07Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCmluZGV4IGZmMTcwM2I5MmIw
ZDkwYWE5Nzg3NjcyMjY3ZjQ4ZTI3YTRiNzY0ZDQuLmM3YWMzYzQ5YmQ5ZDc5NmIyNDg3NWY5ZDky
MzA2ZDNlOTNhNzU0M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKQEAgLTY2LDcgKzY2LDExIEBAIFJUQ1J0cFNlbmRlcjo6
UlRDUnRwU2VuZGVyKFJUQ1BlZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTdHJpbmcmJiB0cmFj
a0tpbmQsIFZlCiAgICAgQVNTRVJUKG1fYmFja2VuZCk7CiB9CiAKLVJUQ1J0cFNlbmRlcjo6flJU
Q1J0cFNlbmRlcigpID0gZGVmYXVsdDsKK1JUQ1J0cFNlbmRlcjo6flJUQ1J0cFNlbmRlcigpCit7
CisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVNl
bmRlcigqdGhpcyk7Cit9CiAKIHZvaWQgUlRDUnRwU2VuZGVyOjpzZXRUcmFja1RvTnVsbCgpCiB7
CkBAIC03Nyw2ICs4MSw5IEBAIHZvaWQgUlRDUnRwU2VuZGVyOjpzZXRUcmFja1RvTnVsbCgpCiAK
IHZvaWQgUlRDUnRwU2VuZGVyOjpzdG9wKCkKIHsKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAg
ICAgIG1fdHJhbnNmb3JtLT5kZXRhY2hGcm9tU2VuZGVyKCp0aGlzKTsKKwogICAgIG1fdHJhY2tJ
ZCA9IHsgfTsKICAgICBtX3RyYWNrID0gbnVsbHB0cjsKICAgICBtX2JhY2tlbmQgPSBudWxscHRy
OwpAQCAtMTg2LDYgKzE5MywyMCBAQCBPcHRpb25hbDxSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlv
bj4gUlRDUnRwU2VuZGVyOjpjdXJyZW50VHJhbnNjZWl2ZXJEaXJlY3Rpb24oKQogICAgIHJldHVy
biBzZW5kZXJUcmFuc2NlaXZlci0+Y3VycmVudERpcmVjdGlvbigpOwogfQogCitFeGNlcHRpb25P
cjx2b2lkPiBSVENSdHBTZW5kZXI6OnNldFRyYW5zZm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3Jt
PiYmIHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJhbnNmb3JtICYmIHRyYW5zZm9ybS0+aXNBdHRh
Y2hlZCgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJ0
cmFuc2Zvcm0gaXMgYWxyZWFkeSBpbiB1c2UiX3MgfTsKKworICAgIGlmIChtX3RyYW5zZm9ybSkK
KyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21TZW5kZXIoKnRoaXMpOworICAgIG1fdHJh
bnNmb3JtID0gV1RGTW92ZSh0cmFuc2Zvcm0pOworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAg
ICAgbV90cmFuc2Zvcm0tPmF0dGFjaFRvU2VuZGVyKCp0aGlzKTsKKworICAgIHJldHVybiB7IH07
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
ZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
LmgKaW5kZXggMjhkZjBmZWJhZTEzOWQ0ZjhkNGE3YzliYmZjYjExYjEzOTk2MDRiZC4uNzBhZDk1
OTI3MGJiMmEyOWFlMzQ5M2IxZDFlYjgwOTRhOWI1MDViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFjay5oIgogI2luY2x1ZGUgIlJUQ1J0cFNlbmRlckJh
Y2tlbmQuaCIKICNpbmNsdWRlICJSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5oIgorI2luY2x1
ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKQEAgLTgxLDYgKzgyLDkgQEAgcHVibGljOgogICAgIFJU
Q0RUTUZTZW5kZXIqIGR0bWYoKTsKICAgICBPcHRpb25hbDxSVENSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbj4gY3VycmVudFRyYW5zY2VpdmVyRGlyZWN0aW9uKCkgY29uc3Q7CiAKKyAgICBSVENSdHBU
cmFuc2Zvcm0qIHRyYW5zZm9ybSgpIHsgcmV0dXJuIG1fdHJhbnNmb3JtLmdldCgpOyB9CisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYp
OworCiBwcml2YXRlOgogICAgIFJUQ1J0cFNlbmRlcihSVENQZWVyQ29ubmVjdGlvbiYsIFN0cmlu
ZyYmIHRyYWNrS2luZCwgVmVjdG9yPFN0cmluZz4mJiBtZWRpYVN0cmVhbUlkcywgc3RkOjp1bmlx
dWVfcHRyPFJUQ1J0cFNlbmRlckJhY2tlbmQ+JiYpOwogCkBAIC05MSw2ICs5NSw3IEBAIHByaXZh
dGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJUQ1J0cFNlbmRlckJhY2tlbmQ+IG1fYmFja2VuZDsK
ICAgICBXZWFrUHRyPFJUQ1BlZXJDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUmVmUHRy
PFJUQ0RUTUZTZW5kZXI+IG1fZHRtZlNlbmRlcjsKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3Jt
PiBtX3RyYW5zZm9ybTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5k
LmgKaW5kZXggMWMxOGU1MDEyOGIyNGVjMWJiMGY0NmNjNmJiMGZlYTAwNjg0N2RkYS4uMzA4OTdj
MjRlYTdmNzFkZDQwNjJiMjBlYzJiNTM4ZmNiYTFjODBiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKQEAg
LTMxLDYgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFTdHJlYW1UcmFj
azsKIGNsYXNzIFJUQ0RUTUZTZW5kZXJCYWNrZW5kOwogY2xhc3MgUlRDUnRwU2VuZGVyOworY2xh
c3MgUlRDUnRwVHJhbnNmb3JtQmFja2VuZDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiAKIHN0cnVjdCBSVENSdHBTZW5kUGFyYW1ldGVyczsKQEAgLTM5LDExICs0MCwxMyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CiAKIGNsYXNz
IFJUQ1J0cFNlbmRlckJhY2tlbmQgewogcHVibGljOgorICAgIHZpcnR1YWwgflJUQ1J0cFNlbmRl
ckJhY2tlbmQoKSA9IGRlZmF1bHQ7CisKICAgICB2aXJ0dWFsIGJvb2wgcmVwbGFjZVRyYWNrKFJU
Q1J0cFNlbmRlciYsIE1lZGlhU3RyZWFtVHJhY2sqKSA9IDA7CiAgICAgdmlydHVhbCBSVENSdHBT
ZW5kUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRQYXJhbWV0ZXJzKGNvbnN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzJiwgRE9NUHJvbWlzZURl
ZmVycmVkPHZvaWQ+JiYpID0gMDsKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1G
U2VuZGVyQmFja2VuZD4gY3JlYXRlRFRNRkJhY2tlbmQoKSA9IDA7Ci0gICAgdmlydHVhbCB+UlRD
UnRwU2VuZGVyQmFja2VuZCgpID0gZGVmYXVsdDsKKyAgICB2aXJ0dWFsIFJlZjxSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kPiBjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgPSAwOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NzE0MzhlZTY2NWIyNmY4MGUxNTFjMTk1ZWM4NzZjY2VhYWE5MzBlCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJX
aXRoVHJhbnNmb3JtLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRD
KQorCisjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3Jt
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtOworCitj
bGFzcyBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUlRD
UnRwVHJhbnNmb3JtKiB0cmFuc2Zvcm0oUlRDUnRwU2VuZGVyJiBzZW5kZXIpIHsgcmV0dXJuIHNl
bmRlci50cmFuc2Zvcm0oKTsgfQorICAgIHN0YXRpYyBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUcmFu
c2Zvcm0oUlRDUnRwU2VuZGVyJiBzZW5kZXIsIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJh
bnNmb3JtKSB7IHJldHVybiBzZW5kZXIuc2V0VHJhbnNmb3JtKFdURk1vdmUodHJhbnNmb3JtKSk7
IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJf
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBUcmFuc2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBUcmFuc2Zvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiZjVlNWU1YzJkZjcwZjk2MzAzZGY5NDk0ZmM1
YjMxNWM2OTNiMWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5jcHAKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKwor
I2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUlRDUnRwVHJhbnNmb3JtOjp+UlRDUnRwVHJhbnNmb3Jt
KCkKK3sKKyAgICBpZiAobV9iYWNrZW5kKQorICAgICAgICB3aWxsQ2xlYXJCYWNrZW5kKCptX2Jh
Y2tlbmQpOworfQorCit2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNoVG9SZWNlaXZlcihSVENS
dHBSZWNlaXZlciYgcmVjZWl2ZXIpCit7CisgICAgQVNTRVJUKCFpc0F0dGFjaGVkKCkpOworICAg
IGlmIChhdXRvKiBiYWNrZW5kID0gcmVjZWl2ZXIuYmFja2VuZCgpKQorICAgICAgICBtX2JhY2tl
bmQgPSBiYWNrZW5kLT5jcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCk7CisgICAgaWYgKG1f
YmFja2VuZCkKKyAgICAgICAgaW5pdGlhbGl6ZUJhY2tlbmRGb3JSZWNlaXZlcigqbV9iYWNrZW5k
KTsKK30KKwordm9pZCBSVENSdHBUcmFuc2Zvcm06OmF0dGFjaFRvU2VuZGVyKFJUQ1J0cFNlbmRl
ciYgc2VuZGVyKQoreworICAgIEFTU0VSVCghaXNBdHRhY2hlZCgpKTsKKyAgICBpZiAoYXV0byog
YmFja2VuZCA9IHNlbmRlci5iYWNrZW5kKCkpCisgICAgICAgIG1fYmFja2VuZCA9IGJhY2tlbmQt
PmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKTsKKyAgICBpZiAobV9iYWNrZW5kKQorICAg
ICAgICBpbml0aWFsaXplQmFja2VuZEZvclNlbmRlcigqbV9iYWNrZW5kKTsKK30KKwordm9pZCBS
VENSdHBUcmFuc2Zvcm06OmRldGFjaEZyb21SZWNlaXZlcihSVENSdHBSZWNlaXZlciYpCit7Cisg
ICAgaWYgKCFtX2JhY2tlbmQpCisgICAgICAgIHJldHVybjsKKworICAgIHdpbGxDbGVhckJhY2tl
bmQoKm1fYmFja2VuZCk7CisgICAgbV9iYWNrZW5kID0gbnVsbHB0cjsKK30KKwordm9pZCBSVENS
dHBUcmFuc2Zvcm06OmRldGFjaEZyb21TZW5kZXIoUlRDUnRwU2VuZGVyJikKK3sKKyAgICBpZiAo
IW1fYmFja2VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2lsbENsZWFyQmFja2VuZCgqbV9i
YWNrZW5kKTsKKyAgICBtX2JhY2tlbmQgPSBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRi
N2ZkODQyN2Y1ODBjODY4YWFlYzQzZTA2N2EzOGY5MDczY2ZlMGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5oCkBA
IC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSVENS
dHBSZWNlaXZlcjsKK2NsYXNzIFJUQ1J0cFNlbmRlcjsKKworY2xhc3MgV0VCQ09SRV9FWFBPUlQg
UlRDUnRwVHJhbnNmb3JtIDogcHVibGljIFJlZkNvdW50ZWQ8UlRDUnRwVHJhbnNmb3JtPiB7Citw
dWJsaWM6CisgICAgdmlydHVhbCB+UlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICBib29sIGlzQXR0
YWNoZWQoKSBjb25zdDsKKyAgICB2b2lkIGF0dGFjaFRvUmVjZWl2ZXIoUlRDUnRwUmVjZWl2ZXIm
KTsKKyAgICB2b2lkIGF0dGFjaFRvU2VuZGVyKFJUQ1J0cFNlbmRlciYpOworICAgIHZvaWQgZGV0
YWNoRnJvbVJlY2VpdmVyKFJUQ1J0cFJlY2VpdmVyJik7CisgICAgdm9pZCBkZXRhY2hGcm9tU2Vu
ZGVyKFJUQ1J0cFNlbmRlciYpOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBpbml0aWFs
aXplQmFja2VuZEZvclNlbmRlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7CisgICAgdmlydHVh
bCB2b2lkIGluaXRpYWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIoUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZCYpOworICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2xlYXJCYWNrZW5kKFJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQmKTsKKworcHJvdGVjdGVkOgorICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
PiBtX2JhY2tlbmQ7Cit9OworCitpbmxpbmUgYm9vbCBSVENSdHBUcmFuc2Zvcm06OmlzQXR0YWNo
ZWQoKSBjb25zdAoreworICAgIHJldHVybiAhIW1fYmFja2VuZDsKK30KKworaW5saW5lIHZvaWQg
UlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclNlbmRlcihSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kJikKK3sKK30KKworaW5saW5lIHZvaWQgUlRDUnRwVHJhbnNmb3JtOjppbml0aWFs
aXplQmFja2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKQoreworfQorCitp
bmxpbmUgdm9pZCBSVENSdHBUcmFuc2Zvcm06OndpbGxDbGVhckJhY2tlbmQoUlRDUnRwVHJhbnNm
b3JtQmFja2VuZCYpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNmUzMjgxMmJjNDNmZjFl
M2Y1ZmFiMTA1MTY2NmU0ZWM0MzM1YTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwKQEAgLTAsMCArMSwzNSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBD
b25kaXRpb25hbD1XRUJfUlRDLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViUlRDSW5zZXJ0YWJs
ZVN0cmVhbXMsCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgRXhwb3NlZD1X
aW5kb3cKK10gaW50ZXJmYWNlIFJUQ1J0cFRyYW5zZm9ybSB7CisgICAgLy8gRklYTUU6IEFkZCBy
ZWFkYWJsZS93cml0YWJsZSBnZXR0ZXJzCisgICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIFJlYWRh
YmxlU3RyZWFtIHJlYWRhYmxlOworICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBXcml0YWJsZVN0
cmVhbSB3cml0YWJsZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMjE0
OTIyMDFhZTY0NjM1Yjg4MjkzNTQ1NWU1YjhmMzczYmJjYTkKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
aApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNs
dWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU7CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UlRDUnRwVHJhbnNmb3JtQmFj
a2VuZCwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4geworcHVibGljOgorICAgIHZpcnR1
YWwgflJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKSA9IGRlZmF1bHQ7CisKKyAgICB1c2luZyBDYWxs
YmFjayA9IEZ1bmN0aW9uPHZvaWQoUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYpPjsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJhY2smJikgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBjbGVhclRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCkgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzVHJhbnNmb3JtZWRGcmFtZShSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUmJikgPSAwOworCisgICAgZW51bSBjbGFzcyBNZWRpYVR5cGUgeyBBdWRpbywg
VmlkZW8gfTsKKyAgICB2aXJ0dWFsIE1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdCA9IDA7CisK
KyAgICBlbnVtIGNsYXNzIFNpZGUgeyBTZW5kZXIsIFJlY2VpdmVyIH07CisgICAgdmlydHVhbCBT
aWRlIHNpZGUoKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU3MjYzNjAwN2VmYzI3NmMzOTU4YzJlNzJjMzlhMjEzYzlhZjk5OTAKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JU
QykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJh
bWUgeworcHVibGljOgorICAgIHZpcnR1YWwgflJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSgpID0g
ZGVmYXVsdDsKKworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgY29uc3QgdWludDhfdCogZGF0
YTsKKyAgICAgICAgc2l6ZV90IHNpemU7CisgICAgfTsKKyAgICB2aXJ0dWFsIERhdGEgZGF0YSgp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RGF0YShEYXRhKSA9IDA7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwCmluZGV4IDFk
MzE2YWFmYjdmY2FkMzNlNDFjNTE2ZTUzYjA2OTg1OTg1NmNhZTAuLjlhODhkMWNkYzBlYmIwZGM3
OWIwNGNiNTFiMDRlZjZlYTBmM2U1OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNwcApAQCAtMjUsNyArMjUsOSBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIgogCisjaW5j
bHVkZSAiTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCiAjaW5jbHVkZSAi
TGliV2ViUlRDVXRpbHMuaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCiAj
aW5jbHVkZSAiUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmgiCiAjaW5jbHVkZSAiUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlLmgiCiAKQEAgLTExNCw2ICsxMTYsMTAgQEAgUmVmPFJlYWx0
aW1lTWVkaWFTb3VyY2U+IExpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZDo6Y3JlYXRlU291cmNl
KCkKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCitSZWY8UlRDUnRwVHJh
bnNmb3JtQmFja2VuZD4gTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kKCkKK3sKKyAgICByZXR1cm4gTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFu
c2Zvcm1CYWNrZW5kOjpjcmVhdGUobV9ydGNSZWNlaXZlcik7Cit9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tl
bmQuaAppbmRleCBkMDI4Nzk4YjBlNjljMTcxNDZiY2UxOGI3ZDliMDg0ZmUyNjllZTE4Li5iNDZj
ZDJhNjk4NGRlZDlkMTE5NDc1NTVkMjA1MTg3N2MxMDU4NzQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZl
ckJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaApAQCAtNTIsNiArNTIsNyBAQCBwcml2
YXRlOgogICAgIFJUQ1J0cFBhcmFtZXRlcnMgZ2V0UGFyYW1ldGVycygpIGZpbmFsOwogICAgIFZl
Y3RvcjxSVENSdHBDb250cmlidXRpbmdTb3VyY2U+IGdldENvbnRyaWJ1dGluZ1NvdXJjZXMoKSBj
b25zdCBmaW5hbDsKICAgICBWZWN0b3I8UlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlPiBnZXRT
eW5jaHJvbml6YXRpb25Tb3VyY2VzKCkgY29uc3QgZmluYWw7CisgICAgUmVmPFJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQ+IGNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKSBmaW5hbDsKIAogICAg
IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiBtX3J0Y1Jl
Y2VpdmVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBS
ZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxZTU5NDE5YWI3MWYwOWVk
MDc2NWFlMTQ1YWNiMmJhMTVkM2RjNTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5z
Zm9ybUJhY2tlbmQuY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oIgorCisjaWYgRU5BQkxFKFdF
Ql9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgaW5saW5lIExp
YldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlIG1lZGlhVHlwZUZy
b21SZWNlaXZlcihjb25zdCB3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlJiByZWNlaXZlcikK
K3sKKyAgICByZXR1cm4gcmVjZWl2ZXIubWVkaWFfdHlwZSgpID09IGNyaWNrZXQ6Ok1FRElBX1RZ
UEVfQVVESU8gPyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OkF1ZGlvIDogUlRD
UnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpWaWRlbzsKK30KKworTGliV2ViUlRDUnRw
UmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+IHJ0
Y1JlY2VpdmVyKQorICAgIDogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZChtZWRpYVR5cGVG
cm9tUmVjZWl2ZXIoKnJ0Y1JlY2VpdmVyKSwgU2lkZTo6UmVjZWl2ZXIpCisgICAgLCBtX3J0Y1Jl
Y2VpdmVyKFdURk1vdmUocnRjUmVjZWl2ZXIpKQoreworfQorCitMaWJXZWJSVENSdHBSZWNlaXZl
clRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQo
KQoreworfQorCit2b2lkIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6c2V0
VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBz
ZXRJbnB1dENhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBtX3J0Y1JlY2VpdmVyLT5T
ZXREZXBhY2tldGl6ZXJUb0RlY29kZXJGcmFtZVRyYW5zZm9ybWVyKHRoaXMpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2
ZXJUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFlOTdmZDAxMGQ1NGQ5YmM3YmIxYjAw
MGUzZjE3OThjNTYwM2YzYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFj
a2VuZC5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYg
VVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
aCIKKworQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0JFR0lOCisKKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3J0cF9yZWNlaXZlcl9pbnRl
cmZhY2UuaD4KKworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECitBTExPV19VTlVT
RURfUEFSQU1FVEVSU19FTkQKKworbmFtZXNwYWNlIHdlYnJ0YyB7CitjbGFzcyBSdHBSZWNlaXZl
ckludGVyZmFjZTsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBMaWJXZWJSVENS
dHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQgZmluYWwgOiBwdWJsaWMgTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxMaWJXZWJSVENSdHBSZWNl
aXZlclRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpS
dHBSZWNlaXZlckludGVyZmFjZT4gcmVjZWl2ZXIpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTGli
V2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKFdURk1vdmUocmVjZWl2ZXIpKSk7IH0K
KyAgICB+TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKCk7CisKK3ByaXZhdGU6
CisgICAgZXhwbGljaXQgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPik7CisKKyAgICAvLyBS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxs
YmFjayhDYWxsYmFjayYmKSBmaW5hbDsKKworICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiBtX3J0Y1JlY2VpdmVyOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwCmluZGV4
IDU5M2RhOTg0ZTk3OGI5ZmU3MDUxOGEzZTM5MjRlYzUyNTFlZmEyYWMuLjhlOTYxYzk3MmZiMGRl
NDhkNzVhMGM0YWU5ZjNjYmQxYTkyMmM5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwCkBAIC0zMCw5ICszMCwxMSBAQAogI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDRFRNRlNlbmRlckJhY2tl
bmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCIKKyNpbmNs
dWRlICJMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCiAjaW5jbHVkZSAiTGli
V2ViUlRDVXRpbHMuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUg
IlJUQ1J0cFNlbmRlci5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKICNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTEzNiw2ICsxMzgsMTEgQEAgc3RkOjp1bmlxdWVfcHRyPFJUQ0RUTUZTZW5kZXJCYWNrZW5k
PiBMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpjcmVhdGVEVE1GQmFja2UKICAgICByZXR1cm4g
bWFrZVVuaXF1ZTxMaWJXZWJSVENEVE1GU2VuZGVyQmFja2VuZD4obV9ydGNTZW5kZXItPkdldER0
bWZTZW5kZXIoKSk7CiB9CiAKK1JlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBMaWJXZWJSVENS
dHBTZW5kZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkKK3sKKyAgICBy
ZXR1cm4gTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZDo6Y3JlYXRlKG1fcnRjU2Vu
ZGVyKTsKK30KKwogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlKiBMaWJXZWJSVENSdHBTZW5k
ZXJCYWNrZW5kOjp2aWRlb1NvdXJjZSgpCiB7CiAgICAgcmV0dXJuIHN3aXRjaE9uKG1fc291cmNl
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oCmluZGV4IGEx
MDQxNmQxNDA5ZmFlODAyNmRmZjRlYjU5MjU1ZDg1OTVmNzIyODIuLmQ1NmEwNTZlMzYyYjRkNjM0
OTExNjNjMTJiYmM4ZGJjY2YyOTQ3MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBTZW5kZXJCYWNrZW5kLmgKQEAgLTcwLDYgKzcwLDcgQEAgcHJpdmF0ZToKICAgICBSVENSdHBT
ZW5kUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzZXRQ
YXJhbWV0ZXJzKGNvbnN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzJiwgRE9NUHJvbWlzZURlZmVycmVk
PHZvaWQ+JiYpIGZpbmFsOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1GU2VuZGVyQmFja2Vu
ZD4gY3JlYXRlRFRNRkJhY2tlbmQoKSBmaW5hbDsKKyAgICBSZWY8UlRDUnRwVHJhbnNmb3JtQmFj
a2VuZD4gY3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpIGZpbmFsOwogCiAgICAgdm9pZCBz
dGFydFNvdXJjZSgpOwogICAgIHZvaWQgc3RvcFNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45YWY0MzlkY2ZlOGMwNzI3YTYwMjI0OGIwYzllNGY5OTM1Y2I1OGExCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAKQEAgLTAsMCArMSw1OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5o
IgorCisjaWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJM
aWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitzdGF0aWMgaW5saW5lIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlh
VHlwZSBtZWRpYVR5cGVGcm9tU2VuZGVyKGNvbnN0IHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNl
JiBzZW5kZXIpCit7CisgICAgcmV0dXJuIHNlbmRlci5tZWRpYV90eXBlKCkgPT0gY3JpY2tldDo6
TUVESUFfVFlQRV9BVURJTyA/IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6QXVk
aW8gOiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OlZpZGVvOworfQorCitMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zv
cm1CYWNrZW5kKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4g
cnRjU2VuZGVyKQorICAgIDogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZChtZWRpYVR5cGVG
cm9tU2VuZGVyKCpydGNTZW5kZXIpLCBTaWRlOjpTZW5kZXIpCisgICAgLCBtX3J0Y1NlbmRlcihX
VEZNb3ZlKHJ0Y1NlbmRlcikpCit7Cit9CisKK0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJh
Y2tlbmQ6On5MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKCkKK3sKK30KKwordm9p
ZCBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJh
bWVDYWxsYmFjayhDYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAgIHNldElucHV0Q2FsbGJhY2so
V1RGTW92ZShjYWxsYmFjaykpOworICAgIG1fcnRjU2VuZGVyLT5TZXRFbmNvZGVyVG9QYWNrZXRp
emVyRnJhbWVUcmFuc2Zvcm1lcih0aGlzKTsKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNjYwOWI3ZDFkZjlhOTcwYTdhYTU4ODRjMGUxNTM2NDJjODQ2YzJhCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oCkBAIC0wLDAgKzEsNjQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2luY2x1
ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKworQUxMT1dfVU5VU0VEX1BBUkFN
RVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCisKKyNpbmNs
dWRlIDx3ZWJydGMvYXBpL3J0cF9zZW5kZXJfaW50ZXJmYWNlLmg+CisKK0FMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0VORAorQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECisKK25hbWVz
cGFjZSB3ZWJydGMgeworY2xhc3MgUnRwU2VuZGVySW50ZXJmYWNlOworfQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1NlbmRlclRyYW5zZm9ybWVyOworCitjbGFzcyBM
aWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kIGZpbmFsIDogcHVibGljIExpYldlYlJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZD4g
Y3JlYXRlKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4gc2Vu
ZGVyKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJh
Y2tlbmQoV1RGTW92ZShzZW5kZXIpKSk7IH0KKyAgICB+TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNm
b3JtQmFja2VuZCgpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IExpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50
ZXJmYWNlPik7CisKKyAgICAvLyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBzZXRU
cmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayhDYWxsYmFjayYmKSBmaW5hbDsKKworICAgIHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4gbV9ydGNTZW5kZXI7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykg
JiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE2MmQzMGQxZmRkMzAyYTNiNWMzZWRiMzhk
Y2NiOWVlZTEzMzEwNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwCkBA
IC0wLDAgKzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuaCIKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQor
CisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpzZXRJbnB1
dENhbGxiYWNrKENhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKKyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1faW5wdXRDYWxsYmFja0xvY2spOwor
ICAgIG1faW5wdXRDYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spOworfQorCit2b2lkIExpYldl
YlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2so
KQoreworICAgIHNldElucHV0Q2FsbGJhY2soeyB9KTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kOjpzZXRPdXRwdXRDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2Vi
cnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+JiYgY2FsbGJhY2spCit7CisgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX291dHB1dENhbGxiYWNrTG9jayk7CisgICAgbV9vdXRwdXRDYWxs
YmFjayA9IFdURk1vdmUoY2FsbGJhY2spOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6OnByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZSYmIGZyYW1lKQoreworICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9vdXRwdXRDYWxsYmFj
a0xvY2spOworICAgIGlmIChtX291dHB1dENhbGxiYWNrKQorICAgICAgICBtX291dHB1dENhbGxi
YWNrLT5PblRyYW5zZm9ybWVkRnJhbWUoTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjp0
b1JUQ0ZyYW1lKFdURk1vdmUoc3RhdGljX2Nhc3Q8TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZy
YW1lJj4oZnJhbWUpKSkpOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6
OlRyYW5zZm9ybShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRl
cmZhY2U+IHJ0Y0ZyYW1lKQoreworICAgIHsKKyAgICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9j
ayhtX2lucHV0Q2FsbGJhY2tMb2NrKTsKKyAgICAgICAgaWYgKG1faW5wdXRDYWxsYmFjaykgewor
ICAgICAgICAgICAgbV9pbnB1dENhbGxiYWNrKExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZShXVEZNb3ZlKHJ0Y0ZyYW1lKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgfQorICAgIC8vIEluIGNhc2Ugb2Ygbm8gaW5wdXQgY2FsbGJhY2ssIG1ha2UgdGhlIHRyYW5z
Zm9ybSBhIG5vLW9wLgorICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9vdXRwdXRDYWxsYmFj
a0xvY2spOworICAgIGlmIChtX291dHB1dENhbGxiYWNrKQorICAgICAgICBtX291dHB1dENhbGxi
YWNrLT5PblRyYW5zZm9ybWVkRnJhbWUoV1RGTW92ZShydGNGcmFtZSkpOworfQorCit2b2lkIExp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxi
YWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4g
Y2FsbGJhY2spCit7CisgICAgc2V0T3V0cHV0Q2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpOwor
fQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3Jt
ZWRGcmFtZVNpbmtDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1l
ZEZyYW1lQ2FsbGJhY2s+IGNhbGxiYWNrLCB1aW50MzJfdCAvKiBzc3JjICovKQoreworICAgIFJl
Z2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKK30KKwor
dm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZUNhbGxiYWNrKCkKK3sKKyAgICBzZXRPdXRwdXRDYWxsYmFjayhudWxscHRyKTsKK30KKwor
dm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZVNpbmtDYWxsYmFjayh1aW50MzJfdCAvKiBzc3JjICovKQoreworICAgIFVucmVnaXN0ZXJU
cmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2soKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE1
OGM2NGJiNjExNDBjNGUyY2ViNDdhMTcwMzQwOTVmNmI0ZTk5MAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQuaApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENNYWNyb3Mu
aCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCisjaW5jbHVkZSA8d2VicnRj
L2FwaS9zY29wZWRfcmVmcHRyLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KKworQUxMT1dfVU5V
U0VEX1BBUkFNRVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lO
CisKKyNpbmNsdWRlIDx3ZWJydGMvYXBpL2ZyYW1lX3RyYW5zZm9ybWVyX2ludGVyZmFjZS5oPgor
CitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKK0FMTE9XX1VOVVNFRF9QQVJBTUVU
RVJTX0VORAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQgOiBwdWJsaWMgUlRDUnRwVHJhbnNmb3JtQmFja2VuZCwgcHVibGljIHdlYnJ0
Yzo6RnJhbWVUcmFuc2Zvcm1lckludGVyZmFjZSB7Citwcm90ZWN0ZWQ6CisgICAgTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZChNZWRpYVR5cGUsIFNpZGUpOworICAgIHZvaWQgc2V0SW5wdXRD
YWxsYmFjayhDYWxsYmFjayYmKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHNldE91dHB1dENhbGxi
YWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4m
Jik7CisKKyAgICAvLyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBwcm9jZXNzVHJh
bnNmb3JtZWRGcmFtZShSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJikgZmluYWw7CisgICAgdm9p
ZCBjbGVhclRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCkgZmluYWw7CisgICAgTWVkaWFUeXBl
IG1lZGlhVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbWVkaWFUeXBlOyB9CisgICAgU2lk
ZSBzaWRlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zaWRlOyB9CisKKyAgICAvLyB3ZWJydGM6
OkZyYW1lVHJhbnNmb3JtZXJJbnRlcmZhY2UKKyAgICB2b2lkIFRyYW5zZm9ybShzdGQ6OnVuaXF1
ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+KSBmaW5hbDsKKyAgICB2
b2lkIFJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3
ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4pIGZpbmFsOworICAgIHZvaWQgUmVnaXN0
ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4sIHVpbnQzMl90IHNzcmMpIGZpbmFsOworICAgIHZv
aWQgVW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaygpIGZpbmFsOworICAgIHZvaWQg
VW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2sodWludDMyX3Qgc3NyYykgZmlu
YWw7CisgICAgdm9pZCBBZGRSZWYoKSBjb25zdCBmaW5hbCB7IHJlZigpOyB9CisgICAgcnRjOjpS
ZWZDb3VudFJlbGVhc2VTdGF0dXMgUmVsZWFzZSgpIGNvbnN0IGZpbmFsOworCisgICAgTWVkaWFU
eXBlIG1fbWVkaWFUeXBlOworICAgIFNpZGUgbV9zaWRlOworCisgICAgTG9jayBtX2lucHV0Q2Fs
bGJhY2tMb2NrOworICAgIENhbGxiYWNrIG1faW5wdXRDYWxsYmFjazsKKworICAgIExvY2sgbV9v
dXRwdXRDYWxsYmFja0xvY2s7CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNm
b3JtZWRGcmFtZUNhbGxiYWNrPiBtX291dHB1dENhbGxiYWNrOworfTsKKworaW5saW5lIExpYldl
YlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoTWVk
aWFUeXBlIG1lZGlhVHlwZSwgU2lkZSBzaWRlKQorICAgIDogbV9tZWRpYVR5cGUobWVkaWFUeXBl
KQorICAgICwgbV9zaWRlKHNpZGUpCit7Cit9CisKK2lubGluZSBydGM6OlJlZkNvdW50UmVsZWFz
ZVN0YXR1cyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpSZWxlYXNlKCkgY29uc3QKK3sK
KyAgICBkZXJlZigpOworICAgIHJldHVybiBydGM6OlJlZkNvdW50UmVsZWFzZVN0YXR1czo6a090
aGVyUmVmc1JlbWFpbmVkOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI4NjMyYzZl
MTdiMTFmZjc4Y2UyMzUxMTk3ZmZhMGUzYTQ3ZjE0ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZS5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
X1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSBmaW5h
bCA6IHB1YmxpYyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFi
bGVGcmFtZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZh
Y2U+JiYpOworICAgIHZpcnR1YWwgfkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSgpID0g
ZGVmYXVsdDsKKworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1h
YmxlRnJhbWVJbnRlcmZhY2U+IHRvUlRDRnJhbWUoTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZy
YW1lJiYpOworCitwcml2YXRlOgorICAgIERhdGEgZGF0YSgpIGNvbnN0IGZpbmFsOworICAgIHZv
aWQgc2V0RGF0YShEYXRhIGRhdGEpIGZpbmFsIHsgbV9ydGNGcmFtZS0+U2V0RGF0YSh7IGRhdGEu
ZGF0YSwgZGF0YS5zaXplIH0pOyB9CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFu
c2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+IG1fcnRjRnJhbWU7Cit9OworCitpbmxpbmUgTGliV2Vi
UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUo
c3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiYmIGZy
YW1lKQorICAgIDogbV9ydGNGcmFtZShXVEZNb3ZlKGZyYW1lKSkKK3sKK30KKworaW5saW5lIHN0
ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4gTGliV2Vi
UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjp0b1JUQ0ZyYW1lKExpYldlYlJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZSYmIGZyYW1lKQoreworICAgIHJldHVybiBXVEZNb3ZlKGZyYW1lLm1fcnRjRnJh
bWUpOworfQorCitpbmxpbmUgUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpEYXRhIExpYldlYlJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6ZGF0YSgpIGNvbnN0Cit7CisgICAgYXV0byBkYXRhID0g
bV9ydGNGcmFtZS0+R2V0RGF0YSgpOworICAgIHJldHVybiB7IGRhdGEuYmVnaW4oKSwgZGF0YS5z
aXplKCkgfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGY5NWFmZjY3Yzk0NTYzNDI2MmFjMzlhMWIzOWM4
MDQxNzk0YzQ2ZGIuLjY0YTVkNWQ0ZDQ3MDY0NjkzYzA1ZmY4NzIxZWM1ZTM3YjA1Mzk1NjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CkBAIC0xNjQsMTIgKzE2NCwxNiBAQCBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bkljZUV2ZW50LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAKIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcAorTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBUcmFuc2Zvcm0uY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVy
LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCiBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYUNvbnRyb2xsZXIuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENDZXJ0aWZpY2F0
ZUdlbmVyYXRvci5jcHAKK01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKK01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwCitNb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcAogTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25Db250cm9sbGVyLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5jcHAKQEAgLTMzMjAsNiArMzMyNCw3IEBAIEpTUlRDUnRwU2VuZGVy
LmNwcAogSlNSVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuY3BwCiBKU1JUQ1J0cFRyYW5zY2Vp
dmVyLmNwcAogSlNSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5jcHAKK0pTUlRDUnRwVHJhbnNm
b3JtLmNwcAogSlNSVENTZHBUeXBlLmNwcAogSlNSVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCiBK
U1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmI4MjQ4NmZiOTRlNjVjNzk1YTY3
Nzc2NmFkZjEzNDE4ZjlmZTczZi4uYzk4ZDE2YTkxYjhjMWNkMDRmNzBhZGNlZTZmZGRmZWE0ZDkx
NGQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTA0Nyw2ICsxMDQ3LDkgQEAKIAkJNDEzOEY4NTgxRDI1M0YwRTAwMUNCNjFF
IC8qIEpTRE9NSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMzhGODU2MUQyNTNFRUUwMDFDQjYxRSAvKiBKU0RPTUl0ZXJhdG9yLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzQTFBQTIy
MzcxQThCNDAwN0VGM0E1IC8qIEpTRE9NU2V0TGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQTFBOUYyMzcxQThBODAwN0VGM0E1IC8qIEpTRE9N
U2V0TGlrZS5oICovOyB9OwogCQk0MTNDMkMzNDFCQzI5QThGMDA3NTIwNEMgLyogSlNET01Db25z
dHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDEzQzJDMzMxQkMyOUE3QjAwNzUyMDRDIC8qIEpTRE9NQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJ
NDEzQzhCMzMyNTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0M4QjJFMjU1
MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggKi87IH07CisJCTQx
M0M4QjM0MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0M4QjJGMjU1MkYyN0IwMEU2NTA1
NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCAqLzsgfTsKKwkJNDEzQzhCMzUyNTUyRjI3RDAwRTY1MDU1
IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQzhCMzAyNTUyRjI3QzAwRTY1MDU1IC8qIFJUQ1J0
cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oICovOyB9OwogCQk0MTNDQ0Q0QTIwREUwMzRGMDA2NUEy
MUEgLyogTW9ja01lZGlhRGV2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTNDQ0Q0ODIwREUwMTNDMDA2NUEyMUEgLyogTW9ja01lZGlhRGV2aWNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEz
RTAwNzkxREIwRTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0UwMDc4MURCMEU0REUwMDIzNDFEMiAv
KiBNZW1vcnlSZWxlYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDE0NDYwQTIyNDEyOTk0NTAwODE0QkU3IC8qIE1lZGlhU2Vzc2lvbklkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
NDQ2MEEwMjQxMjk5NDEwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVudGlmaWVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwOTksNiArMTEw
MiwxMyBAQAogCQk0MTdGN0FFRjIxMzlCRjZGMDBGQkE3RUMgLyogTWVkaWFTZXNzaW9uTWFuYWdl
ckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTdGN0FFRDIxMzlCRjY1MDBGQkE3RUMgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4MTVDMUUx
MzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMxQzEzODMxOTgzMDA1N0FBQTQg
LyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLzsgfTsKIAkJNDE4MTVDMUYxMzgzMTk4MzAwNTdB
QUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE4MTVDMUQxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0
U3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTQxODFDNUM5MjU1NTczREYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVDODI1
NTU3M0RGMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oICovOyB9OworCQk0MTgx
QzVDQjI1NTU4MkU0MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVDQTI1NTU4MkUz
MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi87IH07CisJCTQxODFDNUNE
MjU1NTgzNjkwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUNDMjU1NTgz
NjgwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLzsgfTsKKwkJ
NDE4MUM1RDEyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUNG
MjU1NTg5NTYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi87IH07
CisJCTQxODFDNUQ2MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVENTI1NTVD
MUI5MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oICovOyB9OworCQk0MTgxQzVENzI1
NTVDNDlBMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVEMzI1NTVDMUIxMDBBRUIwRkYg
LyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi87IH07CisJCTQxODFDNjM5MjU1QUU5MEYwMEFF
QjBGRiAvKiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkU0IC8qIEpTTW9j
a1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi87IH07CiAJCTQxODIwNTQ3MUU1M0U5OEMwMEQ2MjIwNyAv
KiBSVENDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTgyMDU0NTFFNTNDOENEMDBENjIyMDcgLyogUlRDQ29udHJvbGxlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxODI2QkYyMjNG
QjU5NzcwMEI5MjJCMSAvKiBEb2N1bWVudElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODI2QkYxMjNGQjU5NzAwMEI5MjJCMSAvKiBE
b2N1bWVudElkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MTg0RjUxNjFFQUYwNUE4MDBGMThCRjAgLyogT3JpZW50YXRpb25Ob3Rp
Zmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4
NEY1MTUxRUFGMDU5ODAwRjE4QkYwIC8qIE9yaWVudGF0aW9uTm90aWZpZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzAzMyw2ICs3MDQzLDcg
QEAKIAkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkQ0IC8qIEpTTW9ja1BhZ2VPdmVybGF5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9ja1BhZ2VPdmVybGF5LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkQ1
IC8qIEpTSW50ZXJuYWxzU2V0TGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0ludGVybmFsc1NldExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDYgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW50ZXJuYWxzTWFwTGlrZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJF
NCAvKiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkQ2RjNFOTMxQzFGODU1NTAwNjFEQkQ0IC8qIEpTTW9ja1BhZ2VPdmVybGF5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9ja1BhZ2VPdmVybGF5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENzBCQTEyMTgwNzREREYwMDAxOTA4QSAv
KiBQbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RDcwQkExNDE4MDc0Rjg1MDAwMTkwOEEgLyogUGxhdGZvcm1DQUxheWVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NTYyLDYgKzc1NzMsMTIgQEAKIAkJNDEzQTFBOUYyMzcx
QThBODAwN0VGM0E1IC8qIEpTRE9NU2V0TGlrZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVNldExp
a2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzQTFBQTEyMzcxQThBOTAwN0VG
M0E1IC8qIEpTRE9NU2V0TGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVNldExpa2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNDMkMzMzFCQzI5QTdCMDA3NTIw
NEMgLyogSlNET01Db25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0RPTUNvbnN0cnVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0M4
QjI0MjU1MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9ICJSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMjYyNTUyRUVBOTAwRTY1MDU1IC8qIFJUQ1J0
cFNlbmRlcitUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJSVENSdHBTZW5k
ZXIrVHJhbnNmb3JtLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0M4QjI5
MjU1MkYwMTMwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFJUQ1J0cFRyYW5zZm9ybS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxM0M4QjJFMjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zv
cm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMkYyNTUyRjI3QjAwRTY1
MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSVENSdHBUcmFuc2Zvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhC
MzAyNTUyRjI3QzAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzQ0NENDgyMERFMDEzQzAwNjVBMjFB
IC8qIE1vY2tNZWRpYURldmljZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
b2NrTWVkaWFEZXZpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzRTAwNzcx
REIwRTRERTAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5UmVsZWFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxM0UwMDc4MURCMEU0REUwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVJlbGVhc2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2NzIsNiArNzY4OSwxOSBAQAogCQk0MTgxNUMxQzEzODMx
OTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1
cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBw
b3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODE3MDdEMTM4NkVERjIwMDU3
QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29u
ZmlnOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MTgxQzVCRTI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwU2Vu
ZGVyVHJhbnNmb3JtQmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENSdHBTZW5kZXJU
cmFuc2Zvcm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJh
bnNmb3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDMDI1
NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2Vu
ZC5jcHA7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzEyNTUzRUI2RTAw
QUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHA7IHBhdGgg
PSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUMyMjU1M0VCNkYwMEFFQjBGRiAvKiBMaWJX
ZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2Vi
UlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2Vi
UlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxODFDNUM2MjU1NTczNTEwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm0uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUlRDUnRwVHJhbnNmb3JtLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzgyNTU1NzNERjAwQUVCMEZGIC8q
IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MTgxQzVDQTI1NTU4MkUzMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDQzI1NTU4MzY4MDBBRUIw
RkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oOyBwYXRoID0g
bGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0MTgxQzVDRTI1NTU4OTU1MDBBRUIwRkYgLyogTGliV2ViUlRDUnRw
VHJhbnNmb3JtQmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDE4MUM1Q0YyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1RDMyNTU1QzFCMTAwQUVC
MEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxODFDNUQ1MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3Jt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tSVENSdHBUcmFuc2Zvcm0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM2MzYyNTVBRTI2MTAwQUVCMEZG
IC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1vY2tSVENSdHBUcmFuc2Zvcm0uaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTgyMDU0NTFFNTNDOENEMDBENjIyMDcg
LyogUlRDQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVEND
b250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODIwNTQ4MUU1M0VB
QUQwMEQ2MjIwNyAvKiBSVENDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJUQ0NvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MTgyNkJGMTIzRkI1OTcwMDBCOTIyQjEgLyogRG9jdW1lbnRJZGVudGlmaWVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50SWRlbnRpZmllci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcwNDMsMTYgKzE3MDczLDIwIEBACiAJCQkJNDFF
NTk0MDAyMTQ4NjVBQTAwRDNDQjYxIC8qIFJUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMu
aWRsICovLAogCQkJCTQxQTQ4QUE4MUU4NEFGMUQwMEQyQUMyRCAvKiBSVENSdHBQYXJhbWV0ZXJz
LmggKi8sCiAJCQkJNDFBNDhBQTcxRTg0QUVFQzAwRDJBQzJEIC8qIFJUQ1J0cFBhcmFtZXRlcnMu
aWRsICovLAorCQkJCTQxM0M4QjI0MjU1MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcitU
cmFuc2Zvcm0uaWRsICovLAogCQkJCTVFMkM0MzU2MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBS
ZWNlaXZlci5jcHAgKi8sCiAJCQkJNUUyQzQzNTcxQkNFRTMwRDAwMDFFMkJDIC8qIFJUQ1J0cFJl
Y2VpdmVyLmggKi8sCiAJCQkJNUUyQzQzNTgxQkNFRTMwRDAwMDFFMkJDIC8qIFJUQ1J0cFJlY2Vp
dmVyLmlkbCAqLywKIAkJCQk0MUQxQTA0ODIxM0VEREVCMDA2M0ZCNkIgLyogUlRDUnRwUmVjZWl2
ZXJCYWNrZW5kLmggKi8sCisJCQkJNDEzQzhCMzAyNTUyRjI3QzAwRTY1MDU1IC8qIFJUQ1J0cFJl
Y2VpdmVyV2l0aFRyYW5zZm9ybS5oICovLAogCQkJCTQxRkNCNzYwMjE0ODY3MDAwMDM4QURDNiAv
KiBSVENSdHBSdHhQYXJhbWV0ZXJzLmggKi8sCiAJCQkJNDFGQ0I3NTgyMTQ4NjVEMjAwMzhBREM2
IC8qIFJUQ1J0cFJ0eFBhcmFtZXRlcnMuaWRsICovLAorCQkJCTQxM0M4QjI2MjU1MkVFQTkwMEU2
NTA1NSAvKiBSVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbCAqLywKIAkJCQk1RTJDNDM1OTFCQ0VF
MzBEMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmNwcCAqLywKIAkJCQk1RTJDNDM1QTFCQ0VFMzBE
MDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmggKi8sCiAJCQkJNUUyQzQzNUIxQkNFRTMwRDAwMDFF
MkJDIC8qIFJUQ1J0cFNlbmRlci5pZGwgKi8sCiAJCQkJNDFEMUEwNDYyMTNFRERFQjAwNjNGQjZC
IC8qIFJUQ1J0cFNlbmRlckJhY2tlbmQuaCAqLywKKwkJCQk0MTNDOEIyRTI1NTJGMjdCMDBFNjUw
NTUgLyogUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oICovLAogCQkJCTQxNEFEM0ZDMjE0OTg0
MjAwMDUyMTY3NiAvKiBSVENSdHBTZW5kUGFyYW1ldGVycy5oICovLAogCQkJCTQxNEFEM0ZFMjE0
OTg0MjAwMDUyMTY3NiAvKiBSVENSdHBTZW5kUGFyYW1ldGVycy5pZGwgKi8sCiAJCQkJNDE1RTFC
QjYyMTUwMTUyQTAwMjJEQTk2IC8qIFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5oICovLApA
QCAtMTcwNjIsNiArMTcwOTYsMTEgQEAKIAkJCQk1RTVFMkIxMjFDRkMzRTRCMDAwQzBEODUgLyog
UlRDUnRwVHJhbnNjZWl2ZXIuaWRsICovLAogCQkJCTQxODZCRDQ2MjE0MDcyQjYwMDAxODI2RiAv
KiBSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuaCAqLywKIAkJCQkzMTZEQ0IxNzFFNzhDMzMwMDAx
QjVGODcgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsICovLAorCQkJCTQxODFDNUM2
MjU1NTczNTEwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm0uY3BwICovLAorCQkJCTQxM0M4QjJG
MjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCAqLywKKwkJCQk0MTNDOEIyOTI1
NTJGMDEzMDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmlkbCAqLywKKwkJCQk0MTgxQzVDQTI1
NTU4MkUzMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi8sCisJCQkJNDE4
MUM1QzgyNTU1NzNERjAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLywKIAkJ
CQk0MTBGNTY1ODI0RkNGODU0MDBBMkU1MEMgLyogUlRDU2RwVHlwZS5pZGwgKi8sCiAJCQkJMDcy
MjFCN0ExN0NFQzMyNzAwODQ4RTUxIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgKi8sCiAJ
CQkJMDcyMjFCN0IxN0NFQzMyNzAwODQ4RTUxIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5oICov
LApAQCAtMTkxMjQsMTAgKzE5MTYzLDE3IEBACiAJCQkJNDE3NjEyQUUxRTNBOTkzQjAwQzNEODFE
IC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oICovLAogCQkJCTQxRDFBMDRBMjEz
RURERkUwMDYzRkI2QiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwICovLAogCQkJ
CTQxODZCRDNCMjEzRURFMzgwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQu
aCAqLywKKwkJCQk0MTgxQzVDMDI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2
ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcCAqLywKKwkJCQk0MTgxQzVDMjI1NTNFQjZGMDBBRUIwRkYg
LyogTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDFEMUEw
NEIyMTNFRERGRTAwNjNGQjZCIC8qIExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwICovLAog
CQkJCTQxODZCRDNEMjEzRURFMzkwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5k
LmggKi8sCisJCQkJNDE4MUM1QzEyNTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQuY3BwICovLAorCQkJCTQxODFDNUJFMjU1M0VCNkUwMEFFQjBGRiAv
KiBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDE4NkJENEQy
MTQwQjlFODAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAgKi8s
CiAJCQkJNDE4NkJENEIyMTQwQTgwNTAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFRyYW5zY2VpdmVy
QmFja2VuZC5oICovLAorCQkJCTQxODFDNUNDMjU1NTgzNjgwMEFFQjBGRiAvKiBMaWJXZWJSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLywKKwkJCQk0MTgxQzVDRTI1NTU4OTU1MDBBRUIwRkYg
LyogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAgKi8sCisJCQkJNDE4MUM1Q0YyNTU1
ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLywKIAkJCQk0
MUQyOEQwQjIxMzlFMDFEMDBGNDIwNkYgLyogTGliV2ViUlRDU3RhdHNDb2xsZWN0b3IuY3BwICov
LAogCQkJCTQxRDI4RDBDMjEzOUUwMUUwMEY0MjA2RiAvKiBMaWJXZWJSVENTdGF0c0NvbGxlY3Rv
ci5oICovLAogCQkJCTQxRDFBMDQ5MjEzRURERkQwMDYzRkI2QiAvKiBMaWJXZWJSVENVdGlscy5j
cHAgKi8sCkBAIC0xOTIwOCw2ICsxOTI1NCw5IEBACiAJCQkJQTFDQkVGNjMxRjlGMTEyOTAwMjhE
RTdDIC8qIE1vY2tQYXltZW50TWV0aG9kLmggKi8sCiAJCQkJQTE0MDYxODkxRTJFQ0EwQTAwMzJC
MzRFIC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlBMTQwNjE4QTFFMkVD
QTBBMDAzMkIzNEUgLyogTW9ja1ByZXZpZXdMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk0MTgxQzVE
MzI1NTVDMUIxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8sCisJCQkJNDE4
MUM1RDUyNTU1QzFCOTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaCAqLywKKwkJCQk0
MTgxQzYzNjI1NUFFMjYxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwgKi8sCiAJ
CQkJNTcxNTYxMDgyMzRDMUIzMTAwOEZDN0FCIC8qIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZp
Z3VyYXRpb24uaCAqLywKIAkJCQk1NzE1NjEwRDIzNEM3NDgxMDA4RkM3QUIgLyogTW9ja1dlYkF1
dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5pZGwgKi8sCiAJCQkJNDE3RjBEODAxRkZFRTE0RjAw
OEVGMzAzIC8qIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwICovLApAQCAtMTkyNjMsNiArMTkz
MTIsNyBAQAogCQkJCUExNDZEMzE4MUY5OUJDQkEwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29v
cmRpbmF0b3IuaCAqLywKIAkJCQlBMUJCODVCNDIxNTlCMzg5MDA2N0UwN0QgLyogSlNNb2NrUGF5
bWVudEVycm9yLmNwcCAqLywKIAkJCQlBMUJCODVCNTIxNTlCMzhBMDA2N0UwN0QgLyogSlNNb2Nr
UGF5bWVudEVycm9yLmggKi8sCisJCQkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkU0IC8qIEpTTW9j
a1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8sCiAJCQkJNTcxNTYxMTEyMzRDN0ZCQzAwOEZDN0FCIC8q
IEpTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5jcHAgKi8sCiAJCQkJNTcxNTYx
MTAyMzRDN0ZCQzAwOEZDN0FCIC8qIEpTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlv
bi5oICovLAogCQkJCTQyN0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJ
bnRlcm5hbHMuY3BwICovLApAQCAtMzMyMTcsNiArMzMyNjcsOCBAQAogCQkJCTQxNzYxMkIyMUUz
QTk5NDAwMEMzRDgxRCAvKiBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxNTc0NzQ4MUUzODY5QTcwMEU5MTREOCAvKiBMaWJXZWJSVENQcm92aWRl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFCMjhCM0QxRjg2MEVGMzAwRkI1MkFDIC8qIExpYldl
YlJUQ1Byb3ZpZGVyQ29jb2EuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFDNUNEMjU1NTgzNjkw
MEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQxODFDNUQxMjU1NTg5NTYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTBFNDQ2MTIzNDM3M0U5MDAwMTczRDQgLyog
TGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTEx
MjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIy
Nzk2NTBEMDBCRjIyMDA3MUI3ODIgLyogTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVh
ZGVycyAqLywKQEAgLTMzNDExLDYgKzMzNDYzLDcgQEAKIAkJCQk0QTBGRkE5RTFBQUY1RTdFMDA2
MjgwM0IgLyogTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA3RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVENjI1NTVDMUI5
MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RG
MkIwMTcxODIwNTQwNzAwRjJCNDI0IC8qIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDREYyQjAxOTE4MjA1NDA3MDBGMkI0MjQgLyogTW9ja1RyYWNrcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTcxNTYxMEMyMzRDMUNBMTAwOEZDN0FCIC8qIE1vY2tXZWJBdXRo
ZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzQwMzcsOSArMzQw
OTAsMTQgQEAKIAkJCQkwNzhFMDkyNDE3RDE0RDFDMDA0MjBBQTEgLyogUlRDUGVlckNvbm5lY3Rp
b25JY2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEyREU0QjgyMTkyODVDMDAwNzVGM0E3
IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUUyQzQzNjMxQkNF
RTMyQjAwMDFFMkJDIC8qIFJUQ1J0cFJlY2VpdmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTND
OEIzNTI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1RTJDNDM2MTFCQ0VFMzIzMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTNDOEIzMzI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRw
U2VuZGVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUU1RTJCMTQxQ0ZDM0U3
NTAwMEMwRDg1IC8qIFJUQ1J0cFRyYW5zY2VpdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUVC
NTRERjFFN0RDNzQ0MDBDMTYyM0IgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxM0M4QjM0MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zv
cm0uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFDNUNCMjU1NTgyRTQwMEFFQjBGRiAvKiBSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFDNUM5MjU1NTcz
REYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzMTM1OTEwQTFFN0REQzczMDBGMzA2MzAgLyogUlRDU2RwVHlwZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDc4RTA5MjYxN0QxNEQxQzAwNDIwQUExIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5NDMxN0QxNkUxQzAwNDIwQUExIC8qIFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtMzU0OTUsNiArMzU1
NTMsNyBAQAogCQkJCUExMDRFQzVEMjIwQTNFNEIwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29u
dGFjdEZpZWxkcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTQ2RDMxQTFGOTlCQ0Y4MDBEMjkx
OTYgLyogSlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEx
QkI4NUI4MjE1OUIzQTQwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNDE4MUM2MzkyNTVBRTkwRjAwQUVCMEZGIC8qIEpTTW9ja1JUQ1J0cFRyYW5z
Zm9ybS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzE1NjExNDIzNEM3RkQ2MDA4RkM3QUIgLyog
SlNNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQyN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRUJGNTEyMUMxNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlw
ZUNvbnZlcnNpb25zLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzU1MTAsNiArMzU1NjksNyBAQAog
CQkJCTJEOTdGMDQ3MTlERDQxM0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTFBRkVERTcxRjhCRkY2RDAwODcwMTNGIC8qIE1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0MDYxOEIxRTJFQ0EwQTAw
MzJCMzRFIC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTQxODFDNUQ3MjU1NUM0OUEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUFBNUYzQjhGMTZDQzRCMzkwMDQ1NUVCMCAvKiBQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVyTW9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTdGMEQ4MjFGRkVFOTc5
MDA4RUYzMDMgLyogU2VydmljZVdvcmtlckludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk0MUQ0MUM2NzIyNTY4NzRGMDA2OTc5NDIgLyogU2VydmljZVdvcmtlckludGVybmFscy5tbSBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1
aWx0aW5OYW1lcy5oCmluZGV4IGVlMjRhNDlhMjVhMmQzN2Q2MWUxZGMwZmU0Nzc3YjAwM2Y5MmQy
MzcuLjVhZTczNGQ5MDkwYzBkMGY3NTQ0ZDE0ZjZjYmJkMzEzMTM0ZjEyYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTE3NCw2
ICsxNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oTWVkaWFTdHJlYW0pIFwK
ICAgICBtYWNybyhNZWRpYVN0cmVhbVRyYWNrKSBcCiAgICAgbWFjcm8oTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQpIFwKKyAgICBtYWNybyhNb2NrUlRDUnRwVHJhbnNmb3JtKSBcCiAgICAgbWFjcm8o
TW9kZXJuTWVkaWFDb250cm9scykgXAogICAgIG1hY3JvKE5hdmlnYXRvckNyZWRlbnRpYWxzKSBc
CiAgICAgbWFjcm8oTmF2aWdhdG9yTWVkaWFEZXZpY2VzKSBcCkBAIC0yMjAsNiArMjIxLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFJUQ1J0cFJlY2VpdmVyKSBcCiAgICAgbWFj
cm8oUlRDUnRwU2VuZGVyKSBcCiAgICAgbWFjcm8oUlRDUnRwVHJhbnNjZWl2ZXIpIFwKKyAgICBt
YWNybyhSVENSdHBUcmFuc2Zvcm0pIFwKICAgICBtYWNybyhSVENTZXNzaW9uRGVzY3JpcHRpb24p
IFwKICAgICBtYWNybyhSVENTdGF0c1JlcG9ydCkgXAogICAgIG1hY3JvKFJUQ1RyYWNrRXZlbnQp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KaW5kZXggMzRhZmE3NzZiZDUyMzczMDA5OGVjMjFjMjNlNzQxMDBhODBjNDI1ZC4uMjdj
Nzk3ZDM0MGRiNDZiN2UzMWJhNmRiZWIyOTFjYzQzOTI1ODAxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTMyMjIsOSAr
MzIyMiw5IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIGlmIChTaG91bGRHZW5lcmF0ZVdyYXBw
ZXJPd25lckNvZGUoJGhhc1BhcmVudCwgJGludGVyZmFjZSkpIHsKICAgICAgICAgaWYgKCRpbnRl
cmZhY2VOYW1lIG5lICJOb2RlIiAmJiAkY29kZUdlbmVyYXRvci0+SW5oZXJpdHNJbnRlcmZhY2Uo
JGludGVyZmFjZSwgIk5vZGUiKSkgewogICAgICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyJKU05v
ZGUuaCJ9ID0gMTsKLSAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyBKUyR7
aW50ZXJmYWNlTmFtZX1Pd25lciA6IHB1YmxpYyBKU05vZGVPd25lciB7XG4iKTsKKyAgICAgICAg
ICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyAke2V4cG9ydE1hY3JvfUpTJHtpbnRlcmZh
Y2VOYW1lfU93bmVyIDogcHVibGljIEpTTm9kZU93bmVyIHtcbiIpOwogICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzIEpTJHtpbnRlcmZhY2VO
YW1lfU93bmVyIDogcHVibGljIEpTQzo6V2Vha0hhbmRsZU93bmVyIHtcbiIpOworICAgICAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzICR7ZXhwb3J0TWFjcm99SlMke2ludGVyZmFj
ZU5hbWV9T3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIge1xuIik7CiAgICAgICAg
IH0KICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyI8d3RmL05ldmVyRGVzdHJveWVkLmg+In0gPSAx
OwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAicHVibGljOlxuIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJm
YWNlLmgKaW5kZXggZmJmNmYzOGQ2YjYxZThkNWVhM2I3ZTFhZjk2OTJkZTFjZDAwZTdkNy4uNmJh
NDMzNGQzYjEyNWJiMDQwNmY5MTJiNDkxMmEwODM4MDA2ZTczMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
aApAQCAtODksNyArODksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihK
U0M6OlZNJik7CiB9OwogCi1jbGFzcyBKU1Rlc3RJbnRlcmZhY2VPd25lciA6IHB1YmxpYyBKU0M6
OldlYWtIYW5kbGVPd25lciB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU1Rlc3RJbnRlcmZhY2VP
d25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7CiBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIGlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93
bj4sIHZvaWQqIGNvbnRleHQsIEpTQzo6U2xvdFZpc2l0b3ImLCBjb25zdCBjaGFyKiopOwogICAg
IHZpcnR1YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+LCB2b2lkKiBj
b250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4NTNiNjk3Zjdh
MzBjYjAxODgxNjhkMGY1MWM3MGI1ODVkYzZkNDU3Li4xNjFhMjhmNDEzZjBlZTEyY2EwZmMyM2I1
MDdiZDQ0MTY5MjliMTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0x
MzgsNiArMTM4LDcgQEAKICNpbmNsdWRlICJNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlICJNb2NrUGFnZU92ZXJsYXkuaCIKICNpbmNsdWRlICJNb2NrUGFnZU92ZXJsYXlD
bGllbnQuaCIKKyNpbmNsdWRlICJNb2NrUlRDUnRwVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiTmF2
aWdhdG9yQmVhY29uLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmgiCiAjaW5j
bHVkZSAiTmV0d29ya0xvYWRJbmZvcm1hdGlvbi5oIgpAQCAtMTU3OSw2ICsxNTgwLDExIEBAIHZv
aWQgSW50ZXJuYWxzOjpzZXRXZWJSVENWUDlWVEJTdXBwb3J0KGJvb2wgdmFsdWUpCiAjZW5kaWYK
IH0KIAorUmVmPE1vY2tSVENSdHBUcmFuc2Zvcm0+IEludGVybmFsczo6Y3JlYXRlTW9ja1JUQ1J0
cFRyYW5zZm9ybSgpCit7CisgICAgcmV0dXJuIE1vY2tSVENSdHBUcmFuc2Zvcm06OmNyZWF0ZSgp
OworfQorCiB2b2lkIEludGVybmFsczo6c2V0RW5hYmxlV2ViUlRDRW5jcnlwdGlvbihib29sIHZh
bHVlKQogewogI2lmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApp
bmRleCBiYjdkNTVlMjBmZGViNWExZDU4YjA5OWNmOTdhYmVlNTk1ODQ0YTE4Li4yNDg1ZTEzZDZk
NDk1NjM3OWU2ODY2NTA4YjAxNmViMTQyNGZlNjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1
ZGUgIkhFVkNVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgIk1v
Y2tSVENSdHBUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJPcmllbnRhdGlvbk5vdGlmaWVyLmgiCiAj
aW5jbHVkZSAiUGFnZUNvbnNvbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291
cmNlLmgiCkBAIC02MDYsNiArNjA3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2ViUlRDSDI2
NVN1cHBvcnQoYm9vbCk7CiAgICAgdm9pZCBzZXRXZWJSVENWUDlTdXBwb3J0KGJvb2wpOwogICAg
IHZvaWQgc2V0V2ViUlRDVlA5VlRCU3VwcG9ydChib29sKTsKKyAgICBSZWY8TW9ja1JUQ1J0cFRy
YW5zZm9ybT4gY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOwogICAgIHZvaWQgc2V0RW5hYmxl
V2ViUlRDRW5jcnlwdGlvbihib29sKTsKICAgICB2b2lkIHNldFVzZURUTFMxMChib29sKTsKICAg
ICB2b2lkIHNldFVzZUdQVVByb2Nlc3NGb3JXZWJSVEMoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggYmRiOWVlMmNiNmNhMjE1YThlOGRjYzJkMDBhMmZlNWQwODVi
ZDY3MC4uYjAxNTRiMjk4NTgwYmZhZDMzM2ExMTRhZjM4NGQxZGE5MDllMTY4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtODAyLDYgKzgwMiw3IEBAIGVudW0gVHJlZVR5
cGUgewogICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0V2ViUlRDSDI2NVN1
cHBvcnQoYm9vbGVhbiBhbGxvd2VkKTsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZp
bmVkIHNldFdlYlJUQ1ZQOVN1cHBvcnQoYm9vbGVhbiBhbGxvd2VkKTsKICAgICBbQ29uZGl0aW9u
YWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFdlYlJUQ1ZQOVZUQlN1cHBvcnQoYm9vbGVhbiBhbGxv
d2VkKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gTW9ja1JUQ1J0cFRyYW5zZm9ybSBjcmVh
dGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CiAKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFN
XSB1bmRlZmluZWQgc2V0TW9ja0F1ZGlvVHJhY2tDaGFubmVsTnVtYmVyKE1lZGlhU3RyZWFtVHJh
Y2sgdHJhY2ssIHVuc2lnbmVkIHNob3J0IGNvdW50KTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFf
U1RSRUFNXSB1bmRlZmluZWQgc2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5
Q2hhbmdlKGJvb2xlYW4gc2hvdWxkSW50ZXJydXB0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1ZDA4Mjc1OGQ5MWI4OGQ4
ODJlMzQxM2I1MjIyNDUyZmNjNGRkZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwCkBAIC0wLDAgKzEsMTE1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIk1vY2tSVENSdHBUcmFuc2Zvcm0uaCIKKworI2lmIEVOQUJMRShXRUJf
UlRDKQorCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybWVyIDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPE1vY2tSVENSdHBUcmFuc2Zvcm1lciwgV1RGOjpEZXN0cnVjdGlvblRo
cmVhZDo6TWFpbj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TW9ja1JUQ1J0cFRyYW5zZm9y
bWVyPiBjcmVhdGUoUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+JiYgYmFja2VuZCkKKyAgICB7
CisgICAgICAgIGF1dG8gdHJhbnNmb3JtZXIgPSBhZG9wdFJlZigqbmV3IE1vY2tSVENSdHBUcmFu
c2Zvcm1lcihXVEZNb3ZlKGJhY2tlbmQpKSk7CisgICAgICAgIHRyYW5zZm9ybWVyLT5tX2JhY2tl
bmQtPnNldFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKFt0cmFuc2Zvcm1lcl0oYXV0byYmIGZy
YW1lKSB7CisgICAgICAgICAgICB0cmFuc2Zvcm1lci0+dHJhbnNmb3JtKFdURk1vdmUoZnJhbWUp
KTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB0cmFuc2Zvcm1lcjsKKyAgICB9CisKKyAg
ICB2b2lkIGNsZWFyKCkKKyAgICB7CisgICAgICAgIG1fYmFja2VuZC0+Y2xlYXJUcmFuc2Zvcm1h
YmxlRnJhbWVDYWxsYmFjaygpOworICAgICAgICBtX2JhY2tlbmQgPSBudWxscHRyOworICAgIH0K
KworICAgIHZvaWQgdHJhbnNmb3JtKFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSYmIGZyYW1lKQor
ICAgIHsKKyAgICAgICAgbV9pc1Byb2Nlc3NpbmcgPSB0cnVlOworCisgICAgICAgIGF1dG8gZGF0
YSA9IGZyYW1lLmRhdGEoKTsKKyAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IHRyYW5zZm9ybWVkRGF0
YTsKKyAgICAgICAgc2l6ZV90IHN0YXJ0ID0gbV9pc0F1ZGlvID8gMCA6IDEwMDsKKyAgICAgICAg
Zm9yIChzaXplX3QgY3B0ciA9IDA7IGNwdHIgPCBzdGFydDsgKytjcHRyKQorICAgICAgICAgICAg
dHJhbnNmb3JtZWREYXRhLmFwcGVuZChkYXRhLmRhdGFbY3B0cl0pOworICAgICAgICBmb3IgKHNp
emVfdCBjcHRyID0gc3RhcnQ7IGNwdHIgPCBkYXRhLnNpemU7ICsrY3B0cikKKyAgICAgICAgICAg
IHRyYW5zZm9ybWVkRGF0YS5hcHBlbmQoMjU2IC0gZGF0YS5kYXRhW2NwdHJdKTsKKyAgICAgICAg
ZnJhbWUuc2V0RGF0YSh7IHRyYW5zZm9ybWVkRGF0YS5kYXRhKCksIGRhdGEuc2l6ZSB9KTsKKwor
ICAgICAgICBtX2JhY2tlbmQtPnByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFdURk1vdmUoZnJhbWUp
KTsKKyAgICB9CisKKyAgICBib29sIGlzUHJvY2Vzc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNQ
cm9jZXNzaW5nOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgTW9ja1JUQ1J0cFRyYW5zZm9y
bWVyKFJlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiYmIGJhY2tlbmQpCisgICAgICAgIDogbV9i
YWNrZW5kKFdURk1vdmUoYmFja2VuZCkpCisgICAgICAgICwgbV9pc1NlbmRlcihtX2JhY2tlbmQt
PnNpZGUoKSA9PSBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpTaWRlOjpTZW5kZXIpCisgICAgICAg
ICwgbV9pc0F1ZGlvKG1fYmFja2VuZC0+bWVkaWFUeXBlKCkgPT0gUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZDo6TWVkaWFUeXBlOjpBdWRpbykKKyAgICB7CisgICAgfQorCisgICAgUmVmUHRyPFJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQ+IG1fYmFja2VuZDsKKyAgICBib29sIG1faXNTZW5kZXI7CisgICAg
Ym9vbCBtX2lzQXVkaW87CisgICAgYm9vbCBtX2lzUHJvY2Vzc2luZyB7IGZhbHNlIH07Cit9Owor
CitNb2NrUlRDUnRwVHJhbnNmb3JtOjpNb2NrUlRDUnRwVHJhbnNmb3JtKCkKK3sKK30KKworTW9j
a1JUQ1J0cFRyYW5zZm9ybTo6fk1vY2tSVENSdHBUcmFuc2Zvcm0oKQoreworfQorCitib29sIE1v
Y2tSVENSdHBUcmFuc2Zvcm06OmlzUHJvY2Vzc2luZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
dHJhbnNmb3JtZXIgPyBtX3RyYW5zZm9ybWVyLT5pc1Byb2Nlc3NpbmcoKSA6IGZhbHNlOworfQor
Cit2b2lkIE1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIo
UlRDUnRwVHJhbnNmb3JtQmFja2VuZCYgYmFja2VuZCkKK3sKKyAgICBtX3RyYW5zZm9ybWVyID0g
TW9ja1JUQ1J0cFRyYW5zZm9ybWVyOjpjcmVhdGUoYmFja2VuZCk7Cit9CisKK3ZvaWQgTW9ja1JU
Q1J0cFRyYW5zZm9ybTo6aW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIoUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZCYgYmFja2VuZCkKK3sKKyAgICBtX3RyYW5zZm9ybWVyID0gTW9ja1JUQ1J0cFRyYW5z
Zm9ybWVyOjpjcmVhdGUoYmFja2VuZCk7Cit9CisKK3ZvaWQgTW9ja1JUQ1J0cFRyYW5zZm9ybTo6
d2lsbENsZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJikKK3sKKyAgICBtX3RyYW5z
Zm9ybWVyLT5jbGVhcigpOworICAgIG1fdHJhbnNmb3JtZXIgPSBudWxscHRyOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQ5OTRk
ZmY3MTc0MzIzNTM1MWY4ZjBhMzM5NmZjNTlhMWNhZDI5MAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5oCkBAIC0wLDAgKzEsNTUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRDKQorCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3Jt
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybWVy
OworCitjbGFzcyBNb2NrUlRDUnRwVHJhbnNmb3JtIGZpbmFsIDogcHVibGljIFJUQ1J0cFRyYW5z
Zm9ybSB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNb2NrUlRDUnRwVHJhbnNmb3JtPiBjcmVh
dGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE1vY2tSVENSdHBUcmFuc2Zvcm0oKSk7IH0KKyAg
ICB+TW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgYm9vbCBpc1Byb2Nlc3NpbmcoKSBjb25z
dDsKKworcHJpdmF0ZToKKyAgICBNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICB2b2lkIGlu
aXRpYWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpIGZpbmFs
OworICAgIHZvaWQgaW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIoUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZCYpIGZpbmFsOworICAgIHZvaWQgd2lsbENsZWFyQmFja2VuZChSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kJikgZmluYWw7CisKKyAgICBSZWZQdHI8TW9ja1JUQ1J0cFRyYW5zZm9ybWVyPiBtX3Ry
YW5zZm9ybWVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tSVENS
dHBUcmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNm
b3JtLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wOWViMGMzY2ExNWM1ZjE5N2YzNmNmYjQ3NDljMTE4MDZlOGFj
Nzc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRw
VHJhbnNmb3JtLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgSlNH
ZW5lcmF0ZVRvSlNPYmplY3QsCisgICAgTGVnYWN5Tm9JbnRlcmZhY2VPYmplY3QsCitdIGludGVy
ZmFjZSBNb2NrUlRDUnRwVHJhbnNmb3JtIDogUlRDUnRwVHJhbnNmb3JtIHsKKyAgICByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiBpc1Byb2Nlc3Npbmc7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHAKaW5kZXgg
NDhiODc3NDFlMjI0YjJhNTI0ZTQwZjQ2MzQzZGRiOTkwM2I1MGIyNy4uMGM2ZjczZDA3MTQ0YjU2
MjY3NjkzNjdjOWYyYTNhNDAxN2VhZGU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRDQ29kZWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9MaWJXZWJSVENDb2RlY3MuY3BwCkBAIC00NDEsNyArNDQx
LDcgQEAgdm9pZCBMaWJXZWJSVENDb2RlY3M6OmNvbXBsZXRlZEVuY29kaW5nKFJUQ0VuY29kZXJJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIElQQzo6RGEKICAgICBpZiAoIWVuY29kZXItPmVuY29kZWRJ
bWFnZUNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAKLSAgICB3ZWJydGM6OmVuY29kZXJWaWRl
b1Rhc2tDb21wbGV0ZShlbmNvZGVyLT5lbmNvZGVkSW1hZ2VDYWxsYmFjaywgZW5jb2Rlci0+Y29k
ZWNUeXBlLCBjb25zdF9jYXN0PHVpbnQ4X3QqPihkYXRhLmRhdGEoKSksIGRhdGEuc2l6ZSgpLCBp
bmZvKTsKKyAgICB3ZWJydGM6OmVuY29kZXJWaWRlb1Rhc2tDb21wbGV0ZShlbmNvZGVyLT5lbmNv
ZGVkSW1hZ2VDYWxsYmFjaywgZW5jb2Rlci0+Y29kZWNUeXBlLCBkYXRhLmRhdGEoKSwgZGF0YS5z
aXplKCksIGluZm8pOwogfQogCiBDVlBpeGVsQnVmZmVyUG9vbFJlZiBMaWJXZWJSVENDb2RlY3M6
OnBpeGVsQnVmZmVyUG9vbChzaXplX3Qgd2lkdGgsIHNpemVfdCBoZWlnaHQsIE9TVHlwZSB0eXBl
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGFmMDU1NWZjZWQ2ZmRhNDk0OTJhN2IyZjEzNWJjNTZkOWViYTYxZWIuLjRiMzNm
ZmVlMzM3NDQ3NTg5ZTNlZDFlYTBiMmI1ZGFlN2MxNDY2MjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAyMC0xMS0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIGluZnJhc3RydWN0dXJlIGZvciBXZWJSVEMgdHJhbnNmb3JtcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzUwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJydGMvd2VicnRjLXRyYW5z
Zm9ybS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYnJ0Yy93ZWJydGMtdHJhbnNm
b3JtLmh0bWw6IEFkZGVkLgorCiAyMDIwLTExLTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgV2ViUlRDIGxpd2VicnRjIHRvIE04NwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZhOGY1MWIzYzgwMGM1ZDdhYzQ5M2Q3MDMzMDBhY2Q2ODI3OGY5ZjgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw1IEBACisKKworUEFTUyBhdWRpbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybQor
UEFTUyB2aWRlbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRjL3dl
YnJ0Yy10cmFuc2Zvcm0uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOWM1YTZkZmE1NzdiYTNiYTkwZWVhZTUy
MGM2MzI1MTU0ZTFhZjUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2VicnRjL3dl
YnJ0Yy10cmFuc2Zvcm0uaHRtbApAQCAtMCwwICsxLDg2IEBACis8IWRvY3R5cGUgaHRtbD4KKzxo
dG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAg
IDx0aXRsZT5UZXN0aW5nIG1lZGlhIGV4Y2hhbmdlIHdpdGggdHJhbnNmb3JtPC90aXRsZT4KKyAg
ICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHZpZGVvIGlkPSJ2
aWRlbzEiIGF1dG9wbGF5PjwvdmlkZW8+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8yIiBhdXRv
cGxheT48L3ZpZGVvPgorICAgICAgICA8c2NyaXB0IHNyYyA9InJvdXRpbmVzLmpzIj48L3Njcmlw
dD4KKyAgICAgICAgPHNjcmlwdD4KK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAg
IGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgcmV0dXJuOworCisgICAgbGV0IHNlbmRl
ciwgcmVjZWl2ZXI7CisgICAgbGV0IHNlbmRlclRyYW5zZm9ybSA9IGludGVybmFscy5jcmVhdGVN
b2NrUlRDUnRwVHJhbnNmb3JtKCk7CisgICAgbGV0IHJlY2VpdmVyVHJhbnNmb3JtID0gaW50ZXJu
YWxzLmNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKKworICAgIGNvbnN0IGxvY2FsU3RyZWFt
ID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoe2F1ZGlvOiB0cnVl
fSk7CisgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVj
dCkgPT4geworICAgICAgICBjcmVhdGVDb25uZWN0aW9ucygoZmlyc3RDb25uZWN0aW9uKSA9PiB7
CisgICAgICAgICAgICBwYzEgPSBmaXJzdENvbm5lY3Rpb247CisgICAgICAgICAgICBzZW5kZXIg
PSBmaXJzdENvbm5lY3Rpb24uYWRkVHJhY2sobG9jYWxTdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVsw
XSwgbG9jYWxTdHJlYW0pOworICAgICAgICAgICAgc2VuZGVyLnRyYW5zZm9ybSA9IHNlbmRlclRy
YW5zZm9ybTsKKyAgICAgICAgfSwgKHNlY29uZENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAg
IHBjMiA9IHNlY29uZENvbm5lY3Rpb247CisgICAgICAgICAgICBzZWNvbmRDb25uZWN0aW9uLm9u
dHJhY2sgPSAodHJhY2tFdmVudCkgPT4geworICAgICAgICAgICAgICAgIHJlY2VpdmVyID0gdHJh
Y2tFdmVudC5yZWNlaXZlcjsKKyAgICAgICAgICAgICAgICByZWNlaXZlci50cmFuc2Zvcm0gPSBy
ZWNlaXZlclRyYW5zZm9ybTsKKyAgICAgICAgICAgICAgICByZXNvbHZlKHRyYWNrRXZlbnQuc3Ry
ZWFtc1swXSk7CisgICAgICAgICAgICB9OworICAgICAgICB9KTsKKyAgICAgICAgc2V0VGltZW91
dCgoKSA9PiByZWplY3QoIlRlc3QgdGltZWQgb3V0IiksIDUwMDApOworICAgIH0pOworCisgICAg
dmlkZW8xLnNyY09iamVjdCA9IHN0cmVhbTsKKyAgICBhd2FpdCB2aWRlbzEucGxheSgpOworCisg
ICAgbGV0IGNvdW50ZXIgPSAwOworICAgIHdoaWxlICghcmVjZWl2ZXJUcmFuc2Zvcm0uaXNQcm9j
ZXNzaW5nICYmIGNvdW50ZXIrKyA8IDEwMCkKKyAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVz
b2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDUwKSk7CisKKyAgICBhc3NlcnRfdHJ1ZShzZW5k
ZXJUcmFuc2Zvcm0uaXNQcm9jZXNzaW5nLCAic2VuZGVyIik7Cit9LCAiYXVkaW8gZXhjaGFuZ2Ug
d2l0aCB0cmFuc2Zvcm0iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAg
aWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICByZXR1cm47CisKKyAgICBsZXQgc2VuZGVy
LCByZWNlaXZlcjsKKyAgICBsZXQgc2VuZGVyVHJhbnNmb3JtID0gaW50ZXJuYWxzLmNyZWF0ZU1v
Y2tSVENSdHBUcmFuc2Zvcm0oKTsKKyAgICBsZXQgcmVjZWl2ZXJUcmFuc2Zvcm0gPSBpbnRlcm5h
bHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworCisgICAgY29uc3QgbG9jYWxTdHJlYW0g
PSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7dmlkZW86IHRydWV9
KTsKKworICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWpl
Y3QpID0+IHsKKyAgICAgICAgY3JlYXRlQ29ubmVjdGlvbnMoKGZpcnN0Q29ubmVjdGlvbikgPT4g
eworICAgICAgICAgICAgcGMxID0gZmlyc3RDb25uZWN0aW9uOworICAgICAgICAgICAgc2VuZGVy
ID0gZmlyc3RDb25uZWN0aW9uLmFkZFRyYWNrKGxvY2FsU3RyZWFtLmdldFZpZGVvVHJhY2tzKClb
MF0sIGxvY2FsU3RyZWFtKTsKKyAgICAgICAgICAgIHNlbmRlci50cmFuc2Zvcm0gPSBzZW5kZXJU
cmFuc2Zvcm07CisgICAgICAgIH0sIChzZWNvbmRDb25uZWN0aW9uKSA9PiB7CisgICAgICAgICAg
ICBwYzIgPSBzZWNvbmRDb25uZWN0aW9uOworICAgICAgICAgICAgc2Vjb25kQ29ubmVjdGlvbi5v
bnRyYWNrID0gKHRyYWNrRXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICByZWNlaXZlciA9IHRy
YWNrRXZlbnQucmVjZWl2ZXI7CisgICAgICAgICAgICAgICAgcmVjZWl2ZXIudHJhbnNmb3JtID0g
cmVjZWl2ZXJUcmFuc2Zvcm07CisgICAgICAgICAgICAgICAgcmVzb2x2ZSh0cmFja0V2ZW50LnN0
cmVhbXNbMF0pOworICAgICAgICAgICAgfTsKKyAgICAgICAgfSk7CisgICAgICAgIHNldFRpbWVv
dXQoKCkgPT4gcmVqZWN0KCJUZXN0IHRpbWVkIG91dCIpLCA1MDAwKTsKKyAgICB9KTsKKworICAg
IHZpZGVvMi5zcmNPYmplY3QgPSBzdHJlYW07CisgICAgYXdhaXQgdmlkZW8yLnBsYXkoKTsKKwor
ICAgbGV0IGNvdW50ZXIgPSAwOworICAgd2hpbGUgKCFyZWNlaXZlclRyYW5zZm9ybS5pc1Byb2Nl
c3NpbmcgJiYgY291bnRlcisrIDwgMTAwKQorICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCA1MCkpOworCisgICAgYXNzZXJ0X3RydWUoc2VuZGVy
VHJhbnNmb3JtLmlzUHJvY2Vzc2luZywgInNlbmRlciIpOworfSwgInZpZGVvIGV4Y2hhbmdlIHdp
dGggdHJhbnNmb3JtIik7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413963</attachid>
            <date>2020-11-12 12:11:19 -0800</date>
            <delta_ts>2020-11-12 23:20:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218750-20201112211117.patch</filename>
            <type>text/plain</type>
            <size>120751</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhZjg2M2M5ZWM1ZDA1YzIwODE0YmQwNWJmNmE5YzE0MWFhNWQ1MDliLi41NjUy
ZDNkYTYxNGUwZWNhNGFlYmQwMzFlYjM3Mzg2YTQwYzgwZGU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0xMS0xMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZv
ciBXZWJSVEMgdHJhbnNmb3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE4NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWFrZSBzdXJlIGJ1ZmZlciBpcyBvd25lZCBieSB0aGUgZW5jb2RlZCBpbWFn
ZSBvYmplY3QuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cDoK
KyAgICAgICAgKiBTb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oOgorICAg
ICAgICAqIFNvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLm1tOgorICAgICAg
ICAod2VicnRjOjplbmNvZGVyVmlkZW9UYXNrQ29tcGxldGUpOgorCiAyMDIwLTExLTEwICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4gYW5kIFZpY3RvciBNIEphcXVleiA8dmphcXVl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVwZGF0ZSBXZWJSVEMgbGl3ZWJydGMgdG8gTTg3CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmlu
ZGV4IGYzODk3NWM1YjM2NTFmYWU1Y2U4YTA4YzJjZWRjMzJjNmU2Y2YxYzIuLjBjOTQzNmY4Yzg3
ZjgzZTEzZmVmNjdmN2I2ZmZhMzYyYTIzZmJkNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAt
MTEtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBp
bmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBleHBlcmltZW50YWwgcHJlZmVyZW5j
ZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2Vz
L1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjAtMTEtMTAgIFJvYiBCdWlz
ICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBQYXJzZSBhc3BlY3QtcmF0aW8gQ1NTIHBy
b3BlcnR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNjM5M2IxODc2ODgzYjhlNzhkNmI3N2E0NDQxMzI5YmZhMDVi
OTM3YS4uODhlNTM0NzkyY2FlMTU4ZGU2OGNjY2Q5MmViY2FmYjRlZTZiMjU2NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMC0xMS0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIGluZnJhc3RydWN0dXJlIGZvciBXZWJSVEMgdHJhbnNm
b3JtcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4
NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50
cm9kdWNlIFJUQ1J0cFRyYW5zZm9ybSBiZWhpbmQgYSBwcmVmZXJlbmNlLgorICAgICAgICBBZGQg
YmluZGluZyBjb2RlIHdpdGggbGlid2VicnRjIHRvIGJlIGFibGUgdG8gcHJvY2VzcyBlbmNvZGVk
IGNvbnRlbnQgaW4gc2VuZGVyIGFuZCByZWNlaXZlciBzaWRlcy4KKyAgICAgICAgQWRkIGEgbW9j
ayB0cmFuc2Zvcm0gdG8gdmFsaWRhdGUgdGhlIGluZnJhc3RydWN0dXJlIGlzIHdvcmtpbmcuCisK
KyAgICAgICAgVGVzdDogd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRtbAorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBSZWNl
aXZlcjo6flJUQ1J0cFJlY2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFJlY2VpdmVy
OjpzdG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFJlY2VpdmVyOjpzZXRUcmFuc2Zvcm0p
OgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5oOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtOjp0cmFu
c2Zvcm0pOgorICAgICAgICAoV2ViQ29yZTo6UlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtOjpz
ZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
K1RyYW5zZm9ybS5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcjo6flJUQ1J0cFNl
bmRlcik6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXI6OnN0b3ApOgorICAgICAgICAo
V2ViQ29yZTo6UlRDUnRwU2VuZGVyOjpzZXRUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBTZW5kZXJCYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UlRD
UnRwU2VuZGVyV2l0aFRyYW5zZm9ybTo6dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q1J0cFNlbmRlcldpdGhUcmFuc2Zvcm06OnNldFRyYW5zZm9ybSk6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlJUQ1J0cFRyYW5zZm9ybTo6flJUQ1J0cFRyYW5zZm9ybSk6CisgICAgICAgIChXZWJDb3Jl
OjpSVENSdHBUcmFuc2Zvcm06OmF0dGFjaFRvUmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UlRDUnRwVHJhbnNmb3JtOjphdHRhY2hUb1NlbmRlcik6CisgICAgICAgIChXZWJDb3JlOjpSVENS
dHBUcmFuc2Zvcm06OmRldGFjaEZyb21SZWNlaXZlcik6CisgICAgICAgIChXZWJDb3JlOjpSVENS
dHBUcmFuc2Zvcm06OmRldGFjaEZyb21TZW5kZXIpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwVHJhbnNmb3JtLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmg6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFj
a2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQ6
OmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNm
b3JtQmFja2VuZC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6bWVkaWFUeXBlRnJvbVJl
Y2VpdmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3Jt
QmFja2VuZDo6TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6fkxpYldlYlJU
Q1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZCk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJS
VENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQ6OnNldFRyYW5zZm9ybWFibGVGcmFtZUNhbGxi
YWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6bWVkaWFUeXBlRnJvbVNlbmRlcik6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBTZW5k
ZXJUcmFuc2Zvcm1CYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6OnNl
dFRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQ6OnNldElucHV0Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6
TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6Y2xlYXJUcmFuc2Zvcm1hYmxlRnJhbWVDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpz
ZXRPdXRwdXRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpwcm9jZXNzVHJhbnNmb3JtZWRGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpM
aWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpUcmFuc2Zvcm0pOgorICAgICAgICAoV2ViQ29y
ZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6UmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1l
Q2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZDo6UmVnaXN0ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlVucmVnaXN0ZXJUcmFuc2Zvcm1lZEZy
YW1lQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtQmFj
a2VuZDo6VW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2spOgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNr
ZW5kOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okxp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlbGVhc2UgY29uc3QpOgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6
OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6dG9SVENGcmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OmRhdGEgY29uc3QpOgorICAg
ICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6Cisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChH
ZW5lcmF0ZUhlYWRlcik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dEludGVyZmFjZS5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsczo6Y3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSk6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6
CisgICAgICAgICogdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNb2NrUlRDUnRwVHJhbnNmb3JtZXI6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6dHJhbnNmb3JtKToKKyAgICAgICAgKFdlYkNvcmU6Ok1v
Y2tSVENSdHBUcmFuc2Zvcm1lcjo6aXNQcm9jZXNzaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6TW9ja1JUQ1J0cFRyYW5zZm9ybWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06Ok1vY2tSVENSdHBUcmFuc2Zvcm0pOgor
ICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5zZm9ybTo6fk1vY2tSVENSdHBUcmFuc2Zv
cm0pOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5zZm9ybTo6aXNQcm9jZXNzaW5n
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxp
emVCYWNrZW5kRm9yUmVjZWl2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JUQ1J0cFRyYW5z
Zm9ybTo6aW5pdGlhbGl6ZUJhY2tlbmRGb3JTZW5kZXIpOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a1JUQ1J0cFRyYW5zZm9ybTo6d2lsbENsZWFyQmFja2VuZCk6CisgICAgICAgICogdGVzdGluZy9N
b2NrUlRDUnRwVHJhbnNmb3JtLmg6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvTW9ja1JUQ1J0
cFRyYW5zZm9ybS5pZGw6IEFkZGVkLgorCiAyMDIwLTExLTEwICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4gYW5kIFZpY3RvciBNIEphcXVleiA8dmphcXVlekBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFVwZGF0ZSBXZWJSVEMgbGl3ZWJydGMgdG8gTTg3CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY1Mzlk
YjhhNWUxMDdiMjBiNjA0NDUxOGFmOGMwYmVhZTI2YTZiZGQuLmNiMGFjZTAzMzBlMjZjZTE0YjE0
ZTA2OTg5NDNiMjRjYTQyOTM3MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMTEt
MTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpbmZy
YXN0cnVjdHVyZSBmb3IgV2ViUlRDIHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIGNvbnN0IGNh
c3RpbmcuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWc6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVjcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkxpYldlYlJUQ0NvZGVjczo6Y29tcGxldGVkRW5jb2RpbmcpOgorCiAyMDIwLTEx
LTExICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJQcm9j
ZXNzIHNob3VsZCBwcm9jZXNzIFdlYlJUQyBjb2RlY3MgSVBDIG1lc3NhZ2VzIGZyb20gdGhlIEdQ
VSBQcm9jZXNzIGluIGEgYmFja2dyb3VuZCB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cApp
bmRleCA0OGU0NDU5MjkzMWRjYzg0YWQzNzM3NWJhOWY2MDkwYjEwMTJjNjdkLi5hMmNhZmIzOTIy
OTllOTViN2E3YmRmZTZlMzZkN2ZmMDVmNzE5MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhw
CkBAIC0yMjksNyArMjI5LDcgQEAgX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tDb21wbGV0
ZUVQdmpQMTBfX0NWQnVmZmVyagogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNr
c0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG10dEVQRmlTMF9T
MF9FCiBfX1pONndlYnJ0YzE5c2V0RGVjb2RlckZyYW1lU2l6ZUVQdnR0CiBfX1pONndlYnJ0YzE4
UnRwQ29kZWNDYXBhYmlsaXR5QzFFdgotX19aTjZ3ZWJydGMyNGVuY29kZXJWaWRlb1Rhc2tDb21w
bGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUlu
Zm9FCitfX1pONndlYnJ0YzI0ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0Nv
ZGVjVHlwZUVQS2htUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluZm9FCiBfX1pONndlYnJ0YzI0
c2V0VmlkZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMw
X0VQRmlTMF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVFYkVQRmlT
MF9TMF9FUEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0ZXJzRUUK
IF9fWk42d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCiBfX1pONndlYnJ0YzI1c2V0
TG9jYWxFbmNvZGVyTG93TGF0ZW5jeUVQdmIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cCBiL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cApp
bmRleCA0OGU0NDU5MjkzMWRjYzg0YWQzNzM3NWJhOWY2MDkwYjEwMTJjNjdkLi5hMmNhZmIzOTIy
OTllOTViN2E3YmRmZTZlMzZkN2ZmMDVmNzE5MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKKysrIGIv
U291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1Nz
aW0uZXhwCkBAIC0yMjksNyArMjI5LDcgQEAgX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tD
b21wbGV0ZUVQdmpQMTBfX0NWQnVmZmVyagogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNh
bGxiYWNrc0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG10dEVQ
RmlTMF9TMF9FCiBfX1pONndlYnJ0YzE5c2V0RGVjb2RlckZyYW1lU2l6ZUVQdnR0CiBfX1pONndl
YnJ0YzE4UnRwQ29kZWNDYXBhYmlsaXR5QzFFdgotX19aTjZ3ZWJydGMyNGVuY29kZXJWaWRlb1Rh
c2tDb21wbGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUGhtUktOU18yMldlYktpdEVuY29kZWRG
cmFtZUluZm9FCitfX1pONndlYnJ0YzI0ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRW
aWRlb0NvZGVjVHlwZUVQS2htUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluZm9FCiBfX1pONndl
YnJ0YzI0c2V0VmlkZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRF
RVBGaVMwX0VQRmlTMF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVF
YkVQRmlTMF9TMF9FUEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0
ZXJzRUUKIF9fWk42d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCiBfX1pONndlYnJ0
YzI1c2V0TG9jYWxFbmNvZGVyTG93TGF0ZW5jeUVQdmIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGly
ZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cApp
bmRleCA0OGU0NDU5MjkzMWRjYzg0YWQzNzM3NWJhOWY2MDkwYjEwMTJjNjdkLi5hMmNhZmIzOTIy
OTllOTViN2E3YmRmZTZlMzZkN2ZmMDVmNzE5MGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQ
YXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhw
CkBAIC0yMjksNyArMjI5LDcgQEAgX19aTjZ3ZWJydGMyNHZpZGVvRGVjb2RlclRhc2tDb21wbGV0
ZUVQdmpQMTBfX0NWQnVmZmVyagogX19aTjZ3ZWJydGMyNHNldFZpZGVvRGVjb2RlckNhbGxiYWNr
c0VQRlB2UktOU18xNFNkcFZpZGVvRm9ybWF0RUVQRmlTMF9FUEZpUzBfalBLaG10dEVQRmlTMF9T
MF9FCiBfX1pONndlYnJ0YzE5c2V0RGVjb2RlckZyYW1lU2l6ZUVQdnR0CiBfX1pONndlYnJ0YzE4
UnRwQ29kZWNDYXBhYmlsaXR5QzFFdgotX19aTjZ3ZWJydGMyNGVuY29kZXJWaWRlb1Rhc2tDb21w
bGV0ZUVQdk5TXzE0VmlkZW9Db2RlY1R5cGVFUGhtUktOU18yMldlYktpdEVuY29kZWRGcmFtZUlu
Zm9FCitfX1pONndlYnJ0YzI0ZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlRVB2TlNfMTRWaWRlb0Nv
ZGVjVHlwZUVQS2htUktOU18yMldlYktpdEVuY29kZWRGcmFtZUluZm9FCiBfX1pONndlYnJ0YzI0
c2V0VmlkZW9FbmNvZGVyQ2FsbGJhY2tzRVBGUHZSS05TXzE0U2RwVmlkZW9Gb3JtYXRFRVBGaVMw
X0VQRmlTMF9SS05TXzEwVmlkZW9Db2RlY0VFUEZpUzBfUktOU18xMFZpZGVvRnJhbWVFYkVQRmlT
MF9TMF9FUEZ2UzBfUktOU18xMlZpZGVvRW5jb2RlcjIxUmF0ZUNvbnRyb2xQYXJhbWV0ZXJzRUUK
IF9fWk42d2VicnRjMjBzZXRMb2NhbEVuY29kZXJSYXRlc0VQdmpqCiBfX1pONndlYnJ0YzI1c2V0
TG9jYWxFbmNvZGVyTG93TGF0ZW5jeUVQdmIKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5oIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRF
bmNvZGVyLmgKaW5kZXggMjNkOTdlY2M0ZWJmODEzOTBmZjhhNDlhYzkwMmViMjQ5MGIyYjUyNC4u
ZTM3NzhhNmE2MWI1NjdiZjg5MDc4NDUzMWNmNmJjZjU4MjViY2YyMiAxMDA2NDQKLS0tIGEvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRF
bmNvZGVyLmgKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMv
c2RrL1dlYktpdC9XZWJLaXRFbmNvZGVyLmgKQEAgLTgwLDcgKzgwLDcgQEAgdm9pZCBpbml0aWFs
aXplTG9jYWxFbmNvZGVyKExvY2FsRW5jb2RlciwgdWludDE2X3Qgd2lkdGgsIHVpbnQxNl90IGhl
aWdodCwgdW5zaWcKIHZvaWQgZW5jb2RlTG9jYWxFbmNvZGVyRnJhbWUoTG9jYWxFbmNvZGVyLCBD
VlBpeGVsQnVmZmVyUmVmLCBpbnQ2NF90IHRpbWVTdGFtcE5zLCB1aW50MzJfdCB0aW1lU3RhbXAs
IHdlYnJ0Yzo6VmlkZW9Sb3RhdGlvbiwgYm9vbCBpc0tleWZyYW1lUmVxdWlyZWQpOwogdm9pZCBz
ZXRMb2NhbEVuY29kZXJSYXRlcyhMb2NhbEVuY29kZXIsIHVpbnQzMl90IGJpdFJhdGUsIHVpbnQz
Ml90IGZyYW1lUmF0ZSk7CiB2b2lkIHNldExvY2FsRW5jb2Rlckxvd0xhdGVuY3koTG9jYWxFbmNv
ZGVyLCBib29sIGlzTG93TGF0ZW5jeUVuYWJsZWQpOwotdm9pZCBlbmNvZGVyVmlkZW9UYXNrQ29t
cGxldGUodm9pZCosIHdlYnJ0Yzo6VmlkZW9Db2RlY1R5cGUsIHVpbnQ4X3QqIGJ1ZmZlciwgc2l6
ZV90IGxlbmd0aCwgY29uc3QgV2ViS2l0RW5jb2RlZEZyYW1lSW5mbyYpOwordm9pZCBlbmNvZGVy
VmlkZW9UYXNrQ29tcGxldGUodm9pZCosIHdlYnJ0Yzo6VmlkZW9Db2RlY1R5cGUsIGNvbnN0IHVp
bnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwgY29uc3QgV2ViS2l0RW5jb2RlZEZyYW1lSW5m
byYpOwogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgogYm9vbCBXZWJLaXRFbmNvZGVkRnJhbWVJ
bmZvOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgV2ViS2l0RW5jb2RlZEZyYW1lSW5mbyYgaW5m
bykKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRj
L3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbSBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Tb3VyY2Uvd2VicnRjL3Nkay9XZWJLaXQvV2ViS2l0RW5jb2Rlci5tbQppbmRleCBkNzk1MWM2
MTIxZDYxODUyZGI2Y2E4N2Q1OWE3YjIyMWY5NWY1MmJjLi44N2I1YzgxYjhhYjUwZjQ0ZTNhNmMy
N2Q0YzgyNzdhMmUxYmJlMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJy
dGMvU291cmNlL3dlYnJ0Yy9zZGsvV2ViS2l0L1dlYktpdEVuY29kZXIubW0KKysrIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvc2RrL1dlYktpdC9XZWJLaXRFbmNv
ZGVyLm1tCkBAIC0yOTAsOSArMjkwLDExIEBAIGludDMyX3QgUmVtb3RlVmlkZW9FbmNvZGVyOjpS
ZWdpc3RlckVuY29kZUNvbXBsZXRlQ2FsbGJhY2soRW5jb2RlZEltYWdlQ2FsbGJhY2sqCiAgICAg
cmV0dXJuIHZpZGVvRW5jb2RlckNhbGxiYWNrcygpLnJlZ2lzdGVyRW5jb2RlQ29tcGxldGVDYWxs
YmFjayhtX2ludGVybmFsRW5jb2RlciwgY2FsbGJhY2spOwogfQogCi12b2lkIGVuY29kZXJWaWRl
b1Rhc2tDb21wbGV0ZSh2b2lkKiBjYWxsYmFjaywgd2VicnRjOjpWaWRlb0NvZGVjVHlwZSBjb2Rl
Y1R5cGUsIHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGxlbmd0aCwgY29uc3QgV2ViS2l0RW5jb2Rl
ZEZyYW1lSW5mbyYgaW5mbykKK3ZvaWQgZW5jb2RlclZpZGVvVGFza0NvbXBsZXRlKHZvaWQqIGNh
bGxiYWNrLCB3ZWJydGM6OlZpZGVvQ29kZWNUeXBlIGNvZGVjVHlwZSwgY29uc3QgdWludDhfdCog
YnVmZmVyLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBXZWJLaXRFbmNvZGVkRnJhbWVJbmZvJiBpbmZv
KQogewotICAgIHdlYnJ0Yzo6RW5jb2RlZEltYWdlIGVuY29kZWRJbWFnZShidWZmZXIsIGxlbmd0
aCwgbGVuZ3RoKTsKKyAgICB3ZWJydGM6OkVuY29kZWRJbWFnZSBlbmNvZGVkSW1hZ2U7CisgICAg
ZW5jb2RlZEltYWdlLlNldEVuY29kZWREYXRhKEVuY29kZWRJbWFnZUJ1ZmZlcjo6Q3JlYXRlKGJ1
ZmZlciwgbGVuZ3RoKSk7CisKICAgICBlbmNvZGVkSW1hZ2UuX2VuY29kZWRXaWR0aCA9IGluZm8u
d2lkdGg7CiAgICAgZW5jb2RlZEltYWdlLl9lbmNvZGVkSGVpZ2h0ID0gaW5mby5oZWlnaHQ7CiAg
ICAgZW5jb2RlZEltYWdlLlNldFRpbWVzdGFtcChpbmZvLnRpbWVTdGFtcCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCmluZGV4IGIwMTZhYzlmNzMyYjEyNjg4ZjlhODUyM2UwMGY0YWYxM2Ji
YTVjNmIuLmU3YjkyNmRhYmUwOGU0YThmNDE2MDQzMGY5MjRjYjgyNmU2ZDdmZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC05ODQsNiArOTg0LDE5IEBAIFdlYlJUQ0gyNjVDb2Rl
Y0VuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorV2ViUlRDSW5z
ZXJ0YWJsZVN0cmVhbXNFbmFibGVkOgorICB0eXBlOiBib29sCisgIGNvbmRpdGlvbjogRU5BQkxF
KFdFQl9SVEMpCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViUlRDIEluc2VydGFibGUgU3RyZWFt
cyBBUEkiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBXZWJSVEMgSW5zZXJ0
YWJsZSBTdHJlYW1zIEFQSSIKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAg
ICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAg
ICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogIyBGSVhNRTogVGhpcyBpcyBub3Qg
cmVsZXZlbnQgZm9yIFdlYktpdExlZ2FjeSwgc28gc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gV2Vi
S2l0TGVnYWN5IGVudGlyZWx5LgogV2ViUlRDUGxhdGZvcm1Db2RlY3NJbkdQVVByb2Nlc3NFbmFi
bGVkOgogICB0eXBlOiBib29sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDVkNGE0ZTlkNDgxNjRl
ZDVhMWMzNGU1ODUzODNjMWZjMzBhNDBiODguLmMyOTlkODMwY2I2MWU5NDQ2OWQ4ZTYyYjcyYmQ4
NTdlMzE0OGNiYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zOTksMTMgKzM5OSwxNiBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwRmVjUGFyYW1ldGVycy5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEhlYWRl
ckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBQ
YXJhbWV0ZXJzLmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIrVHJh
bnNmb3JtLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaWRsCiAg
ICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSdHhQYXJhbWV0ZXJzLmlkbAogICAgIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZFBhcmFtZXRlcnMuaWRsCisgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU3luY2hy
b25pemF0aW9uU291cmNlLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNj
ZWl2ZXIuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbi5pZGwKKyAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENTZXNzaW9uRGVzY3JpcHRpb25Jbml0LmlkbApAQCAtMTc0OSw2ICsxNzUyLDcgQEAgc2V0KFdl
YkNvcmVUZXN0U3VwcG9ydF9JRExfRklMRVMKICAgICB0ZXN0aW5nL01vY2tDRE1GYWN0b3J5Lmlk
bAogICAgIHRlc3RpbmcvTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5pZGwKICAgICB0ZXN0aW5n
L01vY2tQYWdlT3ZlcmxheS5pZGwKKyAgICB0ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uaWRs
CiAgICAgdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAogICAgIHRlc3RpbmcvVHlw
ZUNvbnZlcnNpb25zLmlkbAogKQpAQCAtMTc3Miw2ICsxNzc2LDcgQEAgbGlzdChBUFBFTkQgV2Vi
Q29yZVRlc3RTdXBwb3J0X1NPVVJDRVMKICAgICB0ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29u
bmVjdGlvbi5jcHAKICAgICB0ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5jcHAKICAgICB0ZXN0aW5n
L01vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAKKyAgICB0ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zv
cm0uY3BwCiAgICAgdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcAogICAgIHRlc3Rp
bmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYWExOGE4Y2Y3MmNkYmZmYTA2MWU5MjFi
YzkxMzYyZDQ3ZDhjMzViMy4uNjY5YjY4NjFiNmFmYTFkMGFjMDk3YjFiZDMxMDY0NDgzZWVjNzUx
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CkBAIC0xMjksOCArMTI5LDggQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Q
b3NpdGlvbkNhbGxiYWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Q
b3NpdGlvbkVycm9yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3Np
dGlvbkVycm9yQ2FsbGJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2dlb2xvY2F0aW9u
L1Bvc2l0aW9uT3B0aW9ucy5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvaGlnaGxpZ2h0L0hp
Z2hsaWdodFJlZ2lzdGVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGln
aGxpZ2h0LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVn
aXN0ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3crSW5k
ZXhlZERhdGFiYXNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vy
c29yLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yRGlyZWN0
aW9uLmlkbApAQCAtMjMzLDEzICsyMzMsMTYgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBFbmNvZGluZ1BhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEZlY1BhcmFtZXRlcnMuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFBhcmFtZXRlcnMuaWRsCisk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9y
bS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJ0eFBhcmFtZXRl
cnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRQYXJh
bWV0ZXJzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5k
ZXIrVHJhbnNmb3JtLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFN5
bmNocm9uaXphdGlvblNvdXJjZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwVHJhbnNjZWl2ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uSW5pdC5pZGwKQEAgLTI4OSw2ICsyOTIs
NyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3F1b3RhL1dvcmtlck5hdmlnYXRvcitTdG9yYWdl
UXVvdGEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL0hUTUxNZWRp
YUVsZW1lbnQrUmVtb3RlUGxheWJhY2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90
ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1v
dGVwbGF5YmFjay9SZW1vdGVQbGF5YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvRE9NV2luZG93K1NwZWVjaFN5bnRoZXNpcy5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uRXJyb3JDb2Rl
LmlkbApAQCAtMjk2LDcgKzMwMCw2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3BlZWNoL1Nw
ZWVjaFJlY29nbml0aW9uRXJyb3JFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFJlY29nbml0aW9uRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3Nw
ZWVjaC9TcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFJlY29nbml0aW9uUmVzdWx0TGlzdC5pZGwKLSQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvc3BlZWNoL0RPTVdpbmRvdytTcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5pZGwKQEAgLTEzMDEsNiArMTMwNCw3
IEBAICQoUFJPSkVDVF9ESVIpL3Rlc3RpbmcvTW9ja1BheW1lbnRBZGRyZXNzLmlkbAogJChQUk9K
RUNUX0RJUikvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRhY3RGaWVsZHMuaWRsCiAkKFBST0pFQ1Rf
RElSKS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCiAkKFBST0pFQ1RfRElSKS90
ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaWRsCiskKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tS
VENSdHBUcmFuc2Zvcm0uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL01vY2tXZWJBdXRoZW50
aWNhdGlvbkNvbmZpZ3VyYXRpb24uaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL1NlcnZpY2VX
b3JrZXJJbnRlcm5hbHMuaWRsCiAkKFBST0pFQ1RfRElSKS90ZXN0aW5nL1R5cGVDb252ZXJzaW9u
cy5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54
Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QKaW5kZXggMzgxZmJkNDg5NWUwZWE5N2U5ZGIyMWU1ZDRkNDc3ZjZmYTIwYWFiYS4uZGI2NzEw
MDg4ZWYyNDU0NDgzMDI1ZTAxZTRhYTdjZTVkZmVjMzA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTExMDUsMTAgKzExMDUsMTAg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIYXNoQ2hh
bmdlRXZlbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0hhc2hDaGFuZ2VFdmVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0hkck1ldGFkYXRhVHlwZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGRyTWV0YWRhdGFUeXBlLmgKLSQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCi0k
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hpZ2hsaWdodFJl
Z2lzdGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
SGlnaGxpZ2h0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNIaWdobGlnaHQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNIaWdobGlnaHRSZWdpc3Rlci5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSGlnaGxpZ2h0UmVnaXN0ZXIuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaXN0b3J5LmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIaXN0b3J5LmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSGtkZlBhcmFtcy5jcHAKQEAgLTEz
NDEsNiArMTM0MSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1BheW1lbnRDb29yZGluYXRvci5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQYXltZW50RXJyb3Iu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vY2tQ
YXltZW50RXJyb3IuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29u
ZmlndXJhdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5oCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01vdXNlRXZlbnQuY3BwCkBAIC0xNjk3
LDEyICsxNjk5LDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUlRDUnRwSGVhZGVyRXh0ZW5zaW9uUGFyYW1ldGVycy5jCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFt
ZXRlcnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
VENSdHBQYXJhbWV0ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNSVENSdHBQYXJhbWV0ZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIrVHJhbnNmb3JtLmNwcAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSZWNlaXZlcitU
cmFuc2Zvcm0uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNSVENSdHBSZWNlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUlRDUnRwUmVjZWl2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSdHhQYXJhbWV0ZXJzLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBSdHhQYXJhbWV0ZXJzLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2Vu
ZFBhcmFtZXRlcnMuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1JUQ1J0cFNlbmRQYXJhbWV0ZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZGVyK1RyYW5zZm9ybS5jcHAKKyQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwU2VuZGVyK1RyYW5z
Zm9ybS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JU
Q1J0cFNlbmRlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUlRDUnRwU2VuZGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlLmNwcApAQCAtMTcxMSw2ICsx
NzE3LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNS
VENSdHBUcmFuc2NlaXZlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNjZWl2ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwVHJhbnNj
ZWl2ZXJEaXJlY3Rpb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNSVENSdHBUcmFuc2Zvcm0uY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cFRyYW5zZm9ybS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1NkcFR5cGUuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1NkcFR5cGUuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENTZXNzaW9uRGVzY3JpcHRp
b24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0ZDA4NTMwYWE1YmQ4ZTg2
ZTIyMjQ2YzUzZTJjOGVlMDE3OGUzMDNkLi45YWU0MGMxODc5Njg5MzgxN2I4NDE2NTI3YzI0MGFm
NzIzZThmMTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI1OCwxMiArMjU4
LDE1IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUGFyYW1ldGVycy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5pZGwgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUnR4UGFyYW1ldGVycy5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kUGFyYW1l
dGVycy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5k
ZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
K1RyYW5zZm9ybS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsIFwKKyAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1NkcFR5cGUuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDU2Vzc2lvbkRlc2NyaXB0aW9uLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQuaWRs
IFwKQEAgLTEyMjYsNiArMTIyOSw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJD
b3JlKS90ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdEZpZWxkcy5pZGwgXAogICAgICQoV2ViQ29y
ZSkvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS90
ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9j
a1JUQ1J0cFRyYW5zZm9ybS5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrV2ViQXV0
aGVudGljYXRpb25Db25maWd1cmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1Nl
cnZpY2VXb3JrZXJJbnRlcm5hbHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvVHlwZUNv
bnZlcnNpb25zLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyK1RyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjBiMmUxMWQ0N2ZmYmIzYTg0M2JmNDEzOTdlMGMwOGM5MWUyNjI3OAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIrVHJh
bnNmb3JtLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPVdFQl9SVEMsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJSVENJbnNlcnRhYmxlU3RyZWFt
cywKKyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBJbXBsZW1lbnRlZEJ5PVJUQ1J0cFJlY2VpdmVy
V2l0aFRyYW5zZm9ybSwKK10gcGFydGlhbCBpbnRlcmZhY2UgUlRDUnRwUmVjZWl2ZXIgeworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gYXR0cmlidXRlIFJUQ1J0cFRyYW5zZm9ybT8gdHJhbnNmb3Jt
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwUmVjZWl2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlci5jcHAKaW5kZXggNDJjNGMwNzg0MDllMzJkYWQxZTQyNGVhYTBiMmI3YjVmMzU0
ZjJiNC4uMGJmY2M5NjYzYzJmMDZkNGU5MGMwOTQ4OGRmMjUyZTFmZDJiM2MwMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5j
cHAKQEAgLTQ5LDExICs0OSwyMCBAQCBSVENSdHBSZWNlaXZlcjo6UlRDUnRwUmVjZWl2ZXIoUGVl
ckNvbm5lY3Rpb25CYWNrZW5kJiBjb25uZWN0aW9uLCBSZWY8TWVkaWFTdHJlYQogewogfQogCitS
VENSdHBSZWNlaXZlcjo6flJUQ1J0cFJlY2VpdmVyKCkKK3sKKyAgICBpZiAobV90cmFuc2Zvcm0p
CisgICAgICAgIG1fdHJhbnNmb3JtLT5kZXRhY2hGcm9tUmVjZWl2ZXIoKnRoaXMpOworfQorCiB2
b2lkIFJUQ1J0cFJlY2VpdmVyOjpzdG9wKCkKIHsKICAgICBpZiAoIW1fYmFja2VuZCkKICAgICAg
ICAgcmV0dXJuOwogCisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+
ZGV0YWNoRnJvbVJlY2VpdmVyKCp0aGlzKTsKKwogICAgIG1fYmFja2VuZCA9IG51bGxwdHI7CiAg
ICAgbV90cmFjay0+c3RvcFRyYWNrKE1lZGlhU3RyZWFtVHJhY2s6OlN0b3BNb2RlOjpQb3N0RXZl
bnQpOwogfQpAQCAtNzIsNiArODEsMjAgQEAgT3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBS
VENSdHBSZWNlaXZlcjo6Z2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnQKICAgICBy
ZXR1cm4gUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpyZWNlaXZlckNhcGFiaWxpdGllcyhjb250ZXh0
LCBraW5kKTsKIH0KIAorRXhjZXB0aW9uT3I8dm9pZD4gUlRDUnRwUmVjZWl2ZXI6OnNldFRyYW5z
Zm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJh
bnNmb3JtICYmIHRyYW5zZm9ybS0+aXNBdHRhY2hlZCgpKQorICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJ0cmFuc2Zvcm0gaXMgYWxyZWFkeSBpbiB1c2UiX3Mg
fTsKKworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZy
b21SZWNlaXZlcigqdGhpcyk7CisgICAgbV90cmFuc2Zvcm0gPSBXVEZNb3ZlKHRyYW5zZm9ybSk7
CisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+YXR0YWNoVG9SZWNl
aXZlcigqdGhpcyk7CisKKyAgICByZXR1cm4geyB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaAppbmRleCAzY2NhOGIyYjk2NzE4
YWU0NzZkODM5NDMyNjEyMGM5Nzk5MDc5MzUxLi44Y2IxYTQzZDJiZDA0NDYyNGMyODdjYTZhZjcx
YzdkZjg3OGQyMmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFJlY2VpdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBSZWNlaXZlci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW1UcmFjay5oIgogI2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIgogI2luY2x1
ZGUgIlJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5z
Zm9ybS5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CkBAIC01MCw2ICs1MSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFJUQ1J0cFJlY2VpdmVyKGNvbm5lY3Rpb24sIFdURk1vdmUodHJhY2spLCBXVEZN
b3ZlKGJhY2tlbmQpKSk7CiAgICAgfQorICAgIH5SVENSdHBSZWNlaXZlcigpOwogCiAgICAgc3Rh
dGljIE9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gZ2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIGtpbmQpOwogCkBAIC02NSwxMiArNjcsMTYg
QEAgcHVibGljOgogICAgIFJUQ1J0cFJlY2VpdmVyQmFja2VuZCogYmFja2VuZCgpIHsgcmV0dXJu
IG1fYmFja2VuZC5nZXQoKTsgfQogICAgIHZvaWQgZ2V0U3RhdHMoUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CiAKKyAgICBSVENSdHBUcmFuc2Zvcm0qIHRyYW5zZm9ybSgpIHsgcmV0dXJuIG1fdHJh
bnNmb3JtLmdldCgpOyB9CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJlZlB0
cjxSVENSdHBUcmFuc2Zvcm0+JiYpOworCiBwcml2YXRlOgogICAgIFJUQ1J0cFJlY2VpdmVyKFBl
ZXJDb25uZWN0aW9uQmFja2VuZCYsIFJlZjxNZWRpYVN0cmVhbVRyYWNrPiYmLCBzdGQ6OnVuaXF1
ZV9wdHI8UlRDUnRwUmVjZWl2ZXJCYWNrZW5kPiYmKTsKIAogICAgIFJlZjxNZWRpYVN0cmVhbVRy
YWNrPiBtX3RyYWNrOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBSZWNlaXZlckJhY2tlbmQ+
IG1fYmFja2VuZDsKICAgICBXZWFrUHRyPFBlZXJDb25uZWN0aW9uQmFja2VuZD4gbV9jb25uZWN0
aW9uOworICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+IG1fdHJhbnNmb3JtOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmgKaW5kZXggNzgyZGQ2N2Q1NTE2
YzhkNmU3YjQxOTU0YmNiYjkwYmJhNzQ3MjY5My4uNjE5NmE2YTUwNjg5NThhOTI5MWIzNjQyM2Vm
MGJjZWE2MjQ0MGQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBSZWNlaXZlckJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyQmFja2VuZC5oCkBAIC0zMSwxMiArMzEsMTUgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOwor
CiBjbGFzcyBSVENSdHBSZWNlaXZlckJhY2tlbmQgewogcHVibGljOgogICAgIHZpcnR1YWwgflJU
Q1J0cFJlY2VpdmVyQmFja2VuZCgpID0gZGVmYXVsdDsKICAgICB2aXJ0dWFsIFJUQ1J0cFBhcmFt
ZXRlcnMgZ2V0UGFyYW1ldGVycygpIHsgcmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgVmVjdG9y
PFJUQ1J0cENvbnRyaWJ1dGluZ1NvdXJjZT4gZ2V0Q29udHJpYnV0aW5nU291cmNlcygpIGNvbnN0
IHsgcmV0dXJuIHsgfTsgfQogICAgIHZpcnR1YWwgVmVjdG9yPFJUQ1J0cFN5bmNocm9uaXphdGlv
blNvdXJjZT4gZ2V0U3luY2hyb25pemF0aW9uU291cmNlcygpIGNvbnN0IHsgcmV0dXJuIHsgfTsg
fQorICAgIHZpcnR1YWwgUmVmPFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZVJUQ1J0cFRy
YW5zZm9ybUJhY2tlbmQoKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVy
V2l0aFRyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZWI5Yjg0NzkxMTNkYTIxNzk1
Yzg3MDdlYmRkZTRjYTZlYTJiNGNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0uaApAQCAtMCww
ICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFJl
Y2VpdmVyLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtOworCitjbGFzcyBSVENSdHBSZWNlaXZlcldp
dGhUcmFuc2Zvcm0geworcHVibGljOgorICAgIHN0YXRpYyBSVENSdHBUcmFuc2Zvcm0qIHRyYW5z
Zm9ybShSVENSdHBSZWNlaXZlciYgcmVjZWl2ZXIpIHsgcmV0dXJuIHJlY2VpdmVyLnRyYW5zZm9y
bSgpOyB9CisgICAgc3RhdGljIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFRyYW5zZm9ybShSVENSdHBS
ZWNlaXZlciYgcmVjZWl2ZXIsIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJhbnNmb3JtKSB7
IHJldHVybiByZWNlaXZlci5zZXRUcmFuc2Zvcm0oV1RGTW92ZSh0cmFuc2Zvcm0pKTsgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRl
citUcmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBTZW5kZXIrVHJhbnNmb3JtLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMzhhN2UzMDdkNjI0YzEzNGY3ODBj
Y2I3MTBjOGM2ODI0ZGMwZGRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbApAQCAtMCwwICsxLDMz
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgRW5hYmxl
ZEJ5U2V0dGluZz1XZWJSVENJbnNlcnRhYmxlU3RyZWFtcywKKyAgICBFeHBvc2VkPVdpbmRvdywK
KyAgICBJbXBsZW1lbnRlZEJ5PVJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0sCitdIHBhcnRpYWwg
aW50ZXJmYWNlIFJUQ1J0cFNlbmRlciB7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBhdHRyaWJ1
dGUgUlRDUnRwVHJhbnNmb3JtPyB0cmFuc2Zvcm07Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCmluZGV4IGZmMTcwM2I5MmIw
ZDkwYWE5Nzg3NjcyMjY3ZjQ4ZTI3YTRiNzY0ZDQuLmM3YWMzYzQ5YmQ5ZDc5NmIyNDg3NWY5ZDky
MzA2ZDNlOTNhNzU0M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwU2VuZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKQEAgLTY2LDcgKzY2LDExIEBAIFJUQ1J0cFNlbmRlcjo6
UlRDUnRwU2VuZGVyKFJUQ1BlZXJDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTdHJpbmcmJiB0cmFj
a0tpbmQsIFZlCiAgICAgQVNTRVJUKG1fYmFja2VuZCk7CiB9CiAKLVJUQ1J0cFNlbmRlcjo6flJU
Q1J0cFNlbmRlcigpID0gZGVmYXVsdDsKK1JUQ1J0cFNlbmRlcjo6flJUQ1J0cFNlbmRlcigpCit7
CisgICAgaWYgKG1fdHJhbnNmb3JtKQorICAgICAgICBtX3RyYW5zZm9ybS0+ZGV0YWNoRnJvbVNl
bmRlcigqdGhpcyk7Cit9CiAKIHZvaWQgUlRDUnRwU2VuZGVyOjpzZXRUcmFja1RvTnVsbCgpCiB7
CkBAIC03Nyw2ICs4MSw5IEBAIHZvaWQgUlRDUnRwU2VuZGVyOjpzZXRUcmFja1RvTnVsbCgpCiAK
IHZvaWQgUlRDUnRwU2VuZGVyOjpzdG9wKCkKIHsKKyAgICBpZiAobV90cmFuc2Zvcm0pCisgICAg
ICAgIG1fdHJhbnNmb3JtLT5kZXRhY2hGcm9tU2VuZGVyKCp0aGlzKTsKKwogICAgIG1fdHJhY2tJ
ZCA9IHsgfTsKICAgICBtX3RyYWNrID0gbnVsbHB0cjsKICAgICBtX2JhY2tlbmQgPSBudWxscHRy
OwpAQCAtMTg2LDYgKzE5MywyMCBAQCBPcHRpb25hbDxSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlv
bj4gUlRDUnRwU2VuZGVyOjpjdXJyZW50VHJhbnNjZWl2ZXJEaXJlY3Rpb24oKQogICAgIHJldHVy
biBzZW5kZXJUcmFuc2NlaXZlci0+Y3VycmVudERpcmVjdGlvbigpOwogfQogCitFeGNlcHRpb25P
cjx2b2lkPiBSVENSdHBTZW5kZXI6OnNldFRyYW5zZm9ybShSZWZQdHI8UlRDUnRwVHJhbnNmb3Jt
PiYmIHRyYW5zZm9ybSkKK3sKKyAgICBpZiAodHJhbnNmb3JtICYmIHRyYW5zZm9ybS0+aXNBdHRh
Y2hlZCgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJ0
cmFuc2Zvcm0gaXMgYWxyZWFkeSBpbiB1c2UiX3MgfTsKKworICAgIGlmIChtX3RyYW5zZm9ybSkK
KyAgICAgICAgbV90cmFuc2Zvcm0tPmRldGFjaEZyb21TZW5kZXIoKnRoaXMpOworICAgIG1fdHJh
bnNmb3JtID0gV1RGTW92ZSh0cmFuc2Zvcm0pOworICAgIGlmIChtX3RyYW5zZm9ybSkKKyAgICAg
ICAgbV90cmFuc2Zvcm0tPmF0dGFjaFRvU2VuZGVyKCp0aGlzKTsKKworICAgIHJldHVybiB7IH07
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
ZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVy
LmgKaW5kZXggMjhkZjBmZWJhZTEzOWQ0ZjhkNGE3YzliYmZjYjExYjEzOTk2MDRiZC4uNzBhZDk1
OTI3MGJiMmEyOWFlMzQ5M2IxZDFlYjgwOTRhOWI1MDViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCkBAIC0zNiw2ICszNiw3IEBA
CiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1UcmFjay5oIgogI2luY2x1ZGUgIlJUQ1J0cFNlbmRlckJh
Y2tlbmQuaCIKICNpbmNsdWRlICJSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5oIgorI2luY2x1
ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJsZS5oIgogI2lu
Y2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKQEAgLTgxLDYgKzgyLDkgQEAgcHVibGljOgogICAgIFJU
Q0RUTUZTZW5kZXIqIGR0bWYoKTsKICAgICBPcHRpb25hbDxSVENSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbj4gY3VycmVudFRyYW5zY2VpdmVyRGlyZWN0aW9uKCkgY29uc3Q7CiAKKyAgICBSVENSdHBU
cmFuc2Zvcm0qIHRyYW5zZm9ybSgpIHsgcmV0dXJuIG1fdHJhbnNmb3JtLmdldCgpOyB9CisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0VHJhbnNmb3JtKFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYp
OworCiBwcml2YXRlOgogICAgIFJUQ1J0cFNlbmRlcihSVENQZWVyQ29ubmVjdGlvbiYsIFN0cmlu
ZyYmIHRyYWNrS2luZCwgVmVjdG9yPFN0cmluZz4mJiBtZWRpYVN0cmVhbUlkcywgc3RkOjp1bmlx
dWVfcHRyPFJUQ1J0cFNlbmRlckJhY2tlbmQ+JiYpOwogCkBAIC05MSw2ICs5NSw3IEBAIHByaXZh
dGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJUQ1J0cFNlbmRlckJhY2tlbmQ+IG1fYmFja2VuZDsK
ICAgICBXZWFrUHRyPFJUQ1BlZXJDb25uZWN0aW9uPiBtX2Nvbm5lY3Rpb247CiAgICAgUmVmUHRy
PFJUQ0RUTUZTZW5kZXI+IG1fZHRtZlNlbmRlcjsKKyAgICBSZWZQdHI8UlRDUnRwVHJhbnNmb3Jt
PiBtX3RyYW5zZm9ybTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyQmFja2VuZC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5k
LmgKaW5kZXggMWMxOGU1MDEyOGIyNGVjMWJiMGY0NmNjNmJiMGZlYTAwNjg0N2RkYS4uMzA4OTdj
MjRlYTdmNzFkZDQwNjJiMjBlYzJiNTM4ZmNiYTFjODBiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJCYWNrZW5kLmgKQEAg
LTMxLDYgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVkaWFTdHJlYW1UcmFj
azsKIGNsYXNzIFJUQ0RUTUZTZW5kZXJCYWNrZW5kOwogY2xhc3MgUlRDUnRwU2VuZGVyOworY2xh
c3MgUlRDUnRwVHJhbnNmb3JtQmFja2VuZDsKIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7
CiAKIHN0cnVjdCBSVENSdHBTZW5kUGFyYW1ldGVyczsKQEAgLTM5LDExICs0MCwxMyBAQCB0ZW1w
bGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CiAKIGNsYXNz
IFJUQ1J0cFNlbmRlckJhY2tlbmQgewogcHVibGljOgorICAgIHZpcnR1YWwgflJUQ1J0cFNlbmRl
ckJhY2tlbmQoKSA9IGRlZmF1bHQ7CisKICAgICB2aXJ0dWFsIGJvb2wgcmVwbGFjZVRyYWNrKFJU
Q1J0cFNlbmRlciYsIE1lZGlhU3RyZWFtVHJhY2sqKSA9IDA7CiAgICAgdmlydHVhbCBSVENSdHBT
ZW5kUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBzZXRQYXJhbWV0ZXJzKGNvbnN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzJiwgRE9NUHJvbWlzZURl
ZmVycmVkPHZvaWQ+JiYpID0gMDsKICAgICB2aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1G
U2VuZGVyQmFja2VuZD4gY3JlYXRlRFRNRkJhY2tlbmQoKSA9IDA7Ci0gICAgdmlydHVhbCB+UlRD
UnRwU2VuZGVyQmFja2VuZCgpID0gZGVmYXVsdDsKKyAgICB2aXJ0dWFsIFJlZjxSVENSdHBUcmFu
c2Zvcm1CYWNrZW5kPiBjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkgPSAwOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NzE0MzhlZTY2NWIyNmY4MGUxNTFjMTk1ZWM4NzZjY2VhYWE5MzBlCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXJX
aXRoVHJhbnNmb3JtLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJfUlRD
KQorCisjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3Jt
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUlRDUnRwVHJhbnNmb3JtOworCitj
bGFzcyBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUlRD
UnRwVHJhbnNmb3JtKiB0cmFuc2Zvcm0oUlRDUnRwU2VuZGVyJiBzZW5kZXIpIHsgcmV0dXJuIHNl
bmRlci50cmFuc2Zvcm0oKTsgfQorICAgIHN0YXRpYyBFeGNlcHRpb25Pcjx2b2lkPiBzZXRUcmFu
c2Zvcm0oUlRDUnRwU2VuZGVyJiBzZW5kZXIsIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm0+JiYgdHJh
bnNmb3JtKSB7IHJldHVybiBzZW5kZXIuc2V0VHJhbnNmb3JtKFdURk1vdmUodHJhbnNmb3JtKSk7
IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJf
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBUcmFuc2Zvcm0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENS
dHBUcmFuc2Zvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiZjVlNWU1YzJkZjcwZjk2MzAzZGY5NDk0ZmM1
YjMxNWM2OTNiMWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5jcHAKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtLmgiCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKwor
I2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyLmgiCisjaW5jbHVkZSAiUlRDUnRwU2VuZGVyLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUlRDUnRwVHJhbnNmb3JtOjp+UlRDUnRwVHJhbnNmb3Jt
KCkKK3sKKyAgICBpZiAobV9iYWNrZW5kKQorICAgICAgICB3aWxsQ2xlYXJCYWNrZW5kKCptX2Jh
Y2tlbmQpOworfQorCit2b2lkIFJUQ1J0cFRyYW5zZm9ybTo6YXR0YWNoVG9SZWNlaXZlcihSVENS
dHBSZWNlaXZlciYgcmVjZWl2ZXIpCit7CisgICAgQVNTRVJUKCFpc0F0dGFjaGVkKCkpOworICAg
IGlmIChhdXRvKiBiYWNrZW5kID0gcmVjZWl2ZXIuYmFja2VuZCgpKQorICAgICAgICBtX2JhY2tl
bmQgPSBiYWNrZW5kLT5jcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCk7CisgICAgaWYgKG1f
YmFja2VuZCkKKyAgICAgICAgaW5pdGlhbGl6ZUJhY2tlbmRGb3JSZWNlaXZlcigqbV9iYWNrZW5k
KTsKK30KKwordm9pZCBSVENSdHBUcmFuc2Zvcm06OmF0dGFjaFRvU2VuZGVyKFJUQ1J0cFNlbmRl
ciYgc2VuZGVyKQoreworICAgIEFTU0VSVCghaXNBdHRhY2hlZCgpKTsKKyAgICBpZiAoYXV0byog
YmFja2VuZCA9IHNlbmRlci5iYWNrZW5kKCkpCisgICAgICAgIG1fYmFja2VuZCA9IGJhY2tlbmQt
PmNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKTsKKyAgICBpZiAobV9iYWNrZW5kKQorICAg
ICAgICBpbml0aWFsaXplQmFja2VuZEZvclNlbmRlcigqbV9iYWNrZW5kKTsKK30KKwordm9pZCBS
VENSdHBUcmFuc2Zvcm06OmRldGFjaEZyb21SZWNlaXZlcihSVENSdHBSZWNlaXZlciYpCit7Cisg
ICAgaWYgKCFtX2JhY2tlbmQpCisgICAgICAgIHJldHVybjsKKworICAgIHdpbGxDbGVhckJhY2tl
bmQoKm1fYmFja2VuZCk7CisgICAgbV9iYWNrZW5kID0gbnVsbHB0cjsKK30KKwordm9pZCBSVENS
dHBUcmFuc2Zvcm06OmRldGFjaEZyb21TZW5kZXIoUlRDUnRwU2VuZGVyJikKK3sKKyAgICBpZiAo
IW1fYmFja2VuZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2lsbENsZWFyQmFja2VuZCgqbV9i
YWNrZW5kKTsKKyAgICBtX2JhY2tlbmQgPSBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRi
N2ZkODQyN2Y1ODBjODY4YWFlYzQzZTA2N2EzOGY5MDczY2ZlMGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5oCkBA
IC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKworI2luY2x1ZGUgIlJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSVENS
dHBSZWNlaXZlcjsKK2NsYXNzIFJUQ1J0cFNlbmRlcjsKKworY2xhc3MgV0VCQ09SRV9FWFBPUlQg
UlRDUnRwVHJhbnNmb3JtIDogcHVibGljIFJlZkNvdW50ZWQ8UlRDUnRwVHJhbnNmb3JtPiB7Citw
dWJsaWM6CisgICAgdmlydHVhbCB+UlRDUnRwVHJhbnNmb3JtKCk7CisKKyAgICBib29sIGlzQXR0
YWNoZWQoKSBjb25zdDsKKyAgICB2b2lkIGF0dGFjaFRvUmVjZWl2ZXIoUlRDUnRwUmVjZWl2ZXIm
KTsKKyAgICB2b2lkIGF0dGFjaFRvU2VuZGVyKFJUQ1J0cFNlbmRlciYpOworICAgIHZvaWQgZGV0
YWNoRnJvbVJlY2VpdmVyKFJUQ1J0cFJlY2VpdmVyJik7CisgICAgdm9pZCBkZXRhY2hGcm9tU2Vu
ZGVyKFJUQ1J0cFNlbmRlciYpOworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBpbml0aWFs
aXplQmFja2VuZEZvclNlbmRlcihSVENSdHBUcmFuc2Zvcm1CYWNrZW5kJik7CisgICAgdmlydHVh
bCB2b2lkIGluaXRpYWxpemVCYWNrZW5kRm9yUmVjZWl2ZXIoUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZCYpOworICAgIHZpcnR1YWwgdm9pZCB3aWxsQ2xlYXJCYWNrZW5kKFJUQ1J0cFRyYW5zZm9ybUJh
Y2tlbmQmKTsKKworcHJvdGVjdGVkOgorICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5k
PiBtX2JhY2tlbmQ7Cit9OworCitpbmxpbmUgYm9vbCBSVENSdHBUcmFuc2Zvcm06OmlzQXR0YWNo
ZWQoKSBjb25zdAoreworICAgIHJldHVybiAhIW1fYmFja2VuZDsKK30KKworaW5saW5lIHZvaWQg
UlRDUnRwVHJhbnNmb3JtOjppbml0aWFsaXplQmFja2VuZEZvclNlbmRlcihSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kJikKK3sKK30KKworaW5saW5lIHZvaWQgUlRDUnRwVHJhbnNmb3JtOjppbml0aWFs
aXplQmFja2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKQoreworfQorCitp
bmxpbmUgdm9pZCBSVENSdHBUcmFuc2Zvcm06OndpbGxDbGVhckJhY2tlbmQoUlRDUnRwVHJhbnNm
b3JtQmFja2VuZCYpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBUcmFuc2Zvcm0uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNlNmUzMjgxMmJjNDNmZjFl
M2Y1ZmFiMTA1MTY2NmU0ZWM0MzM1YTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybS5pZGwKQEAgLTAsMCArMSwzNSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBD
b25kaXRpb25hbD1XRUJfUlRDLAorICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViUlRDSW5zZXJ0YWJs
ZVN0cmVhbXMsCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgRXhwb3NlZD1X
aW5kb3cKK10gaW50ZXJmYWNlIFJUQ1J0cFRyYW5zZm9ybSB7CisgICAgLy8gRklYTUU6IEFkZCBy
ZWFkYWJsZS93cml0YWJsZSBnZXR0ZXJzCisgICAgLy8gcmVhZG9ubHkgYXR0cmlidXRlIFJlYWRh
YmxlU3RyZWFtIHJlYWRhYmxlOworICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSBXcml0YWJsZVN0
cmVhbSB3cml0YWJsZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMjE0
OTIyMDFhZTY0NjM1Yjg4MjkzNTQ1NWU1YjhmMzczYmJjYTkKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
aApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAq
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNs
dWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU7CisKK2NsYXNzIFJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8UlRDUnRwVHJhbnNmb3JtQmFj
a2VuZCwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpbj4geworcHVibGljOgorICAgIHZpcnR1
YWwgflJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKSA9IGRlZmF1bHQ7CisKKyAgICB1c2luZyBDYWxs
YmFjayA9IEZ1bmN0aW9uPHZvaWQoUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lJiYpPjsKKyAgICB2
aXJ0dWFsIHZvaWQgc2V0VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJhY2smJikgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBjbGVhclRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCkgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzVHJhbnNmb3JtZWRGcmFtZShSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUmJikgPSAwOworCisgICAgZW51bSBjbGFzcyBNZWRpYVR5cGUgeyBBdWRpbywg
VmlkZW8gfTsKKyAgICB2aXJ0dWFsIE1lZGlhVHlwZSBtZWRpYVR5cGUoKSBjb25zdCA9IDA7CisK
KyAgICBlbnVtIGNsYXNzIFNpZGUgeyBTZW5kZXIsIFJlY2VpdmVyIH07CisgICAgdmlydHVhbCBT
aWRlIHNpZGUoKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU3MjYzNjAwN2VmYzI3NmMzOTU4YzJlNzJjMzlhMjEzYzlhZjk5OTAKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZS5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAg
QXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JU
QykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJh
bWUgeworcHVibGljOgorICAgIHZpcnR1YWwgflJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSgpID0g
ZGVmYXVsdDsKKworICAgIHN0cnVjdCBEYXRhIHsKKyAgICAgICAgY29uc3QgdWludDhfdCogZGF0
YTsKKyAgICAgICAgc2l6ZV90IHNpemU7CisgICAgfTsKKyAgICB2aXJ0dWFsIERhdGEgZGF0YSgp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RGF0YShEYXRhKSA9IDA7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwCmluZGV4IDFk
MzE2YWFmYjdmY2FkMzNlNDFjNTE2ZTUzYjA2OTg1OTg1NmNhZTAuLjlhODhkMWNkYzBlYmIwZGM3
OWIwNGNiNTFiMDRlZjZlYTBmM2U1OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmNwcApAQCAtMjUsNyArMjUsOSBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZC5oIgogCisjaW5j
bHVkZSAiTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCiAjaW5jbHVkZSAi
TGliV2ViUlRDVXRpbHMuaCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCiAj
aW5jbHVkZSAiUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmgiCiAjaW5jbHVkZSAiUmVhbHRp
bWVJbmNvbWluZ1ZpZGVvU291cmNlLmgiCiAKQEAgLTExNCw2ICsxMTYsMTAgQEAgUmVmPFJlYWx0
aW1lTWVkaWFTb3VyY2U+IExpYldlYlJUQ1J0cFJlY2VpdmVyQmFja2VuZDo6Y3JlYXRlU291cmNl
KCkKICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCitSZWY8UlRDUnRwVHJh
bnNmb3JtQmFja2VuZD4gTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kKCkKK3sKKyAgICByZXR1cm4gTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFu
c2Zvcm1CYWNrZW5kOjpjcmVhdGUobV9ydGNSZWNlaXZlcik7Cit9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJCYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tl
bmQuaAppbmRleCBkMDI4Nzk4YjBlNjljMTcxNDZiY2UxOGI3ZDliMDg0ZmUyNjllZTE4Li5iNDZj
ZDJhNjk4NGRlZDlkMTE5NDc1NTVkMjA1MTg3N2MxMDU4NzQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZl
ckJhY2tlbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuaApAQCAtNTIsNiArNTIsNyBAQCBwcml2
YXRlOgogICAgIFJUQ1J0cFBhcmFtZXRlcnMgZ2V0UGFyYW1ldGVycygpIGZpbmFsOwogICAgIFZl
Y3RvcjxSVENSdHBDb250cmlidXRpbmdTb3VyY2U+IGdldENvbnRyaWJ1dGluZ1NvdXJjZXMoKSBj
b25zdCBmaW5hbDsKICAgICBWZWN0b3I8UlRDUnRwU3luY2hyb25pemF0aW9uU291cmNlPiBnZXRT
eW5jaHJvbml6YXRpb25Tb3VyY2VzKCkgY29uc3QgZmluYWw7CisgICAgUmVmPFJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQ+IGNyZWF0ZVJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoKSBmaW5hbDsKIAogICAg
IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiBtX3J0Y1Jl
Y2VpdmVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBS
ZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxZTU5NDE5YWI3MWYwOWVk
MDc2NWFlMTQ1YWNiMmJhMTVkM2RjNTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5z
Zm9ybUJhY2tlbmQuY3BwCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkxpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oIgorCisjaWYgRU5BQkxFKFdF
Ql9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgaW5saW5lIExp
YldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlIG1lZGlhVHlwZUZy
b21SZWNlaXZlcihjb25zdCB3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlJiByZWNlaXZlcikK
K3sKKyAgICByZXR1cm4gcmVjZWl2ZXIubWVkaWFfdHlwZSgpID09IGNyaWNrZXQ6Ok1FRElBX1RZ
UEVfQVVESU8gPyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OkF1ZGlvIDogUlRD
UnRwVHJhbnNmb3JtQmFja2VuZDo6TWVkaWFUeXBlOjpWaWRlbzsKK30KKworTGliV2ViUlRDUnRw
UmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJh
Y2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwUmVjZWl2ZXJJbnRlcmZhY2U+IHJ0
Y1JlY2VpdmVyKQorICAgIDogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZChtZWRpYVR5cGVG
cm9tUmVjZWl2ZXIoKnJ0Y1JlY2VpdmVyKSwgU2lkZTo6UmVjZWl2ZXIpCisgICAgLCBtX3J0Y1Jl
Y2VpdmVyKFdURk1vdmUocnRjUmVjZWl2ZXIpKQoreworfQorCitMaWJXZWJSVENSdHBSZWNlaXZl
clRyYW5zZm9ybUJhY2tlbmQ6On5MaWJXZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQo
KQoreworfQorCit2b2lkIExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZDo6c2V0
VHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBz
ZXRJbnB1dENhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICBtX3J0Y1JlY2VpdmVyLT5T
ZXREZXBhY2tldGl6ZXJUb0RlY29kZXJGcmFtZVRyYW5zZm9ybWVyKHRoaXMpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2
ZXJUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFlOTdmZDAxMGQ1NGQ5YmM3YmIxYjAw
MGUzZjE3OThjNTYwM2YzYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFj
a2VuZC5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUg
SW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYg
VVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
aCIKKworQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0JFR0lOCisKKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3J0cF9yZWNlaXZlcl9pbnRl
cmZhY2UuaD4KKworQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECitBTExPV19VTlVT
RURfUEFSQU1FVEVSU19FTkQKKworbmFtZXNwYWNlIHdlYnJ0YyB7CitjbGFzcyBSdHBSZWNlaXZl
ckludGVyZmFjZTsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBMaWJXZWJSVENS
dHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQgZmluYWwgOiBwdWJsaWMgTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxMaWJXZWJSVENSdHBSZWNl
aXZlclRyYW5zZm9ybUJhY2tlbmQ+IGNyZWF0ZShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpS
dHBSZWNlaXZlckludGVyZmFjZT4gcmVjZWl2ZXIpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTGli
V2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKFdURk1vdmUocmVjZWl2ZXIpKSk7IH0K
KyAgICB+TGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKCk7CisKK3ByaXZhdGU6
CisgICAgZXhwbGljaXQgTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kKHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFJlY2VpdmVySW50ZXJmYWNlPik7CisKKyAgICAvLyBS
VENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBzZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxs
YmFjayhDYWxsYmFjayYmKSBmaW5hbDsKKworICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlJ0cFJlY2VpdmVySW50ZXJmYWNlPiBtX3J0Y1JlY2VpdmVyOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwCmluZGV4
IDU5M2RhOTg0ZTk3OGI5ZmU3MDUxOGEzZTM5MjRlYzUyNTFlZmEyYWMuLjhlOTYxYzk3MmZiMGRl
NDhkNzVhMGM0YWU5ZjNjYmQxYTkyMmM5YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwCkBAIC0zMCw5ICszMCwxMSBAQAogI2luY2x1ZGUgIkpT
RE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDRFRNRlNlbmRlckJhY2tl
bmQuaCIKICNpbmNsdWRlICJMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCIKKyNpbmNs
dWRlICJMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmgiCiAjaW5jbHVkZSAiTGli
V2ViUlRDVXRpbHMuaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUg
IlJUQ1J0cFNlbmRlci5oIgorI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKICNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTEzNiw2ICsxMzgsMTEgQEAgc3RkOjp1bmlxdWVfcHRyPFJUQ0RUTUZTZW5kZXJCYWNrZW5k
PiBMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5kOjpjcmVhdGVEVE1GQmFja2UKICAgICByZXR1cm4g
bWFrZVVuaXF1ZTxMaWJXZWJSVENEVE1GU2VuZGVyQmFja2VuZD4obV9ydGNTZW5kZXItPkdldER0
bWZTZW5kZXIoKSk7CiB9CiAKK1JlZjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBMaWJXZWJSVENS
dHBTZW5kZXJCYWNrZW5kOjpjcmVhdGVSVENSdHBUcmFuc2Zvcm1CYWNrZW5kKCkKK3sKKyAgICBy
ZXR1cm4gTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZDo6Y3JlYXRlKG1fcnRjU2Vu
ZGVyKTsKK30KKwogUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlKiBMaWJXZWJSVENSdHBTZW5k
ZXJCYWNrZW5kOjp2aWRlb1NvdXJjZSgpCiB7CiAgICAgcmV0dXJuIHN3aXRjaE9uKG1fc291cmNl
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyQmFja2VuZC5oCmluZGV4IGEx
MDQxNmQxNDA5ZmFlODAyNmRmZjRlYjU5MjU1ZDg1OTVmNzIyODIuLmQ1NmEwNTZlMzYyYjRkNjM0
OTExNjNjMTJiYmM4ZGJjY2YyOTQ3MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBTZW5kZXJCYWNrZW5kLmgKQEAgLTcwLDYgKzcwLDcgQEAgcHJpdmF0ZToKICAgICBSVENSdHBT
ZW5kUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzZXRQ
YXJhbWV0ZXJzKGNvbnN0IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzJiwgRE9NUHJvbWlzZURlZmVycmVk
PHZvaWQ+JiYpIGZpbmFsOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSVENEVE1GU2VuZGVyQmFja2Vu
ZD4gY3JlYXRlRFRNRkJhY2tlbmQoKSBmaW5hbDsKKyAgICBSZWY8UlRDUnRwVHJhbnNmb3JtQmFj
a2VuZD4gY3JlYXRlUlRDUnRwVHJhbnNmb3JtQmFja2VuZCgpIGZpbmFsOwogCiAgICAgdm9pZCBz
dGFydFNvdXJjZSgpOwogICAgIHZvaWQgc3RvcFNvdXJjZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVy
VHJhbnNmb3JtQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45YWY0MzlkY2ZlOGMwNzI3YTYwMjI0OGIwYzllNGY5OTM1Y2I1OGExCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHAKQEAgLTAsMCArMSw1OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5o
IgorCisjaWYgRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJM
aWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitzdGF0aWMgaW5saW5lIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlh
VHlwZSBtZWRpYVR5cGVGcm9tU2VuZGVyKGNvbnN0IHdlYnJ0Yzo6UnRwU2VuZGVySW50ZXJmYWNl
JiBzZW5kZXIpCit7CisgICAgcmV0dXJuIHNlbmRlci5tZWRpYV90eXBlKCkgPT0gY3JpY2tldDo6
TUVESUFfVFlQRV9BVURJTyA/IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6QXVk
aW8gOiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpNZWRpYVR5cGU6OlZpZGVvOworfQorCitMaWJX
ZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zv
cm1CYWNrZW5kKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4g
cnRjU2VuZGVyKQorICAgIDogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZChtZWRpYVR5cGVG
cm9tU2VuZGVyKCpydGNTZW5kZXIpLCBTaWRlOjpTZW5kZXIpCisgICAgLCBtX3J0Y1NlbmRlcihX
VEZNb3ZlKHJ0Y1NlbmRlcikpCit7Cit9CisKK0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJh
Y2tlbmQ6On5MaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kKCkKK3sKK30KKwordm9p
ZCBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kOjpzZXRUcmFuc2Zvcm1hYmxlRnJh
bWVDYWxsYmFjayhDYWxsYmFjayYmIGNhbGxiYWNrKQoreworICAgIHNldElucHV0Q2FsbGJhY2so
V1RGTW92ZShjYWxsYmFjaykpOworICAgIG1fcnRjU2VuZGVyLT5TZXRFbmNvZGVyVG9QYWNrZXRp
emVyRnJhbWVUcmFuc2Zvcm1lcih0aGlzKTsKK30KKworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNjYwOWI3ZDFkZjlhOTcwYTdhYTU4ODRjMGUxNTM2NDJjODQ2YzJhCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5oCkBAIC0wLDAgKzEsNjQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKKworI2luY2x1
ZGUgIkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCIKKworQUxMT1dfVU5VU0VEX1BBUkFN
RVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCisKKyNpbmNs
dWRlIDx3ZWJydGMvYXBpL3J0cF9zZW5kZXJfaW50ZXJmYWNlLmg+CisKK0FMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0VORAorQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECisKK25hbWVz
cGFjZSB3ZWJydGMgeworY2xhc3MgUnRwU2VuZGVySW50ZXJmYWNlOworfQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1NlbmRlclRyYW5zZm9ybWVyOworCitjbGFzcyBM
aWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kIGZpbmFsIDogcHVibGljIExpYldlYlJU
Q1J0cFRyYW5zZm9ybUJhY2tlbmQgeworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZD4g
Y3JlYXRlKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4gc2Vu
ZGVyKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJh
Y2tlbmQoV1RGTW92ZShzZW5kZXIpKSk7IH0KKyAgICB+TGliV2ViUlRDUnRwU2VuZGVyVHJhbnNm
b3JtQmFja2VuZCgpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IExpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UnRwU2VuZGVySW50
ZXJmYWNlPik7CisKKyAgICAvLyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBzZXRU
cmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFjayhDYWxsYmFjayYmKSBmaW5hbDsKKworICAgIHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlJ0cFNlbmRlckludGVyZmFjZT4gbV9ydGNTZW5kZXI7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykg
JiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE2MmQzMGQxZmRkMzAyYTNiNWMzZWRiMzhk
Y2NiOWVlZTEzMzEwNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwCkBA
IC0wLDAgKzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuaCIKKworI2lmIEVOQUJMRShXRUJfUlRDKSAmJiBVU0UoTElCV0VCUlRDKQor
CisjaW5jbHVkZSAiTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKwordm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpzZXRJbnB1
dENhbGxiYWNrKENhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKKyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1faW5wdXRDYWxsYmFja0xvY2spOwor
ICAgIG1faW5wdXRDYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spOworfQorCit2b2lkIExpYldl
YlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2so
KQoreworICAgIHNldElucHV0Q2FsbGJhY2soeyB9KTsKK30KKwordm9pZCBMaWJXZWJSVENSdHBU
cmFuc2Zvcm1CYWNrZW5kOjpzZXRPdXRwdXRDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2Vi
cnRjOjpUcmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2s+JiYgY2FsbGJhY2spCit7CisgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX291dHB1dENhbGxiYWNrTG9jayk7CisgICAgbV9vdXRwdXRDYWxs
YmFjayA9IFdURk1vdmUoY2FsbGJhY2spOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9y
bUJhY2tlbmQ6OnByb2Nlc3NUcmFuc2Zvcm1lZEZyYW1lKFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZSYmIGZyYW1lKQoreworICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9vdXRwdXRDYWxsYmFj
a0xvY2spOworICAgIGlmIChtX291dHB1dENhbGxiYWNrKQorICAgICAgICBtX291dHB1dENhbGxi
YWNrLT5PblRyYW5zZm9ybWVkRnJhbWUoTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjp0
b1JUQ0ZyYW1lKFdURk1vdmUoc3RhdGljX2Nhc3Q8TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZy
YW1lJj4oZnJhbWUpKSkpOworfQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6
OlRyYW5zZm9ybShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRl
cmZhY2U+IHJ0Y0ZyYW1lKQoreworICAgIHsKKyAgICAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9j
ayhtX2lucHV0Q2FsbGJhY2tMb2NrKTsKKyAgICAgICAgaWYgKG1faW5wdXRDYWxsYmFjaykgewor
ICAgICAgICAgICAgbV9pbnB1dENhbGxiYWNrKExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZShXVEZNb3ZlKHJ0Y0ZyYW1lKSkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgfQorICAgIC8vIEluIGNhc2Ugb2Ygbm8gaW5wdXQgY2FsbGJhY2ssIG1ha2UgdGhlIHRyYW5z
Zm9ybSBhIG5vLW9wLgorICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2sobV9vdXRwdXRDYWxsYmFj
a0xvY2spOworICAgIGlmIChtX291dHB1dENhbGxiYWNrKQorICAgICAgICBtX291dHB1dENhbGxi
YWNrLT5PblRyYW5zZm9ybWVkRnJhbWUoV1RGTW92ZShydGNGcmFtZSkpOworfQorCit2b2lkIExp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxi
YWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4g
Y2FsbGJhY2spCit7CisgICAgc2V0T3V0cHV0Q2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpOwor
fQorCit2b2lkIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OlJlZ2lzdGVyVHJhbnNmb3Jt
ZWRGcmFtZVNpbmtDYWxsYmFjayhydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpUcmFuc2Zvcm1l
ZEZyYW1lQ2FsbGJhY2s+IGNhbGxiYWNrLCB1aW50MzJfdCAvKiBzc3JjICovKQoreworICAgIFJl
Z2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKTsKK30KKwor
dm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZUNhbGxiYWNrKCkKK3sKKyAgICBzZXRPdXRwdXRDYWxsYmFjayhudWxscHRyKTsKK30KKwor
dm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpVbnJlZ2lzdGVyVHJhbnNmb3JtZWRG
cmFtZVNpbmtDYWxsYmFjayh1aW50MzJfdCAvKiBzc3JjICovKQoreworICAgIFVucmVnaXN0ZXJU
cmFuc2Zvcm1lZEZyYW1lQ2FsbGJhY2soKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENS
dHBUcmFuc2Zvcm1CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE1
OGM2NGJiNjExNDBjNGUyY2ViNDdhMTcwMzQwOTVmNmI0ZTk5MAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQuaApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIwIEFwcGxlIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENNYWNyb3Mu
aCIKKyNpbmNsdWRlICJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgiCisjaW5jbHVkZSA8d2VicnRj
L2FwaS9zY29wZWRfcmVmcHRyLmg+CisjaW5jbHVkZSA8d3RmL0xvY2suaD4KKworQUxMT1dfVU5V
U0VEX1BBUkFNRVRFUlNfQkVHSU4KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lO
CisKKyNpbmNsdWRlIDx3ZWJydGMvYXBpL2ZyYW1lX3RyYW5zZm9ybWVyX2ludGVyZmFjZS5oPgor
CitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKK0FMTE9XX1VOVVNFRF9QQVJBTUVU
RVJTX0VORAorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQgOiBwdWJsaWMgUlRDUnRwVHJhbnNmb3JtQmFja2VuZCwgcHVibGljIHdlYnJ0
Yzo6RnJhbWVUcmFuc2Zvcm1lckludGVyZmFjZSB7Citwcm90ZWN0ZWQ6CisgICAgTGliV2ViUlRD
UnRwVHJhbnNmb3JtQmFja2VuZChNZWRpYVR5cGUsIFNpZGUpOworICAgIHZvaWQgc2V0SW5wdXRD
YWxsYmFjayhDYWxsYmFjayYmKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHNldE91dHB1dENhbGxi
YWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4m
Jik7CisKKyAgICAvLyBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kCisgICAgdm9pZCBwcm9jZXNzVHJh
bnNmb3JtZWRGcmFtZShSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUmJikgZmluYWw7CisgICAgdm9p
ZCBjbGVhclRyYW5zZm9ybWFibGVGcmFtZUNhbGxiYWNrKCkgZmluYWw7CisgICAgTWVkaWFUeXBl
IG1lZGlhVHlwZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fbWVkaWFUeXBlOyB9CisgICAgU2lk
ZSBzaWRlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zaWRlOyB9CisKKyAgICAvLyB3ZWJydGM6
OkZyYW1lVHJhbnNmb3JtZXJJbnRlcmZhY2UKKyAgICB2b2lkIFRyYW5zZm9ybShzdGQ6OnVuaXF1
ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+KSBmaW5hbDsKKyAgICB2
b2lkIFJlZ2lzdGVyVHJhbnNmb3JtZWRGcmFtZUNhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3
ZWJydGM6OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4pIGZpbmFsOworICAgIHZvaWQgUmVnaXN0
ZXJUcmFuc2Zvcm1lZEZyYW1lU2lua0NhbGxiYWNrKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6
OlRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaz4sIHVpbnQzMl90IHNzcmMpIGZpbmFsOworICAgIHZv
aWQgVW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVDYWxsYmFjaygpIGZpbmFsOworICAgIHZvaWQg
VW5yZWdpc3RlclRyYW5zZm9ybWVkRnJhbWVTaW5rQ2FsbGJhY2sodWludDMyX3Qgc3NyYykgZmlu
YWw7CisgICAgdm9pZCBBZGRSZWYoKSBjb25zdCBmaW5hbCB7IHJlZigpOyB9CisgICAgcnRjOjpS
ZWZDb3VudFJlbGVhc2VTdGF0dXMgUmVsZWFzZSgpIGNvbnN0IGZpbmFsOworCisgICAgTWVkaWFU
eXBlIG1fbWVkaWFUeXBlOworICAgIFNpZGUgbV9zaWRlOworCisgICAgTG9jayBtX2lucHV0Q2Fs
bGJhY2tMb2NrOworICAgIENhbGxiYWNrIG1faW5wdXRDYWxsYmFjazsKKworICAgIExvY2sgbV9v
dXRwdXRDYWxsYmFja0xvY2s7CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6VHJhbnNm
b3JtZWRGcmFtZUNhbGxiYWNrPiBtX291dHB1dENhbGxiYWNrOworfTsKKworaW5saW5lIExpYldl
YlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQoTWVk
aWFUeXBlIG1lZGlhVHlwZSwgU2lkZSBzaWRlKQorICAgIDogbV9tZWRpYVR5cGUobWVkaWFUeXBl
KQorICAgICwgbV9zaWRlKHNpZGUpCit7Cit9CisKK2lubGluZSBydGM6OlJlZkNvdW50UmVsZWFz
ZVN0YXR1cyBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpSZWxlYXNlKCkgY29uc3QKK3sK
KyAgICBkZXJlZigpOworICAgIHJldHVybiBydGM6OlJlZkNvdW50UmVsZWFzZVN0YXR1czo6a090
aGVyUmVmc1JlbWFpbmVkOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX1JUQykgJiYgVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI4NjMyYzZl
MTdiMTFmZjc4Y2UyMzUxMTk3ZmZhMGUzYTQ3ZjE0ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZS5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
X1JUQykKKworI2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSBmaW5h
bCA6IHB1YmxpYyBSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUgeworICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOworcHVibGljOgorICAgIGV4cGxpY2l0IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFi
bGVGcmFtZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZh
Y2U+JiYpOworICAgIHZpcnR1YWwgfkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSgpID0g
ZGVmYXVsdDsKKworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1h
YmxlRnJhbWVJbnRlcmZhY2U+IHRvUlRDRnJhbWUoTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZy
YW1lJiYpOworCitwcml2YXRlOgorICAgIERhdGEgZGF0YSgpIGNvbnN0IGZpbmFsOworICAgIHZv
aWQgc2V0RGF0YShEYXRhIGRhdGEpIGZpbmFsIHsgbV9ydGNGcmFtZS0+U2V0RGF0YSh7IGRhdGEu
ZGF0YSwgZGF0YS5zaXplIH0pOyB9CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFu
c2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+IG1fcnRjRnJhbWU7Cit9OworCitpbmxpbmUgTGliV2Vi
UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUo
c3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiYmIGZy
YW1lKQorICAgIDogbV9ydGNGcmFtZShXVEZNb3ZlKGZyYW1lKSkKK3sKK30KKworaW5saW5lIHN0
ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4gTGliV2Vi
UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjp0b1JUQ0ZyYW1lKExpYldlYlJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZSYmIGZyYW1lKQoreworICAgIHJldHVybiBXVEZNb3ZlKGZyYW1lLm1fcnRjRnJh
bWUpOworfQorCitpbmxpbmUgUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpEYXRhIExpYldlYlJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6ZGF0YSgpIGNvbnN0Cit7CisgICAgYXV0byBkYXRhID0g
bV9ydGNGcmFtZS0+R2V0RGF0YSgpOworICAgIHJldHVybiB7IGRhdGEuYmVnaW4oKSwgZGF0YS5z
aXplKCkgfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGY5NWFmZjY3Yzk0NTYzNDI2MmFjMzlhMWIzOWM4
MDQxNzk0YzQ2ZGIuLjY0YTVkNWQ0ZDQ3MDY0NjkzYzA1ZmY4NzIxZWM1ZTM3YjA1Mzk1NjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0CkBAIC0xNjQsMTIgKzE2NCwxNiBAQCBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1BlZXJDb25uZWN0aW9uLmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlv
bkljZUV2ZW50LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAKIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcAorTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBUcmFuc2Zvcm0uY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zY2VpdmVy
LmNwcAogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCiBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYUNvbnRyb2xsZXIuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuY3BwCiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENDZXJ0aWZpY2F0
ZUdlbmVyYXRvci5jcHAKK01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFJlY2VpdmVyVHJhbnNmb3JtQmFja2VuZC5jcHAKK01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwCitNb2R1bGVzL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcAogTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb25Db250cm9sbGVyLmNwcAogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5jcHAKQEAgLTMzMjAsNiArMzMyNCw3IEBAIEpTUlRDUnRwU2VuZGVy
LmNwcAogSlNSVENSdHBTeW5jaHJvbml6YXRpb25Tb3VyY2UuY3BwCiBKU1JUQ1J0cFRyYW5zY2Vp
dmVyLmNwcAogSlNSVENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5jcHAKK0pTUlRDUnRwVHJhbnNm
b3JtLmNwcAogSlNSVENTZHBUeXBlLmNwcAogSlNSVENTZXNzaW9uRGVzY3JpcHRpb24uY3BwCiBK
U1JUQ1Nlc3Npb25EZXNjcmlwdGlvbkluaXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmI4MjQ4NmZiOTRlNjVjNzk1YTY3
Nzc2NmFkZjEzNDE4ZjlmZTczZi4uYzk4ZDE2YTkxYjhjMWNkMDRmNzBhZGNlZTZmZGRmZWE0ZDkx
NGQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTA0Nyw2ICsxMDQ3LDkgQEAKIAkJNDEzOEY4NTgxRDI1M0YwRTAwMUNCNjFF
IC8qIEpTRE9NSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMzhGODU2MUQyNTNFRUUwMDFDQjYxRSAvKiBKU0RPTUl0ZXJhdG9yLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEzQTFBQTIy
MzcxQThCNDAwN0VGM0E1IC8qIEpTRE9NU2V0TGlrZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQTFBOUYyMzcxQThBODAwN0VGM0E1IC8qIEpTRE9N
U2V0TGlrZS5oICovOyB9OwogCQk0MTNDMkMzNDFCQzI5QThGMDA3NTIwNEMgLyogSlNET01Db25z
dHJ1Y3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDEzQzJDMzMxQkMyOUE3QjAwNzUyMDRDIC8qIEpTRE9NQ29uc3RydWN0b3IuaCAqLzsgfTsKKwkJ
NDEzQzhCMzMyNTUyRjI3RDAwRTY1MDU1IC8qIFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zvcm0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0M4QjJFMjU1
MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmggKi87IH07CisJCTQx
M0M4QjM0MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0M4QjJGMjU1MkYyN0IwMEU2NTA1
NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCAqLzsgfTsKKwkJNDEzQzhCMzUyNTUyRjI3RDAwRTY1MDU1
IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzQzhCMzAyNTUyRjI3QzAwRTY1MDU1IC8qIFJUQ1J0
cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oICovOyB9OwogCQk0MTNDQ0Q0QTIwREUwMzRGMDA2NUEy
MUEgLyogTW9ja01lZGlhRGV2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTNDQ0Q0ODIwREUwMTNDMDA2NUEyMUEgLyogTW9ja01lZGlhRGV2aWNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEz
RTAwNzkxREIwRTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxM0UwMDc4MURCMEU0REUwMDIzNDFEMiAv
KiBNZW1vcnlSZWxlYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNDE0NDYwQTIyNDEyOTk0NTAwODE0QkU3IC8qIE1lZGlhU2Vzc2lvbklkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
NDQ2MEEwMjQxMjk5NDEwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVudGlmaWVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwOTksNiArMTEw
MiwxMyBAQAogCQk0MTdGN0FFRjIxMzlCRjZGMDBGQkE3RUMgLyogTWVkaWFTZXNzaW9uTWFuYWdl
ckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTdGN0FFRDIxMzlCRjY1MDBGQkE3RUMgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4MTVDMUUx
MzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMxQzEzODMxOTgzMDA1N0FBQTQg
LyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLzsgfTsKIAkJNDE4MTVDMUYxMzgzMTk4MzAwNTdB
QUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE4MTVDMUQxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0
U3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTQxODFDNUM5MjU1NTczREYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVDODI1
NTU3M0RGMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oICovOyB9OworCQk0MTgx
QzVDQjI1NTU4MkU0MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVDQTI1NTU4MkUz
MDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi87IH07CisJCTQxODFDNUNE
MjU1NTgzNjkwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUNDMjU1NTgz
NjgwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLzsgfTsKKwkJ
NDE4MUM1RDEyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODFDNUNG
MjU1NTg5NTYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggKi87IH07
CisJCTQxODFDNUQ2MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVENTI1NTVD
MUI5MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oICovOyB9OworCQk0MTgxQzVENzI1
NTVDNDlBMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxQzVEMzI1NTVDMUIxMDBBRUIwRkYg
LyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi87IH07CisJCTQxODFDNjM5MjU1QUU5MEYwMEFF
QjBGRiAvKiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkU0IC8qIEpTTW9j
a1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi87IH07CiAJCTQxODIwNTQ3MUU1M0U5OEMwMEQ2MjIwNyAv
KiBSVENDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTgyMDU0NTFFNTNDOENEMDBENjIyMDcgLyogUlRDQ29udHJvbGxlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxODI2QkYyMjNG
QjU5NzcwMEI5MjJCMSAvKiBEb2N1bWVudElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODI2QkYxMjNGQjU5NzAwMEI5MjJCMSAvKiBE
b2N1bWVudElkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MTg0RjUxNjFFQUYwNUE4MDBGMThCRjAgLyogT3JpZW50YXRpb25Ob3Rp
Zmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4
NEY1MTUxRUFGMDU5ODAwRjE4QkYwIC8qIE9yaWVudGF0aW9uTm90aWZpZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzAzMyw2ICs3MDQzLDcg
QEAKIAkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkQ0IC8qIEpTTW9ja1BhZ2VPdmVybGF5LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9ja1BhZ2VPdmVybGF5LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkQ1
IC8qIEpTSW50ZXJuYWxzU2V0TGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0ludGVybmFsc1NldExpa2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRDZGM0U5MjFDMUY4NTU1MDA2MURCRDYgLyogSlNJbnRlcm5hbHNNYXBMaWtlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW50ZXJuYWxzTWFwTGlrZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJENkYzRTkyMUMxRjg1NTUwMDYxREJF
NCAvKiBKU01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMkQ2RjNFOTMxQzFGODU1NTAwNjFEQkQ0IC8qIEpTTW9ja1BhZ2VPdmVybGF5
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTW9ja1BhZ2VPdmVybGF5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJENzBCQTEyMTgwNzREREYwMDAxOTA4QSAv
KiBQbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RDcwQkExNDE4MDc0Rjg1MDAwMTkwOEEgLyogUGxhdGZvcm1DQUxheWVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NTYyLDYgKzc1NzMsMTIgQEAKIAkJNDEzQTFBOUYyMzcx
QThBODAwN0VGM0E1IC8qIEpTRE9NU2V0TGlrZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVNldExp
a2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzQTFBQTEyMzcxQThBOTAwN0VG
M0E1IC8qIEpTRE9NU2V0TGlrZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVNldExpa2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTNDMkMzMzFCQzI5QTdCMDA3NTIw
NEMgLyogSlNET01Db25zdHJ1Y3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0RPTUNvbnN0cnVjdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0M4
QjI0MjU1MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9ICJSVENSdHBSZWNlaXZlcitUcmFuc2Zvcm0uaWRsIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMjYyNTUyRUVBOTAwRTY1MDU1IC8qIFJUQ1J0
cFNlbmRlcitUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJSVENSdHBTZW5k
ZXIrVHJhbnNmb3JtLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxM0M4QjI5
MjU1MkYwMTMwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFJUQ1J0cFRyYW5zZm9ybS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxM0M4QjJFMjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBTZW5kZXJXaXRoVHJhbnNmb3JtLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFNlbmRlcldpdGhUcmFuc2Zv
cm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhCMkYyNTUyRjI3QjAwRTY1
MDU1IC8qIFJUQ1J0cFRyYW5zZm9ybS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSVENSdHBUcmFuc2Zvcm0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzQzhC
MzAyNTUyRjI3QzAwRTY1MDU1IC8qIFJUQ1J0cFJlY2VpdmVyV2l0aFRyYW5zZm9ybS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENSdHBSZWNlaXZlcldpdGhUcmFuc2Zvcm0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzQ0NENDgyMERFMDEzQzAwNjVBMjFB
IC8qIE1vY2tNZWRpYURldmljZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
b2NrTWVkaWFEZXZpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzRTAwNzcx
REIwRTRERTAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5UmVsZWFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxM0UwMDc4MURCMEU0REUwMDIzNDFEMiAvKiBNZW1vcnlSZWxlYXNlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVJlbGVhc2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc2NzIsNiArNzY4OSwxOSBAQAogCQk0MTgxNUMxQzEzODMx
OTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1
cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBw
b3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODE3MDdEMTM4NkVERjIwMDU3
QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29u
ZmlnOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MTgxQzVCRTI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwU2Vu
ZGVyVHJhbnNmb3JtQmFja2VuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENSdHBTZW5kZXJU
cmFuc2Zvcm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJh
bnNmb3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDMDI1
NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IExpYldlYlJUQ1J0cFJlY2VpdmVyVHJhbnNmb3JtQmFja2Vu
ZC5jcHA7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNr
ZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzEyNTUzRUI2RTAw
QUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRlclRyYW5zZm9ybUJhY2tlbmQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBuYW1lID0gTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHA7IHBhdGgg
PSBsaWJ3ZWJydGMvTGliV2ViUlRDUnRwU2VuZGVyVHJhbnNmb3JtQmFja2VuZC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODFDNUMyMjU1M0VCNkYwMEFFQjBGRiAvKiBMaWJX
ZWJSVENSdHBSZWNlaXZlclRyYW5zZm9ybUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2Vi
UlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHBhdGggPSBsaWJ3ZWJydGMvTGliV2Vi
UlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxODFDNUM2MjU1NTczNTEwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm0uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUlRDUnRwVHJhbnNmb3JtLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1QzgyNTU1NzNERjAwQUVCMEZGIC8q
IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MTgxQzVDQTI1NTU4MkUzMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxQzVDQzI1NTU4MzY4MDBBRUIw
RkYgLyogTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oOyBwYXRoID0g
bGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0MTgxQzVDRTI1NTU4OTU1MDBBRUIwRkYgLyogTGliV2ViUlRDUnRw
VHJhbnNmb3JtQmFja2VuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgcGF0aCA9IGxpYndlYnJ0Yy9MaWJX
ZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDE4MUM1Q0YyNTU1ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5oOyBwYXRoID0gbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tl
bmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM1RDMyNTU1QzFCMTAwQUVC
MEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxODFDNUQ1MjU1NUMxQjkwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3Jt
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tSVENSdHBUcmFuc2Zvcm0u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MUM2MzYyNTVBRTI2MTAwQUVCMEZG
IC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1vY2tSVENSdHBUcmFuc2Zvcm0uaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTgyMDU0NTFFNTNDOENEMDBENjIyMDcg
LyogUlRDQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVEND
b250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODIwNTQ4MUU1M0VB
QUQwMEQ2MjIwNyAvKiBSVENDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJUQ0NvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MTgyNkJGMTIzRkI1OTcwMDBCOTIyQjEgLyogRG9jdW1lbnRJZGVudGlmaWVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERvY3VtZW50SWRlbnRpZmllci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcwNDMsMTYgKzE3MDczLDIwIEBACiAJCQkJNDFF
NTk0MDAyMTQ4NjVBQTAwRDNDQjYxIC8qIFJUQ1J0cEhlYWRlckV4dGVuc2lvblBhcmFtZXRlcnMu
aWRsICovLAogCQkJCTQxQTQ4QUE4MUU4NEFGMUQwMEQyQUMyRCAvKiBSVENSdHBQYXJhbWV0ZXJz
LmggKi8sCiAJCQkJNDFBNDhBQTcxRTg0QUVFQzAwRDJBQzJEIC8qIFJUQ1J0cFBhcmFtZXRlcnMu
aWRsICovLAorCQkJCTQxM0M4QjI0MjU1MkVFQTkwMEU2NTA1NSAvKiBSVENSdHBSZWNlaXZlcitU
cmFuc2Zvcm0uaWRsICovLAogCQkJCTVFMkM0MzU2MUJDRUUzMEQwMDAxRTJCQyAvKiBSVENSdHBS
ZWNlaXZlci5jcHAgKi8sCiAJCQkJNUUyQzQzNTcxQkNFRTMwRDAwMDFFMkJDIC8qIFJUQ1J0cFJl
Y2VpdmVyLmggKi8sCiAJCQkJNUUyQzQzNTgxQkNFRTMwRDAwMDFFMkJDIC8qIFJUQ1J0cFJlY2Vp
dmVyLmlkbCAqLywKIAkJCQk0MUQxQTA0ODIxM0VEREVCMDA2M0ZCNkIgLyogUlRDUnRwUmVjZWl2
ZXJCYWNrZW5kLmggKi8sCisJCQkJNDEzQzhCMzAyNTUyRjI3QzAwRTY1MDU1IC8qIFJUQ1J0cFJl
Y2VpdmVyV2l0aFRyYW5zZm9ybS5oICovLAogCQkJCTQxRkNCNzYwMjE0ODY3MDAwMDM4QURDNiAv
KiBSVENSdHBSdHhQYXJhbWV0ZXJzLmggKi8sCiAJCQkJNDFGQ0I3NTgyMTQ4NjVEMjAwMzhBREM2
IC8qIFJUQ1J0cFJ0eFBhcmFtZXRlcnMuaWRsICovLAorCQkJCTQxM0M4QjI2MjU1MkVFQTkwMEU2
NTA1NSAvKiBSVENSdHBTZW5kZXIrVHJhbnNmb3JtLmlkbCAqLywKIAkJCQk1RTJDNDM1OTFCQ0VF
MzBEMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmNwcCAqLywKIAkJCQk1RTJDNDM1QTFCQ0VFMzBE
MDAwMUUyQkMgLyogUlRDUnRwU2VuZGVyLmggKi8sCiAJCQkJNUUyQzQzNUIxQkNFRTMwRDAwMDFF
MkJDIC8qIFJUQ1J0cFNlbmRlci5pZGwgKi8sCiAJCQkJNDFEMUEwNDYyMTNFRERFQjAwNjNGQjZC
IC8qIFJUQ1J0cFNlbmRlckJhY2tlbmQuaCAqLywKKwkJCQk0MTNDOEIyRTI1NTJGMjdCMDBFNjUw
NTUgLyogUlRDUnRwU2VuZGVyV2l0aFRyYW5zZm9ybS5oICovLAogCQkJCTQxNEFEM0ZDMjE0OTg0
MjAwMDUyMTY3NiAvKiBSVENSdHBTZW5kUGFyYW1ldGVycy5oICovLAogCQkJCTQxNEFEM0ZFMjE0
OTg0MjAwMDUyMTY3NiAvKiBSVENSdHBTZW5kUGFyYW1ldGVycy5pZGwgKi8sCiAJCQkJNDE1RTFC
QjYyMTUwMTUyQTAwMjJEQTk2IC8qIFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZS5oICovLApA
QCAtMTcwNjIsNiArMTcwOTYsMTEgQEAKIAkJCQk1RTVFMkIxMjFDRkMzRTRCMDAwQzBEODUgLyog
UlRDUnRwVHJhbnNjZWl2ZXIuaWRsICovLAogCQkJCTQxODZCRDQ2MjE0MDcyQjYwMDAxODI2RiAv
KiBSVENSdHBUcmFuc2NlaXZlckJhY2tlbmQuaCAqLywKIAkJCQkzMTZEQ0IxNzFFNzhDMzMwMDAx
QjVGODcgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaWRsICovLAorCQkJCTQxODFDNUM2
MjU1NTczNTEwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm0uY3BwICovLAorCQkJCTQxM0M4QjJG
MjU1MkYyN0IwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zvcm0uaCAqLywKKwkJCQk0MTNDOEIyOTI1
NTJGMDEzMDBFNjUwNTUgLyogUlRDUnRwVHJhbnNmb3JtLmlkbCAqLywKKwkJCQk0MTgxQzVDQTI1
NTU4MkUzMDBBRUIwRkYgLyogUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmggKi8sCisJCQkJNDE4
MUM1QzgyNTU1NzNERjAwQUVCMEZGIC8qIFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLywKIAkJ
CQk0MTBGNTY1ODI0RkNGODU0MDBBMkU1MEMgLyogUlRDU2RwVHlwZS5pZGwgKi8sCiAJCQkJMDcy
MjFCN0ExN0NFQzMyNzAwODQ4RTUxIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5jcHAgKi8sCiAJ
CQkJMDcyMjFCN0IxN0NFQzMyNzAwODQ4RTUxIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5oICov
LApAQCAtMTkxMjQsMTAgKzE5MTYzLDE3IEBACiAJCQkJNDE3NjEyQUUxRTNBOTkzQjAwQzNEODFE
IC8qIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5oICovLAogCQkJCTQxRDFBMDRBMjEz
RURERkUwMDYzRkI2QiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQuY3BwICovLAogCQkJ
CTQxODZCRDNCMjEzRURFMzgwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBSZWNlaXZlckJhY2tlbmQu
aCAqLywKKwkJCQk0MTgxQzVDMDI1NTNFQjZFMDBBRUIwRkYgLyogTGliV2ViUlRDUnRwUmVjZWl2
ZXJUcmFuc2Zvcm1CYWNrZW5kLmNwcCAqLywKKwkJCQk0MTgxQzVDMjI1NTNFQjZGMDBBRUIwRkYg
LyogTGliV2ViUlRDUnRwUmVjZWl2ZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDFEMUEw
NEIyMTNFRERGRTAwNjNGQjZCIC8qIExpYldlYlJUQ1J0cFNlbmRlckJhY2tlbmQuY3BwICovLAog
CQkJCTQxODZCRDNEMjEzRURFMzkwMDAxODI2RiAvKiBMaWJXZWJSVENSdHBTZW5kZXJCYWNrZW5k
LmggKi8sCisJCQkJNDE4MUM1QzEyNTUzRUI2RTAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFNlbmRl
clRyYW5zZm9ybUJhY2tlbmQuY3BwICovLAorCQkJCTQxODFDNUJFMjU1M0VCNkUwMEFFQjBGRiAv
KiBMaWJXZWJSVENSdHBTZW5kZXJUcmFuc2Zvcm1CYWNrZW5kLmggKi8sCiAJCQkJNDE4NkJENEQy
MTQwQjlFODAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFRyYW5zY2VpdmVyQmFja2VuZC5jcHAgKi8s
CiAJCQkJNDE4NkJENEIyMTQwQTgwNTAwMDE4MjZGIC8qIExpYldlYlJUQ1J0cFRyYW5zY2VpdmVy
QmFja2VuZC5oICovLAorCQkJCTQxODFDNUNDMjU1NTgzNjgwMEFFQjBGRiAvKiBMaWJXZWJSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCAqLywKKwkJCQk0MTgxQzVDRTI1NTU4OTU1MDBBRUIwRkYg
LyogTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAgKi8sCisJCQkJNDE4MUM1Q0YyNTU1
ODk1NjAwQUVCMEZGIC8qIExpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuaCAqLywKIAkJCQk0
MUQyOEQwQjIxMzlFMDFEMDBGNDIwNkYgLyogTGliV2ViUlRDU3RhdHNDb2xsZWN0b3IuY3BwICov
LAogCQkJCTQxRDI4RDBDMjEzOUUwMUUwMEY0MjA2RiAvKiBMaWJXZWJSVENTdGF0c0NvbGxlY3Rv
ci5oICovLAogCQkJCTQxRDFBMDQ5MjEzRURERkQwMDYzRkI2QiAvKiBMaWJXZWJSVENVdGlscy5j
cHAgKi8sCkBAIC0xOTIwOCw2ICsxOTI1NCw5IEBACiAJCQkJQTFDQkVGNjMxRjlGMTEyOTAwMjhE
RTdDIC8qIE1vY2tQYXltZW50TWV0aG9kLmggKi8sCiAJCQkJQTE0MDYxODkxRTJFQ0EwQTAwMzJC
MzRFIC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlBMTQwNjE4QTFFMkVD
QTBBMDAzMkIzNEUgLyogTW9ja1ByZXZpZXdMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk0MTgxQzVE
MzI1NTVDMUIxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8sCisJCQkJNDE4
MUM1RDUyNTU1QzFCOTAwQUVCMEZGIC8qIE1vY2tSVENSdHBUcmFuc2Zvcm0uaCAqLywKKwkJCQk0
MTgxQzYzNjI1NUFFMjYxMDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwgKi8sCiAJ
CQkJNTcxNTYxMDgyMzRDMUIzMTAwOEZDN0FCIC8qIE1vY2tXZWJBdXRoZW50aWNhdGlvbkNvbmZp
Z3VyYXRpb24uaCAqLywKIAkJCQk1NzE1NjEwRDIzNEM3NDgxMDA4RkM3QUIgLyogTW9ja1dlYkF1
dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5pZGwgKi8sCiAJCQkJNDE3RjBEODAxRkZFRTE0RjAw
OEVGMzAzIC8qIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwICovLApAQCAtMTkyNjMsNiArMTkz
MTIsNyBAQAogCQkJCUExNDZEMzE4MUY5OUJDQkEwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29v
cmRpbmF0b3IuaCAqLywKIAkJCQlBMUJCODVCNDIxNTlCMzg5MDA2N0UwN0QgLyogSlNNb2NrUGF5
bWVudEVycm9yLmNwcCAqLywKIAkJCQlBMUJCODVCNTIxNTlCMzhBMDA2N0UwN0QgLyogSlNNb2Nr
UGF5bWVudEVycm9yLmggKi8sCisJCQkJMkQ2RjNFOTIxQzFGODU1NTAwNjFEQkU0IC8qIEpTTW9j
a1JUQ1J0cFRyYW5zZm9ybS5jcHAgKi8sCiAJCQkJNTcxNTYxMTEyMzRDN0ZCQzAwOEZDN0FCIC8q
IEpTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlvbi5jcHAgKi8sCiAJCQkJNTcxNTYx
MTAyMzRDN0ZCQzAwOEZDN0FCIC8qIEpTTW9ja1dlYkF1dGhlbnRpY2F0aW9uQ29uZmlndXJhdGlv
bi5oICovLAogCQkJCTQyN0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJ
bnRlcm5hbHMuY3BwICovLApAQCAtMzMyMTcsNiArMzMyNjcsOCBAQAogCQkJCTQxNzYxMkIyMUUz
QTk5NDAwMEMzRDgxRCAvKiBMaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQxNTc0NzQ4MUUzODY5QTcwMEU5MTREOCAvKiBMaWJXZWJSVENQcm92aWRl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFCMjhCM0QxRjg2MEVGMzAwRkI1MkFDIC8qIExpYldl
YlJUQ1Byb3ZpZGVyQ29jb2EuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFDNUNEMjU1NTgzNjkw
MEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQxODFDNUQxMjU1NTg5NTYwMEFFQjBGRiAvKiBMaWJXZWJSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTBFNDQ2MTIzNDM3M0U5MDAwMTczRDQgLyog
TGliV2ViUlRDU29ja2V0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQ3MzBEOTEx
MjQ4RjBCMzAwRDNBOUM5IC8qIExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIy
Nzk2NTBEMDBCRjIyMDA3MUI3ODIgLyogTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzLmggaW4gSGVh
ZGVycyAqLywKQEAgLTMzNDExLDYgKzMzNDYzLDcgQEAKIAkJCQk0QTBGRkE5RTFBQUY1RTdFMDA2
MjgwM0IgLyogTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA3RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDdFRTc2RUYxQkVBNjE5ODAwRjg5MTMzIC8qIE1vY2tSZWFs
dGltZVZpZGVvU291cmNlTWFjLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxQzVENjI1NTVDMUI5
MDBBRUIwRkYgLyogTW9ja1JUQ1J0cFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RG
MkIwMTcxODIwNTQwNzAwRjJCNDI0IC8qIE1vY2tTb3VyY2VCdWZmZXJQcml2YXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDREYyQjAxOTE4MjA1NDA3MDBGMkI0MjQgLyogTW9ja1RyYWNrcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTcxNTYxMEMyMzRDMUNBMTAwOEZDN0FCIC8qIE1vY2tXZWJBdXRo
ZW50aWNhdGlvbkNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMzQwMzcsOSArMzQw
OTAsMTQgQEAKIAkJCQkwNzhFMDkyNDE3RDE0RDFDMDA0MjBBQTEgLyogUlRDUGVlckNvbm5lY3Rp
b25JY2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEyREU0QjgyMTkyODVDMDAwNzVGM0E3
IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUUyQzQzNjMxQkNF
RTMyQjAwMDFFMkJDIC8qIFJUQ1J0cFJlY2VpdmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTND
OEIzNTI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRwUmVjZWl2ZXJXaXRoVHJhbnNmb3JtLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1RTJDNDM2MTFCQ0VFMzIzMDAwMUUyQkMgLyogUlRDUnRwU2VuZGVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTNDOEIzMzI1NTJGMjdEMDBFNjUwNTUgLyogUlRDUnRw
U2VuZGVyV2l0aFRyYW5zZm9ybS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUU1RTJCMTQxQ0ZDM0U3
NTAwMEMwRDg1IC8qIFJUQ1J0cFRyYW5zY2VpdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUVC
NTRERjFFN0RDNzQ0MDBDMTYyM0IgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxM0M4QjM0MjU1MkYyN0QwMEU2NTA1NSAvKiBSVENSdHBUcmFuc2Zv
cm0uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFDNUNCMjU1NTgyRTQwMEFFQjBGRiAvKiBSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxODFDNUM5MjU1NTcz
REYwMEFFQjBGRiAvKiBSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzMTM1OTEwQTFFN0REQzczMDBGMzA2MzAgLyogUlRDU2RwVHlwZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDc4RTA5MjYxN0QxNEQxQzAwNDIwQUExIC8qIFJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5NDMxN0QxNkUxQzAwNDIwQUExIC8qIFJUQ1Nlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtMzU0OTUsNiArMzU1
NTMsNyBAQAogCQkJCUExMDRFQzVEMjIwQTNFNEIwMENCRjY3QSAvKiBKU01vY2tQYXltZW50Q29u
dGFjdEZpZWxkcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTQ2RDMxQTFGOTlCQ0Y4MDBEMjkx
OTYgLyogSlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEx
QkI4NUI4MjE1OUIzQTQwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNDE4MUM2MzkyNTVBRTkwRjAwQUVCMEZGIC8qIEpTTW9ja1JUQ1J0cFRyYW5z
Zm9ybS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NzE1NjExNDIzNEM3RkQ2MDA4RkM3QUIgLyog
SlNNb2NrV2ViQXV0aGVudGljYXRpb25Db25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQyN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRUJGNTEyMUMxNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlw
ZUNvbnZlcnNpb25zLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzU1MTAsNiArMzU1NjksNyBAQAog
CQkJCTJEOTdGMDQ3MTlERDQxM0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTFBRkVERTcxRjhCRkY2RDAwODcwMTNGIC8qIE1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTE0MDYxOEIxRTJFQ0EwQTAw
MzJCMzRFIC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTQxODFDNUQ3MjU1NUM0OUEwMEFFQjBGRiAvKiBNb2NrUlRDUnRwVHJhbnNmb3JtLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUFBNUYzQjhGMTZDQzRCMzkwMDQ1NUVCMCAvKiBQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVyTW9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MTdGMEQ4MjFGRkVFOTc5
MDA4RUYzMDMgLyogU2VydmljZVdvcmtlckludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk0MUQ0MUM2NzIyNTY4NzRGMDA2OTc5NDIgLyogU2VydmljZVdvcmtlckludGVybmFscy5tbSBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1
aWx0aW5OYW1lcy5oCmluZGV4IGVlMjRhNDlhMjVhMmQzN2Q2MWUxZGMwZmU0Nzc3YjAwM2Y5MmQy
MzcuLjVhZTczNGQ5MDkwYzBkMGY3NTQ0ZDE0ZjZjYmJkMzEzMTM0ZjEyYjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTE3NCw2
ICsxNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oTWVkaWFTdHJlYW0pIFwK
ICAgICBtYWNybyhNZWRpYVN0cmVhbVRyYWNrKSBcCiAgICAgbWFjcm8oTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQpIFwKKyAgICBtYWNybyhNb2NrUlRDUnRwVHJhbnNmb3JtKSBcCiAgICAgbWFjcm8o
TW9kZXJuTWVkaWFDb250cm9scykgXAogICAgIG1hY3JvKE5hdmlnYXRvckNyZWRlbnRpYWxzKSBc
CiAgICAgbWFjcm8oTmF2aWdhdG9yTWVkaWFEZXZpY2VzKSBcCkBAIC0yMjAsNiArMjIxLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFJUQ1J0cFJlY2VpdmVyKSBcCiAgICAgbWFj
cm8oUlRDUnRwU2VuZGVyKSBcCiAgICAgbWFjcm8oUlRDUnRwVHJhbnNjZWl2ZXIpIFwKKyAgICBt
YWNybyhSVENSdHBUcmFuc2Zvcm0pIFwKICAgICBtYWNybyhSVENTZXNzaW9uRGVzY3JpcHRpb24p
IFwKICAgICBtYWNybyhSVENTdGF0c1JlcG9ydCkgXAogICAgIG1hY3JvKFJUQ1RyYWNrRXZlbnQp
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
SlMucG0KaW5kZXggMzRhZmE3NzZiZDUyMzczMDA5OGVjMjFjMjNlNzQxMDBhODBjNDI1ZC4uMjdj
Nzk3ZDM0MGRiNDZiN2UzMWJhNmRiZWIyOTFjYzQzOTI1ODAxZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTMyMjIsOSAr
MzIyMiw5IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIGlmIChTaG91bGRHZW5lcmF0ZVdyYXBw
ZXJPd25lckNvZGUoJGhhc1BhcmVudCwgJGludGVyZmFjZSkpIHsKICAgICAgICAgaWYgKCRpbnRl
cmZhY2VOYW1lIG5lICJOb2RlIiAmJiAkY29kZUdlbmVyYXRvci0+SW5oZXJpdHNJbnRlcmZhY2Uo
JGludGVyZmFjZSwgIk5vZGUiKSkgewogICAgICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyJKU05v
ZGUuaCJ9ID0gMTsKLSAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyBKUyR7
aW50ZXJmYWNlTmFtZX1Pd25lciA6IHB1YmxpYyBKU05vZGVPd25lciB7XG4iKTsKKyAgICAgICAg
ICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJjbGFzcyAke2V4cG9ydE1hY3JvfUpTJHtpbnRlcmZh
Y2VOYW1lfU93bmVyIDogcHVibGljIEpTTm9kZU93bmVyIHtcbiIpOwogICAgICAgICB9IGVsc2Ug
ewotICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzIEpTJHtpbnRlcmZhY2VO
YW1lfU93bmVyIDogcHVibGljIEpTQzo6V2Vha0hhbmRsZU93bmVyIHtcbiIpOworICAgICAgICAg
ICAgcHVzaChAaGVhZGVyQ29udGVudCwgImNsYXNzICR7ZXhwb3J0TWFjcm99SlMke2ludGVyZmFj
ZU5hbWV9T3duZXIgOiBwdWJsaWMgSlNDOjpXZWFrSGFuZGxlT3duZXIge1xuIik7CiAgICAgICAg
IH0KICAgICAgICAgJGhlYWRlckluY2x1ZGVzeyI8d3RmL05ldmVyRGVzdHJveWVkLmg+In0gPSAx
OwogICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAicHVibGljOlxuIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJm
YWNlLmgKaW5kZXggZmJmNmYzOGQ2YjYxZThkNWVhM2I3ZTFhZjk2OTJkZTFjZDAwZTdkNy4uNmJh
NDMzNGQzYjEyNWJiMDQwNmY5MTJiNDkxMmEwODM4MDA2ZTczMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEludGVyZmFjZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2Uu
aApAQCAtODksNyArODksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihK
U0M6OlZNJik7CiB9OwogCi1jbGFzcyBKU1Rlc3RJbnRlcmZhY2VPd25lciA6IHB1YmxpYyBKU0M6
OldlYWtIYW5kbGVPd25lciB7CitjbGFzcyBXRUJDT1JFX0VYUE9SVCBKU1Rlc3RJbnRlcmZhY2VP
d25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7CiBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIGlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93
bj4sIHZvaWQqIGNvbnRleHQsIEpTQzo6U2xvdFZpc2l0b3ImLCBjb25zdCBjaGFyKiopOwogICAg
IHZpcnR1YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+LCB2b2lkKiBj
b250ZXh0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4NTNiNjk3Zjdh
MzBjYjAxODgxNjhkMGY1MWM3MGI1ODVkYzZkNDU3Li4xNjFhMjhmNDEzZjBlZTEyY2EwZmMyM2I1
MDdiZDQ0MTY5MjliMTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0x
MzgsNiArMTM4LDcgQEAKICNpbmNsdWRlICJNb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlICJNb2NrUGFnZU92ZXJsYXkuaCIKICNpbmNsdWRlICJNb2NrUGFnZU92ZXJsYXlD
bGllbnQuaCIKKyNpbmNsdWRlICJNb2NrUlRDUnRwVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiTmF2
aWdhdG9yQmVhY29uLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmgiCiAjaW5j
bHVkZSAiTmV0d29ya0xvYWRJbmZvcm1hdGlvbi5oIgpAQCAtMTU3OSw2ICsxNTgwLDExIEBAIHZv
aWQgSW50ZXJuYWxzOjpzZXRXZWJSVENWUDlWVEJTdXBwb3J0KGJvb2wgdmFsdWUpCiAjZW5kaWYK
IH0KIAorUmVmPE1vY2tSVENSdHBUcmFuc2Zvcm0+IEludGVybmFsczo6Y3JlYXRlTW9ja1JUQ1J0
cFRyYW5zZm9ybSgpCit7CisgICAgcmV0dXJuIE1vY2tSVENSdHBUcmFuc2Zvcm06OmNyZWF0ZSgp
OworfQorCiB2b2lkIEludGVybmFsczo6c2V0RW5hYmxlV2ViUlRDRW5jcnlwdGlvbihib29sIHZh
bHVlKQogewogI2lmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApp
bmRleCBiYjdkNTVlMjBmZGViNWExZDU4YjA5OWNmOTdhYmVlNTk1ODQ0YTE4Li4yNDg1ZTEzZDZk
NDk1NjM3OWU2ODY2NTA4YjAxNmViMTQyNGZlNjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1
ZGUgIkhFVkNVdGlsaXRpZXMuaCIKICNpbmNsdWRlICJJRExUeXBlcy5oIgorI2luY2x1ZGUgIk1v
Y2tSVENSdHBUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJPcmllbnRhdGlvbk5vdGlmaWVyLmgiCiAj
aW5jbHVkZSAiUGFnZUNvbnNvbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291
cmNlLmgiCkBAIC02MDYsNiArNjA3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2ViUlRDSDI2
NVN1cHBvcnQoYm9vbCk7CiAgICAgdm9pZCBzZXRXZWJSVENWUDlTdXBwb3J0KGJvb2wpOwogICAg
IHZvaWQgc2V0V2ViUlRDVlA5VlRCU3VwcG9ydChib29sKTsKKyAgICBSZWY8TW9ja1JUQ1J0cFRy
YW5zZm9ybT4gY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOwogICAgIHZvaWQgc2V0RW5hYmxl
V2ViUlRDRW5jcnlwdGlvbihib29sKTsKICAgICB2b2lkIHNldFVzZURUTFMxMChib29sKTsKICAg
ICB2b2lkIHNldFVzZUdQVVByb2Nlc3NGb3JXZWJSVEMoYm9vbCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKaW5kZXggYmRiOWVlMmNiNmNhMjE1YThlOGRjYzJkMDBhMmZlNWQwODVi
ZDY3MC4uYjAxNTRiMjk4NTgwYmZhZDMzM2ExMTRhZjM4NGQxZGE5MDllMTY4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtODAyLDYgKzgwMiw3IEBAIGVudW0gVHJlZVR5
cGUgewogICAgIFtDb25kaXRpb25hbD1XRUJfUlRDXSB1bmRlZmluZWQgc2V0V2ViUlRDSDI2NVN1
cHBvcnQoYm9vbGVhbiBhbGxvd2VkKTsKICAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gdW5kZWZp
bmVkIHNldFdlYlJUQ1ZQOVN1cHBvcnQoYm9vbGVhbiBhbGxvd2VkKTsKICAgICBbQ29uZGl0aW9u
YWw9V0VCX1JUQ10gdW5kZWZpbmVkIHNldFdlYlJUQ1ZQOVZUQlN1cHBvcnQoYm9vbGVhbiBhbGxv
d2VkKTsKKyAgICBbQ29uZGl0aW9uYWw9V0VCX1JUQ10gTW9ja1JUQ1J0cFRyYW5zZm9ybSBjcmVh
dGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CiAKICAgICBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFN
XSB1bmRlZmluZWQgc2V0TW9ja0F1ZGlvVHJhY2tDaGFubmVsTnVtYmVyKE1lZGlhU3RyZWFtVHJh
Y2sgdHJhY2ssIHVuc2lnbmVkIHNob3J0IGNvdW50KTsKICAgICBbQ29uZGl0aW9uYWw9TUVESUFf
U1RSRUFNXSB1bmRlZmluZWQgc2V0U2hvdWxkSW50ZXJydXB0QXVkaW9PblBhZ2VWaXNpYmlsaXR5
Q2hhbmdlKGJvb2xlYW4gc2hvdWxkSW50ZXJydXB0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkM2ExNmE4NGU4ZWQ5YTI3
ZDgwYzE0YWI4ZmNmODViMzAyZmJkNjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tSVENSdHBUcmFuc2Zvcm0uY3BwCkBAIC0wLDAgKzEsMTE2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIk1vY2tSVENSdHBUcmFuc2Zvcm0uaCIKKworI2lmIEVOQUJMRShXRUJf
UlRDKQorCisjaW5jbHVkZSAiUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgiCisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1vY2tSVENSdHBU
cmFuc2Zvcm1lciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxNb2NrUlRDUnRwVHJhbnNm
b3JtZXIsIFdURjo6RGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW4+IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPE1vY2tSVENSdHBUcmFuc2Zvcm1lcj4gY3JlYXRlKFJlZjxSVENSdHBUcmFuc2Zvcm1C
YWNrZW5kPiYmIGJhY2tlbmQpCisgICAgeworICAgICAgICBhdXRvIHRyYW5zZm9ybWVyID0gYWRv
cHRSZWYoKm5ldyBNb2NrUlRDUnRwVHJhbnNmb3JtZXIoV1RGTW92ZShiYWNrZW5kKSkpOworICAg
ICAgICB0cmFuc2Zvcm1lci0+bV9iYWNrZW5kLT5zZXRUcmFuc2Zvcm1hYmxlRnJhbWVDYWxsYmFj
ayhbdHJhbnNmb3JtZXJdKGF1dG8mJiBmcmFtZSkgeworICAgICAgICAgICAgdHJhbnNmb3JtZXIt
PnRyYW5zZm9ybShXVEZNb3ZlKGZyYW1lKSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4g
dHJhbnNmb3JtZXI7CisgICAgfQorCisgICAgdm9pZCBjbGVhcigpCisgICAgeworICAgICAgICBt
X2JhY2tlbmQtPmNsZWFyVHJhbnNmb3JtYWJsZUZyYW1lQ2FsbGJhY2soKTsKKyAgICAgICAgbV9i
YWNrZW5kID0gbnVsbHB0cjsKKyAgICB9CisKKyAgICB2b2lkIHRyYW5zZm9ybShSVENSdHBUcmFu
c2Zvcm1hYmxlRnJhbWUmJiBmcmFtZSkKKyAgICB7CisgICAgICAgIG1faXNQcm9jZXNzaW5nID0g
dHJ1ZTsKKworICAgICAgICBhdXRvIGRhdGEgPSBmcmFtZS5kYXRhKCk7CisgICAgICAgIFZlY3Rv
cjx1aW50OF90PiB0cmFuc2Zvcm1lZERhdGE7CisgICAgICAgIHNpemVfdCBzdGFydCA9IG1faXNB
dWRpbyA/IDAgOiAxMDA7CisgICAgICAgIGZvciAoc2l6ZV90IGNwdHIgPSAwOyBjcHRyIDwgc3Rh
cnQ7ICsrY3B0cikKKyAgICAgICAgICAgIHRyYW5zZm9ybWVkRGF0YS5hcHBlbmQoZGF0YS5kYXRh
W2NwdHJdKTsKKyAgICAgICAgZm9yIChzaXplX3QgY3B0ciA9IHN0YXJ0OyBjcHRyIDwgZGF0YS5z
aXplOyArK2NwdHIpCisgICAgICAgICAgICB0cmFuc2Zvcm1lZERhdGEuYXBwZW5kKDI1NiAtIGRh
dGEuZGF0YVtjcHRyXSk7CisgICAgICAgIGZyYW1lLnNldERhdGEoeyB0cmFuc2Zvcm1lZERhdGEu
ZGF0YSgpLCBkYXRhLnNpemUgfSk7CisKKyAgICAgICAgbV9iYWNrZW5kLT5wcm9jZXNzVHJhbnNm
b3JtZWRGcmFtZShXVEZNb3ZlKGZyYW1lKSk7CisgICAgfQorCisgICAgYm9vbCBpc1Byb2Nlc3Np
bmcoKSBjb25zdCB7IHJldHVybiBtX2lzUHJvY2Vzc2luZzsgfQorCitwcml2YXRlOgorICAgIGV4
cGxpY2l0IE1vY2tSVENSdHBUcmFuc2Zvcm1lcihSZWY8UlRDUnRwVHJhbnNmb3JtQmFja2VuZD4m
JiBiYWNrZW5kKQorICAgICAgICA6IG1fYmFja2VuZChXVEZNb3ZlKGJhY2tlbmQpKQorICAgICAg
ICAsIG1faXNTZW5kZXIobV9iYWNrZW5kLT5zaWRlKCkgPT0gUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZDo6U2lkZTo6U2VuZGVyKQorICAgICAgICAsIG1faXNBdWRpbyhtX2JhY2tlbmQtPm1lZGlhVHlw
ZSgpID09IFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQ6Ok1lZGlhVHlwZTo6QXVkaW8pCisgICAgewor
ICAgIH0KKworICAgIFJlZlB0cjxSVENSdHBUcmFuc2Zvcm1CYWNrZW5kPiBtX2JhY2tlbmQ7Cisg
ICAgYm9vbCBtX2lzU2VuZGVyOworICAgIGJvb2wgbV9pc0F1ZGlvOworICAgIGJvb2wgbV9pc1By
b2Nlc3NpbmcgeyBmYWxzZSB9OworfTsKKworTW9ja1JUQ1J0cFRyYW5zZm9ybTo6TW9ja1JUQ1J0
cFRyYW5zZm9ybSgpCit7Cit9CisKK01vY2tSVENSdHBUcmFuc2Zvcm06On5Nb2NrUlRDUnRwVHJh
bnNmb3JtKCkKK3sKK30KKworYm9vbCBNb2NrUlRDUnRwVHJhbnNmb3JtOjppc1Byb2Nlc3Npbmco
KSBjb25zdAoreworICAgIHJldHVybiBtX3RyYW5zZm9ybWVyID8gbV90cmFuc2Zvcm1lci0+aXNQ
cm9jZXNzaW5nKCkgOiBmYWxzZTsKK30KKwordm9pZCBNb2NrUlRDUnRwVHJhbnNmb3JtOjppbml0
aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmIGJhY2tlbmQp
Cit7CisgICAgbV90cmFuc2Zvcm1lciA9IE1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6Y3JlYXRlKGJh
Y2tlbmQpOworfQorCit2b2lkIE1vY2tSVENSdHBUcmFuc2Zvcm06OmluaXRpYWxpemVCYWNrZW5k
Rm9yU2VuZGVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmIGJhY2tlbmQpCit7CisgICAgbV90cmFu
c2Zvcm1lciA9IE1vY2tSVENSdHBUcmFuc2Zvcm1lcjo6Y3JlYXRlKGJhY2tlbmQpOworfQorCit2
b2lkIE1vY2tSVENSdHBUcmFuc2Zvcm06OndpbGxDbGVhckJhY2tlbmQoUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZCYpCit7CisgICAgbV90cmFuc2Zvcm1lci0+Y2xlYXIoKTsKKyAgICBtX3RyYW5zZm9y
bWVyID0gbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tS
VENSdHBUcmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5z
Zm9ybS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjRkOTk0ZGZmNzE3NDMyMzUzNTFmOGYwYTMzOTZmYzU5YTFjYWQy
OTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tSVENSdHBU
cmFuc2Zvcm0uaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JUQykKKwor
I2luY2x1ZGUgIlJUQ1J0cFRyYW5zZm9ybS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIE1vY2tSVENSdHBUcmFuc2Zvcm1lcjsKKworY2xhc3MgTW9ja1JUQ1J0cFRyYW5zZm9ybSBm
aW5hbCA6IHB1YmxpYyBSVENSdHBUcmFuc2Zvcm0geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
TW9ja1JUQ1J0cFRyYW5zZm9ybT4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBNb2Nr
UlRDUnRwVHJhbnNmb3JtKCkpOyB9CisgICAgfk1vY2tSVENSdHBUcmFuc2Zvcm0oKTsKKworICAg
IGJvb2wgaXNQcm9jZXNzaW5nKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgTW9ja1JUQ1J0cFRy
YW5zZm9ybSgpOworCisgICAgdm9pZCBpbml0aWFsaXplQmFja2VuZEZvclJlY2VpdmVyKFJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQmKSBmaW5hbDsKKyAgICB2b2lkIGluaXRpYWxpemVCYWNrZW5kRm9y
U2VuZGVyKFJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQmKSBmaW5hbDsKKyAgICB2b2lkIHdpbGxDbGVh
ckJhY2tlbmQoUlRDUnRwVHJhbnNmb3JtQmFja2VuZCYpIGZpbmFsOworCisgICAgUmVmUHRyPE1v
Y2tSVENSdHBUcmFuc2Zvcm1lcj4gbV90cmFuc2Zvcm1lcjsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9Nb2NrUlRDUnRwVHJhbnNmb3JtLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDllYjBjM2NhMTVj
NWYxOTdmMzZjZmI0NzQ5YzExODA2ZThhYzc3NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1JUQ1J0cFRyYW5zZm9ybS5pZGwKQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25k
aXRpb25hbD1XRUJfUlRDLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0LAorICAgIExlZ2FjeU5v
SW50ZXJmYWNlT2JqZWN0LAorXSBpbnRlcmZhY2UgTW9ja1JUQ1J0cFRyYW5zZm9ybSA6IFJUQ1J0
cFRyYW5zZm9ybSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNQcm9jZXNzaW5n
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xp
YldlYlJUQ0NvZGVjcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9M
aWJXZWJSVENDb2RlY3MuY3BwCmluZGV4IDQ4Yjg3NzQxZTIyNGIyYTUyNGU0MGY0NjM0M2RkYjk5
MDNiNTBiMjcuLjBjNmY3M2QwNzE0NGI1NjI2NzY5MzY3YzlmMmEzYTQwMTdlYWRlODAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0xpYldlYlJUQ0NvZGVj
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvTGliV2ViUlRD
Q29kZWNzLmNwcApAQCAtNDQxLDcgKzQ0MSw3IEBAIHZvaWQgTGliV2ViUlRDQ29kZWNzOjpjb21w
bGV0ZWRFbmNvZGluZyhSVENFbmNvZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBJUEM6OkRhCiAg
ICAgaWYgKCFlbmNvZGVyLT5lbmNvZGVkSW1hZ2VDYWxsYmFjaykKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgd2VicnRjOjplbmNvZGVyVmlkZW9UYXNrQ29tcGxldGUoZW5jb2Rlci0+ZW5jb2RlZElt
YWdlQ2FsbGJhY2ssIGVuY29kZXItPmNvZGVjVHlwZSwgY29uc3RfY2FzdDx1aW50OF90Kj4oZGF0
YS5kYXRhKCkpLCBkYXRhLnNpemUoKSwgaW5mbyk7CisgICAgd2VicnRjOjplbmNvZGVyVmlkZW9U
YXNrQ29tcGxldGUoZW5jb2Rlci0+ZW5jb2RlZEltYWdlQ2FsbGJhY2ssIGVuY29kZXItPmNvZGVj
VHlwZSwgZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpLCBpbmZvKTsKIH0KIAogQ1ZQaXhlbEJ1ZmZl
clBvb2xSZWYgTGliV2ViUlRDQ29kZWNzOjpwaXhlbEJ1ZmZlclBvb2woc2l6ZV90IHdpZHRoLCBz
aXplX3QgaGVpZ2h0LCBPU1R5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhZjA1NTVmY2VkNmZkYTQ5NDkyYTdi
MmYxMzViYzU2ZDllYmE2MWViLi40YjMzZmZlZTMzNzQ0NzU4OWUzZWQxZWEwYjJiNWRhZTdjMTQ2
NjI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMTEtMTIgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgV2ViUlRD
IHRyYW5zZm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxODc1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWJydGMvd2VicnRjLXRyYW5zZm9ybS5odG1sOiBBZGRlZC4KKwogMjAyMC0xMS0xMCAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFdlYlJU
QyBsaXdlYnJ0YyB0byBNODcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMt
dHJhbnNmb3JtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNm
b3JtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYThmNTFiM2M4MDBjNWQ3YWM0OTNkNzAzMzAw
YWNkNjgyNzhmOWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2VicnRjL3dlYnJ0
Yy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorCisKK1BBU1MgYXVkaW8g
ZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm0KK1BBU1MgdmlkZW8gZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zv
cm0KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL3dlYnJ0Yy10cmFuc2Zvcm0uaHRt
bCBiL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTljNWE2ZGZhNTc3YmEzYmE5MGVlYWU1MjBjNjMyNTE1NGUxYWY1MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3dlYnJ0Yy93ZWJydGMtdHJhbnNmb3JtLmh0bWwKQEAgLTAsMCArMSw4
NiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorICAgICAgICA8dGl0bGU+VGVzdGluZyBtZWRpYSBleGNoYW5nZSB3
aXRoIHRyYW5zZm9ybTwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJv
ZHk+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8xIiBhdXRvcGxheT48L3ZpZGVvPgorICAgICAg
ICA8dmlkZW8gaWQ9InZpZGVvMiIgYXV0b3BsYXk+PC92aWRlbz4KKyAgICAgICAgPHNjcmlwdCBz
cmMgPSJyb3V0aW5lcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+Citwcm9taXNlX3Rl
c3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
IHJldHVybjsKKworICAgIGxldCBzZW5kZXIsIHJlY2VpdmVyOworICAgIGxldCBzZW5kZXJUcmFu
c2Zvcm0gPSBpbnRlcm5hbHMuY3JlYXRlTW9ja1JUQ1J0cFRyYW5zZm9ybSgpOworICAgIGxldCBy
ZWNlaXZlclRyYW5zZm9ybSA9IGludGVybmFscy5jcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7
CisKKyAgICBjb25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMu
Z2V0VXNlck1lZGlhKHthdWRpbzogdHJ1ZX0pOworICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5l
dyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgY3JlYXRlQ29ubmVjdGlv
bnMoKGZpcnN0Q29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgcGMxID0gZmlyc3RDb25uZWN0
aW9uOworICAgICAgICAgICAgc2VuZGVyID0gZmlyc3RDb25uZWN0aW9uLmFkZFRyYWNrKGxvY2Fs
U3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0sIGxvY2FsU3RyZWFtKTsKKyAgICAgICAgICAgIHNl
bmRlci50cmFuc2Zvcm0gPSBzZW5kZXJUcmFuc2Zvcm07CisgICAgICAgIH0sIChzZWNvbmRDb25u
ZWN0aW9uKSA9PiB7CisgICAgICAgICAgICBwYzIgPSBzZWNvbmRDb25uZWN0aW9uOworICAgICAg
ICAgICAgc2Vjb25kQ29ubmVjdGlvbi5vbnRyYWNrID0gKHRyYWNrRXZlbnQpID0+IHsKKyAgICAg
ICAgICAgICAgICByZWNlaXZlciA9IHRyYWNrRXZlbnQucmVjZWl2ZXI7CisgICAgICAgICAgICAg
ICAgcmVjZWl2ZXIudHJhbnNmb3JtID0gcmVjZWl2ZXJUcmFuc2Zvcm07CisgICAgICAgICAgICAg
ICAgcmVzb2x2ZSh0cmFja0V2ZW50LnN0cmVhbXNbMF0pOworICAgICAgICAgICAgfTsKKyAgICAg
ICAgfSk7CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJUZXN0IHRpbWVkIG91dCIp
LCA1MDAwKTsKKyAgICB9KTsKKworICAgIHZpZGVvMS5zcmNPYmplY3QgPSBzdHJlYW07CisgICAg
YXdhaXQgdmlkZW8xLnBsYXkoKTsKKworICAgIGxldCBjb3VudGVyID0gMDsKKyAgICB3aGlsZSAo
IXJlY2VpdmVyVHJhbnNmb3JtLmlzUHJvY2Vzc2luZyAmJiBjb3VudGVyKysgPCAxMDApCisgICAg
ICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCA1MCkp
OworCisgICAgYXNzZXJ0X3RydWUoc2VuZGVyVHJhbnNmb3JtLmlzUHJvY2Vzc2luZywgInNlbmRl
ciIpOworfSwgImF1ZGlvIGV4Y2hhbmdlIHdpdGggdHJhbnNmb3JtIik7CisKK3Byb21pc2VfdGVz
dChhc3luYyAodGVzdCkgPT4geworICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAg
cmV0dXJuOworCisgICAgbGV0IHNlbmRlciwgcmVjZWl2ZXI7CisgICAgbGV0IHNlbmRlclRyYW5z
Zm9ybSA9IGludGVybmFscy5jcmVhdGVNb2NrUlRDUnRwVHJhbnNmb3JtKCk7CisgICAgbGV0IHJl
Y2VpdmVyVHJhbnNmb3JtID0gaW50ZXJuYWxzLmNyZWF0ZU1vY2tSVENSdHBUcmFuc2Zvcm0oKTsK
KworICAgIGNvbnN0IGxvY2FsU3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5n
ZXRVc2VyTWVkaWEoe3ZpZGVvOiB0cnVlfSk7CisKKyAgICBjb25zdCBzdHJlYW0gPSBhd2FpdCBu
ZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgIGNyZWF0ZUNvbm5lY3Rp
b25zKChmaXJzdENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAgIHBjMSA9IGZpcnN0Q29ubmVj
dGlvbjsKKyAgICAgICAgICAgIHNlbmRlciA9IGZpcnN0Q29ubmVjdGlvbi5hZGRUcmFjayhsb2Nh
bFN0cmVhbS5nZXRWaWRlb1RyYWNrcygpWzBdLCBsb2NhbFN0cmVhbSk7CisgICAgICAgICAgICBz
ZW5kZXIudHJhbnNmb3JtID0gc2VuZGVyVHJhbnNmb3JtOworICAgICAgICB9LCAoc2Vjb25kQ29u
bmVjdGlvbikgPT4geworICAgICAgICAgICAgcGMyID0gc2Vjb25kQ29ubmVjdGlvbjsKKyAgICAg
ICAgICAgIHNlY29uZENvbm5lY3Rpb24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9PiB7CisgICAg
ICAgICAgICAgICAgcmVjZWl2ZXIgPSB0cmFja0V2ZW50LnJlY2VpdmVyOworICAgICAgICAgICAg
ICAgIHJlY2VpdmVyLnRyYW5zZm9ybSA9IHJlY2VpdmVyVHJhbnNmb3JtOworICAgICAgICAgICAg
ICAgIHJlc29sdmUodHJhY2tFdmVudC5zdHJlYW1zWzBdKTsKKyAgICAgICAgICAgIH07CisgICAg
ICAgIH0pOworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiVGVzdCB0aW1lZCBvdXQi
KSwgNTAwMCk7CisgICAgfSk7CisKKyAgICB2aWRlbzIuc3JjT2JqZWN0ID0gc3RyZWFtOworICAg
IGF3YWl0IHZpZGVvMi5wbGF5KCk7CisKKyAgIGxldCBjb3VudGVyID0gMDsKKyAgIHdoaWxlICgh
cmVjZWl2ZXJUcmFuc2Zvcm0uaXNQcm9jZXNzaW5nICYmIGNvdW50ZXIrKyA8IDEwMCkKKyAgICAg
ICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgNTApKTsK
KworICAgIGFzc2VydF90cnVlKHNlbmRlclRyYW5zZm9ybS5pc1Byb2Nlc3NpbmcsICJzZW5kZXIi
KTsKK30sICJ2aWRlbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybSIpOworICAgICAgICA8L3Njcmlw
dD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>