<?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>234942</bug_id>
          
          <creation_ts>2022-01-06 18:12:33 -0800</creation_ts>
          <short_desc>Move linkedOnOrAfter() to WTF</short_desc>
          <delta_ts>2022-01-06 20:30:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pangle</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1828793</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-01-06 18:12:33 -0800</bug_when>
    <thetext>Move linkedOnOrAfter() to WTF</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828795</commentid>
    <comment_count>1</comment_count>
      <attachid>448553</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-01-06 18:18:47 -0800</bug_when>
    <thetext>Created attachment 448553
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828808</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-06 20:29:38 -0800</bug_when>
    <thetext>Committed r287737 (245807@main): &lt;https://commits.webkit.org/245807@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448553.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828809</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-06 20:30:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/87232858&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448553</attachid>
            <date>2022-01-06 18:18:47 -0800</date>
            <delta_ts>2022-01-06 20:29:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234942-20220106181846.patch</filename>
            <type>text/plain</type>
            <size>88036</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDNlOTAwZWNhMjRhYTZmNDRjZjlkMDQ5
MjEzNGU4OWUzOWU5MTBmZDIuLjY1MmQzMjcyZDE0ZjgzZTM2Y2VlOTNkZTNmOTdlYmUyYTBlMjMx
OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjItMDEtMDYgIFRpbSBIb3J0b24gIDx0aW1vdGh5
X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBsaW5rZWRPbk9yQWZ0ZXIoKSB0byBX
VEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk0
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUg
bGlua2VkT25PckFmdGVyKCkgYW5kIHRoZSBhc3NvY2lhdGVkIFNES1ZlcnNpb24gZW51bSB0byBX
VEYgZnJvbSBXZWJDb3JlLgorICAgICAgICBUaGlzIHByZWNlZGVzIGEgc2VyaWVzIG9mIHBhdGNo
ZXMgdGhhdCB3aWxsIGFkb3B0IGl0IGluIFdURiBhbmQgSmF2YVNjcmlwdENvcmUsCisgICAgICAg
IGFuZCB0aGVuIHJlcGxhY2UgdGhlIHVuZGVybHlpbmcgbWVjaGFuaXNtIHdpdGggYSBzbGlnaHRs
eSBtb3JlIGZsZXhpYmxlIG9uZS4KKworICAgICAgICAqIHd0Zi9jb2NvYS9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3NDb2NvYS5jcHA6CisgICAgICAgIChXVEY6OmxpbmtlZE9uT3JBZnRlcik6Cisg
ICAgICAgICogd3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg6CisKIDIw
MjItMDEtMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgdmFsdWUgb2YgYSBzdGQ6
Om9wdGlvbmFsPFQ+IG9yIGNvbnN0cnVjdHMgVCBpZiBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhYjI5
YTc3ZmE4YzMyMjIwNGFhMGZkZGM4MTc4YjYxMDRiMTM1ZWY5Li5kMmFiMzA0OGNlZDYzZmUyMzAx
Y2EwZDcyZjlkMzM5OWZlMGQ5YWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjIt
MDEtMDYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
TW92ZSBsaW5rZWRPbk9yQWZ0ZXIoKSB0byBXVEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDk0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV2luZG93UHJveHku
Y3BwOgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1Bs
YXliYWNrIGNvbnN0KToKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6bWFrZUNy
b3NzT3JpZ2luQWNjZXNzUmVxdWVzdCk6CisgICAgICAgICogcGFnZS9RdWlya3MuY3BwOgorICAg
ICAgICAqIHBhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL1RpbWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZFN1cHByZXNzVGhyZWFkU2FmZXR5Q2hlY2sp
OgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1ZlcnNpb25DaGVja3MuaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9WZXJzaW9uQ2hlY2tzLm1tOiBSZW1vdmVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0RhdGFVUkxEZWNvZGVyLmNwcDoKKyAgICAgICAgKiB0ZXN0
aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHA6CisKIDIwMjItMDEtMDYgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgaGVscGVyIGZ1bmN0
aW9uIHRoYXQgcmV0dXJucyB0aGUgdmFsdWUgb2YgYSBzdGQ6Om9wdGlvbmFsPFQ+IG9yIGNvbnN0
cnVjdHMgVCBpZiBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYzE0ZWJkYzEwODhjZDk0NzlmMDdjZmE3MjVm
NjhhNzI4NWViZmYxMC4uMjQ2ZDZjN2NlZjUyNDNkOWQ5NWVkYjBjZTFmODNmY2ViM2YzZTMwOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw3NiBAQAorMjAyMi0wMS0wNiAgVGltIEhvcnRvbiAgPHRpbW90
aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIGxpbmtlZE9uT3JBZnRlcigpIHRv
IFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0
OTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL2lvcy9Mb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXJJ
T1MubW06CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29j
b2EubW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtEYXRhVGFza0NvY29hOjp3aWxsUGVyZm9y
bUhUVFBSZWRpcmVjdGlvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a1Byb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3Jr
U2Vzc2lvbkNvY29hLm1tOgorICAgICAgICAoV2ViS2l0Ojpjb25maWd1cmF0aW9uRm9yU2Vzc2lv
bklEKToKKyAgICAgICAgKiBTaGFyZWQvQ29jb2EvQXV4aWxpYXJ5UHJvY2Vzc0NvY29hLm1tOgor
ICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemUpOgor
ICAgICAgICAqIFNoYXJlZC9Db2NvYS9Db21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLm1tOgor
ICAgICAgICAoV2ViS2l0OjpzaG91bGRUaHJvd0V4Y2VwdGlvbkZvckR1cGxpY2F0ZUNvbXBsZXRp
b25IYW5kbGVyQ2FsbCk6CisgICAgICAgICogU2hhcmVkL0NvY29hL0RlZmF1bHRXZWJCcm93c2Vy
Q2hlY2tzLm1tOgorICAgICAgICAoV2ViS2l0OjpkZXRlcm1pbmVJVFBTdGF0ZSk6CisgICAgICAg
ICogU2hhcmVkL0NvY29hL1dlYktpdDJJbml0aWFsaXplQ29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OkluaXRpYWxpemVXZWJLaXQyKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZhdWx0VmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZGVmYXVsdFBhc3NpdmVUb3VjaExp
c3RlbmVyc0FzRGVmYXVsdE9uRG9jdW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0Q1NT
T01WaWV3U2Nyb2xsaW5nQVBJRW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRQYXNz
aXZlV2hlZWxMaXN0ZW5lcnNBc0RlZmF1bHRPbkRvY3VtZW50KToKKyAgICAgICAgKFdlYktpdDo6
ZGVmYXVsdFdoZWVsRXZlbnRHZXN0dXJlc0JlY29tZU5vbkJsb2NraW5nKToKKyAgICAgICAgKFdl
YktpdDo6ZGVmYXVsdE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXS1BhZ2VSZWxvYWQpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoc2hv
dWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayk6CisgICAgICAgIChzaG91bGRB
bGxvd1NldHRpbmdBbnlYSFJIZWFkZXJGcm9tRmlsZVVSTHMpOgorICAgICAgICAoc2hvdWxkUmVx
dWlyZVVzZXJHZXN0dXJlVG9Mb2FkVmlkZW8pOgorICAgICAgICAoc2hvdWxkUmVzdHJpY3RCYXNl
VVJMU2NoZW1lcyk6CisgICAgICAgICgtW1dLV2ViVmlldyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1
cmF0aW9uOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldHVwUGFnZUNvbmZpZ3VyYXRpb246
XSk6CisgICAgICAgICgtW1dLV2ViVmlldyByZWxvYWRdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3
IHRha2VTbmFwc2hvdFdpdGhDb25maWd1cmF0aW9uOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAg
ICAgICAgKGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJl
dmlldyk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gaW5pdF0pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3JlLm1tOgorICAgICAgICAo
LVtXS1dlYnNpdGVEYXRhU3RvcmUgaW5pdF0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9z
L1dLV2ViVmlld0lPUy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9jb21wdXRlZE9ic2N1cmVk
SW5zZXRdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1dlYlZpZXdNYWMubW06Cisg
ICAgICAgICgtW1dLV2ViVmlldyBfd2ViX2RyYWdEZXN0aW5hdGlvbkFjdGlvbkZvckRyYWdnaW5n
SW5mbzpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5t
bToKKyAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVjdG9yL21hYy9XS0luc3BlY3RvclZpZXdDb250
cm9sbGVyLm1tOgorICAgICAgICAoLVtXS0luc3BlY3RvclZpZXdDb250cm9sbGVyIGluc3BlY3Rv
cldLV2ViVmlld1JlbG9hZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5OjpoYXNTY3JvbGxhYmxlT3Jab29tZWRNYWlu
RnJhbWUgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hFeHRlbnNp
b25IYW5kbGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1ha2VWaWV3QmxhbmtJ
ZlVucGFpbnRlZFNpbmNlTGFzdExvYWRDb21taXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjcmVhdGVX
ZWJQYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6aXNNYWluVGhyZWFkT3JDaGVja0Rpc2FibGVkKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2Nv
bW1vbkluaXRpYWxpemF0aW9uV2l0aFByb2Nlc3NQb29sOmNvbmZpZ3VyYXRpb246XSk6CisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgX3Nob3VsZFVzZUNvbnRleHRNZW51c10pOgorICAgICAgICAoYXBw
bGljYXRpb25Jc0tub3duVG9JZ25vcmVNb3VzZUV2ZW50cyk6CisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9XS1Njcm9sbFZpZXcubW06CisgICAgICAgICgtW1dLU2Nyb2xsVmlldyBfc3lzdGVtQ29u
dGVudEluc2V0XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1N0eWx1c0RldmljZU9ic2Vy
dmVyLm1tOgorICAgICAgICAoLVtXS1N0eWx1c0RldmljZU9ic2VydmVyIHN0YXJ0XSk6CisgICAg
ICAgICgtW1dLU3R5bHVzRGV2aWNlT2JzZXJ2ZXIgc3RvcF0pOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpkZXNrdG9wQ2xhc3NC
cm93c2luZ1JlY29tbWVuZGVkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbToKKwogMjAyMi0wMS0wNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBoZWxwZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRo
ZSB2YWx1ZSBvZiBhIHN0ZDo6b3B0aW9uYWw8VD4gb3IgY29uc3RydWN0cyBUIGlmIG5lZWRlZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDI2YzY2ZDU2NDQzNmViMTAwYTQ0ZTE1ZjIy
ZTAxMWQ5YjEwMTEzOTAuLmE0MDNiYWM2NTEyYWE2YzdhYTMxNjQ2NmM1YjFiYzk2OTFhYzBmZDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAyMi0wMS0w
NiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBNb3Zl
IGxpbmtlZE9uT3JBZnRlcigpIHRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM0OTQyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBEZWZhdWx0RGVsZWdhdGVzL1dlYkRlZmF1bHRVSURlbGVnYXRl
Lm1tOgorICAgICAgICAoLVtXZWJEZWZhdWx0VUlEZWxlZ2F0ZSB3ZWJWaWV3OmRyYWdEZXN0aW5h
dGlvbkFjdGlvbk1hc2tGb3JEcmFnZ2luZ0luZm86XSk6CisgICAgICAgICogTWlzYy9XZWJEb3du
bG9hZC5tbToKKyAgICAgICAgKHNob3VsZENhbGxPbk5ldHdvcmtUaHJlYWQpOgorICAgICAgICAq
IE1pc2MvV2ViSWNvbkRhdGFiYXNlLm1tOgorICAgICAgICAoK1tXZWJJY29uRGF0YWJhc2Ugc2hh
cmVkSWNvbkRhdGFiYXNlXSk6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1
bHRWYWx1ZXMubW06CisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRBbGxvd3NQaWN0dXJlSW5QaWN0
dXJlTWVkaWFQbGF5YmFjayk6CisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRKYXZhU2NyaXB0Q2Fu
T3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5KToKKyAgICAgICAgKFdlYktpdDo6ZGVmYXVsdFBhc3Np
dmVUb3VjaExpc3RlbmVyc0FzRGVmYXVsdE9uRG9jdW1lbnQpOgorICAgICAgICAoV2ViS2l0Ojpk
ZWZhdWx0UmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZFZpZGVvKToKKyAgICAgICAgKFdlYktpdDo6
ZGVmYXVsdFdlYlNRTEVuYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpkZWZhdWx0U2hvdWxkUmVz
dHJpY3RCYXNlVVJMU2NoZW1lcyk6CisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRTaG91bGRDb252
ZXJ0SW52YWxpZFVSTHNUb0JsYW5rKToKKyAgICAgICAgKFdlYktpdDo6ZGVmYXVsdFBhc3NpdmVX
aGVlbExpc3RlbmVyc0FzRGVmYXVsdE9uRG9jdW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpkZWZh
dWx0V2hlZWxFdmVudEdlc3R1cmVzQmVjb21lTm9uQmxvY2tpbmcpOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViVmlldy5tbToKKyAgICAgICAgKG5lZWRzTGFCYW5xdWVQb3N0YWxlUXVpcmtzKToKKwog
MjAyMi0wMS0wNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFN0YXJ0IHVzaW5nIEMrKzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5jcHAKaW5kZXggYjRmNjcwNjgxMmYx
ZGQ0MDY2NzlmMjE3YjQ2NzYzYjRkMmIwNDI1ZC4uYzcxNDkzYjQ0YTcyMGI4ZjNkZGQ2NzRjMmFm
MTQ4YzQ5MTIzOWFmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvUnVudGltZUFw
cGxpY2F0aW9uQ2hlY2tzQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmNwcApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKIAogc3RhdGljIHN0ZDo6b3B0aW9uYWw8dWludDMyX3Q+JiBhcHBsaWNhdGlvblNES1Zl
cnNpb25PdmVycmlkZSgpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPHN0ZDo6b3B0aW9u
YWw8dWludDMyX3Q+PiB2ZXJzaW9uOworICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPHVpbnQzMl90
PiB2ZXJzaW9uOwogICAgIHJldHVybiB2ZXJzaW9uOwogfQogCkBAIC01MCw3ICs1MCw3IEBAIHVp
bnQzMl90IGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpCiAKIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPExp
bmtlZE9uT3JBZnRlck92ZXJyaWRlPiYgbGlua2VkT25PckFmdGVyT3ZlcnJpZGVWYWx1ZSgpCiB7
Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPHN0ZDo6b3B0aW9uYWw8TGlua2VkT25PckFmdGVy
T3ZlcnJpZGU+PiBsaW5rZWRPbk9yQWZ0ZXI7CisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8TGlu
a2VkT25PckFmdGVyT3ZlcnJpZGU+IGxpbmtlZE9uT3JBZnRlcjsKICAgICByZXR1cm4gbGlua2Vk
T25PckFmdGVyOwogfQogCkBAIC02NCw0ICs2NCwxMyBAQCBzdGQ6Om9wdGlvbmFsPExpbmtlZE9u
T3JBZnRlck92ZXJyaWRlPiBsaW5rZWRPbk9yQWZ0ZXJPdmVycmlkZSgpCiAgICAgcmV0dXJuIGxp
bmtlZE9uT3JBZnRlck92ZXJyaWRlVmFsdWUoKTsKIH0KIAorYm9vbCBsaW5rZWRPbk9yQWZ0ZXIo
U0RLVmVyc2lvbiBzZGtWZXJzaW9uKQoreworICAgIGlmIChhdXRvIG92ZXJyaWRlVmFsdWUgPSBs
aW5rZWRPbk9yQWZ0ZXJPdmVycmlkZSgpKQorICAgICAgICByZXR1cm4gKm92ZXJyaWRlVmFsdWUg
PT0gTGlua2VkT25PckFmdGVyT3ZlcnJpZGU6OkFmdGVyRXZlcnl0aGluZzsKKworICAgIGF1dG8g
c2RrVmVyc2lvbkFzSW50ZWdlciA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihzZGtWZXJzaW9uKTsK
KyAgICByZXR1cm4gc2RrVmVyc2lvbkFzSW50ZWdlciAmJiBhcHBsaWNhdGlvblNES1ZlcnNpb24o
KSA+PSBzZGtWZXJzaW9uQXNJbnRlZ2VyOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oIGIvU291cmNlL1dURi93
dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaAppbmRleCA5MGQ2Y2EyZWFh
NzI0YjNkZjFiYmU3OGY3MGFiMzgyNjQ3MTk4ZDJmLi4xNzc2N2U2YTIwZGMzMmQzNjA4NmE1NDc2
MmNhYTU2NzUwYzQzMjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3NDb2NvYS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmgKQEAgLTI4LDE0ICsyOCw5OSBAQAogI2luY2x1ZGUg
PG9wdGlvbmFsPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKLS8vIFRoaXMgY29udGFpbnMg
dGhlIHZhbHVlcyB3aXRoIHdoaWNoIHRvIGNvbXBhcmUgdGhlIHJldHVybiB2YWx1ZSBvZiBhcHBs
aWNhdGlvblNES1ZlcnNpb24oKS4KICNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9keWxkU1BJLmg+
CiAKIG5hbWVzcGFjZSBXVEYgewogCi0vLyBkeWxkX2dldF9wcm9ncmFtX3Nka192ZXJzaW9uKCkg
Z2l2ZXMgeW91IHRoZSB3cm9uZyBhbnN3ZXIgaW4gYW55IHByb2Nlc3Mgb3RoZXIgdGhhbiB0aGUg
VUkgcHJvY2Vzcy4KLS8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgaG9va2VkIHVwIHRvIGdpdmUgeW91
IHRoZSByaWdodCBhbnN3ZXIuCitlbnVtIGNsYXNzIFNES1ZlcnNpb24gOiB1aW50MzJfdCB7Cisj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBGaXJzdFdpdGhQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjayA9IERZTERfSU9TX1ZFUlNJT05fOV8wLAorICAgIEZpcnN0V2l0aE1lZGlhVHlw
ZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBEWUxEX0lPU19WRVJTSU9OXzEwXzAs
CisgICAgRmlyc3RUaGF0UmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZFZpZGVvID0gRFlMRF9JT1Nf
VkVSU0lPTl8xMF8wLAorICAgIEZpcnN0V2l0aExpbmtQcmV2aWV3RW5hYmxlZEJ5RGVmYXVsdCA9
IERZTERfSU9TX1ZFUlNJT05fMTBfMCwKKyAgICBGaXJzdFRoYXRDb252ZXJ0c0ludmFsaWRVUkxz
VG9CbGFuayA9IERZTERfSU9TX1ZFUlNJT05fMTBfMCwKKyAgICBGaXJzdFdpdGhvdXRUaGVTZWNy
ZXRTb2NpZXR5SGlkZGVuTXlzdGVyeVdpbmRvd09wZW5RdWlyayA9IERZTERfSU9TX1ZFUlNJT05f
MTBfMCwKKyAgICBGaXJzdFdpdGhVbnByZWZpeGVkUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSBEWUxE
X0lPU19WRVJTSU9OXzEwXzAsCisgICAgRmlyc3RXaXRoRXhjZXB0aW9uc0ZvckR1cGxpY2F0ZUNv
bXBsZXRpb25IYW5kbGVyQ2FsbHMgPSBEWUxEX0lPU19WRVJTSU9OXzExXzAsCisgICAgRmlyc3RX
aXRoRXhwaXJlZE9ubHlSZWxvYWRCZWhhdmlvciA9IERZTERfSU9TX1ZFUlNJT05fMTFfMCwKKyAg
ICBGaXJzdFRoYXREaXNhbGxvd3NTZXR0aW5nQW55WEhSSGVhZGVyRnJvbUZpbGVVUkxzID0gRFlM
RF9JT1NfVkVSU0lPTl8xMV8zLAorICAgIEZpcnN0VGhhdERlZmF1bHRzVG9QYXNzaXZlVG91Y2hM
aXN0ZW5lcnNPbkRvY3VtZW50ID0gRFlMRF9JT1NfVkVSU0lPTl8xMV8zLAorICAgIEZpcnN0V2hl
cmVTY3JvbGxWaWV3Q29udGVudEluc2V0c0FyZU5vdE9ic2N1cmluZ0luc2V0cyA9IERZTERfSU9T
X1ZFUlNJT05fMTJfMCwKKyAgICBGaXJzdFdoZXJlVUlTY3JvbGxWaWV3RG9lc05vdEFwcGx5S2V5
Ym9hcmRJbnNldHNVbmNvbmRpdGlvbmFsbHkgPSBEWUxEX0lPU19WRVJTSU9OXzEyXzAsCisgICAg
Rmlyc3RXaXRoTWFpblRocmVhZFJlbGVhc2VBc3NlcnRpb25JbldlYlBhZ2VQcm94eSA9IERZTERf
SU9TX1ZFUlNJT05fMTJfMCwKKyAgICBGaXJzdFdpdGhvdXRNb3ZpU3RhclBsdXNDT1JTUHJlZmxp
Z2h0UXVpcmsgPSBEWUxEX0lPU19WRVJTSU9OXzEyXzAsCisgICAgRmlyc3RXaXRoVGltZXJUaHJl
YWRTYWZldHlDaGVja3MgPSBEWUxEX0lPU19WRVJTSU9OXzEyXzAsCisgICAgRmlyc3RXaXRoTGF6
eUdlc3R1cmVSZWNvZ25pemVySW5zdGFsbGF0aW9uID0gRFlMRF9JT1NfVkVSU0lPTl8xMl8yLAor
ICAgIEZpcnN0V2l0aFByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZpZ2F0aW9uID0gRFlMRF9JT1Nf
VkVSU0lPTl8xMl8yLAorICAgIEZpcnN0V2l0aG91dFVuY29uZGl0aW9uYWxVbml2ZXJzYWxTYW5k
Ym94RXh0ZW5zaW9uID0gRFlMRF9JT1NfVkVSU0lPTl8xM18wLAorICAgIEZpcnN0V2l0aFNuYXBz
aG90QWZ0ZXJTY3JlZW5VcGRhdGVzID0gRFlMRF9JT1NfVkVSU0lPTl8xM18wLAorICAgIEZpcnN0
V2l0aERldmljZU9yaWVudGF0aW9uQW5kTW90aW9uUGVybWlzc2lvbkFQSSA9IERZTERfSU9TX1ZF
UlNJT05fMTNfMCwKKyAgICBGaXJzdFRoYXREZWNpZGVzUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNr
TG9va1ByZXZpZXcgPSBEWUxEX0lPU19WRVJTSU9OXzEzXzAsCisgICAgRmlyc3RXaXRoRXhjZXB0
aW9uc0ZvclJlbGF0ZWRXZWJWaWV3c1VzaW5nRGlmZmVyZW50RGF0YVN0b3JlcyA9IERZTERfSU9T
X1ZFUlNJT05fMTNfMCwKKyAgICBGaXJzdFdpdGhNb2Rlcm5Db21wYWJpbGl0eU1vZGVCeURlZmF1
bHQgPSBEWUxEX0lPU19WRVJTSU9OXzEzXzAsCisgICAgRmlyc3RUaGF0SGFzVUlDb250ZXh0TWVu
dUludGVyYWN0aW9uID0gRFlMRF9JT1NfVkVSU0lPTl8xM18wLAorICAgIEZpcnN0V2hlcmVXS0Nv
bnRlbnRWaWV3RG9lc05vdE92ZXJyaWRlS2V5Q29tbWFuZHMgPSBEWUxEX0lPU19WRVJTSU9OXzEz
XzAsCisgICAgRmlyc3RUaGF0U3VwcG9ydHNPdmVyZmxvd0hpZGRlbk9uTWFpbkZyYW1lID0gRFlM
RF9JT1NfVkVSU0lPTl8xM18wLAorICAgIEZpcnN0V2l0aG91dElNRGJDU1NPTVZpZXdTY3JvbGxp
bmdRdWlyayA9IERZTERfSU9TX1ZFUlNJT05fMTNfMCwKKyAgICBGaXJzdFdoZXJlU2l0ZVNwZWNp
ZmljUXVpcmtzQXJlRW5hYmxlZEJ5RGVmYXVsdCA9IERZTERfSU9TX1ZFUlNJT05fMTNfMiwKKyAg
ICBGaXJzdFRoYXRSZXN0cmljdHNCYXNlVVJMU2NoZW1lcyA9IERZTERfSU9TX1ZFUlNJT05fMTNf
NCwKKyAgICBGaXJzdFRoYXRTZW5kc05hdGl2ZU1vdXNlRXZlbnRzID0gRFlMRF9JT1NfVkVSU0lP
Tl8xM180LAorICAgIEZpcnN0V2l0aFNlc3Npb25DbGVhbnVwQnlEZWZhdWx0ID0gRFlMRF9JT1Nf
VkVSU0lPTl8xNF8wLAorICAgIEZpcnN0V2l0aEluaXRpYWxpemVXZWJLaXQyTWFpblRocmVhZEFz
c2VydGlvbiA9IERZTERfSU9TX1ZFUlNJT05fMTRfMCwKKyAgICBGaXJzdFdpdGhXS1dlYnNpdGVE
YXRhU3RvcmVJbml0UmV0dXJuaW5nTmlsID0gRFlMRF9JT1NfVkVSU0lPTl8xNF8wLAorICAgIEZp
cnN0V2l0aFdlYlNRTERpc2FibGVkQnlEZWZhdWx0SW5MZWdhY3lXZWJLaXQgPSBEWUxEX0lPU19W
RVJTSU9OXzE0XzAsCisgICAgRmlyc3RXaXRob3V0TGFCYW5xdWVQb3N0YWxlUXVpcmtzID0gRFlM
RF9JT1NfVkVSU0lPTl8xNF8wLAorICAgIEZpcnN0VmVyc2lvbldpdGhpT1NBcHBzT25NYWNPUyA9
IERZTERfSU9TX1ZFUlNJT05fMTRfMiwKKyAgICBGaXJzdFdpdGhEYXRhVVJMRnJhZ21lbnRSZW1v
dmFsID0gRFlMRF9JT1NfVkVSU0lPTl8xNF81LAorICAgIEZpcnN0V2l0aEhUTUxEb2N1bWVudFN1
cHBvcnRlZFByb3BlcnR5TmFtZXMgPSBEWUxEX0lPU19WRVJTSU9OXzE0XzUsCisgICAgRmlyc3RU
aGF0T2JzZXJ2ZXNDbGFzc1Byb3BlcnR5ID0gRFlMRF9JT1NfVkVSU0lPTl8xNF81LAorICAgIEZp
cnN0V2l0aG91dFdlQ2hhdFNjcm9sbGluZ1F1aXJrID0gRFlMRF9JT1NfVkVSU0lPTl8xNF81LAor
ICAgIEZpcnN0V2l0aFNoYXJlZE5ldHdvcmtQcm9jZXNzID0gRFlMRF9JT1NfVkVSU0lPTl8xNF81
LAorICAgIEZpcnN0V2l0aEJsYW5rVmlld09uSlNQcm9tcHQgPSBEWUxEX0lPU19WRVJTSU9OXzE0
XzUsCisgICAgRmlyc3RXaXRoTnVsbE9yaWdpbkZvck5vblNwZWNpYWxTY2hlbWVkVVJMcyA9IERZ
TERfSU9TX1ZFUlNJT05fMTVfMCwKKyAgICBGaXJzdFdpdGhET01XaW5kb3dSZXVzZVJlc3RyaWN0
aW9uICA9IERZTERfSU9TX1ZFUlNJT05fMTVfMCwKKyAgICBGaXJzdFdpdGhBcHBsaWNhdGlvbkNh
Y2hlRGlzYWJsZWRCeURlZmF1bHQgPSBEWUxEX0lPU19WRVJTSU9OXzE1XzAsCisgICAgRmlyc3RX
aXRob3V0RXhwYW5kb0luZGV4ZWRQcm9wZXJ0aWVzT25XaW5kb3cgPSBEWUxEX0lPU19WRVJTSU9O
XzE1XzAsCisgICAgRmlyc3RXaXRoQXV0aG9yaXphdGlvbkhlYWRlck9uU2FtZU9yaWdpblJlZGly
ZWN0cyA9IERZTERfSU9TX1ZFUlNJT05fMTVfNCwKKyAgICBGaXJzdEZvcmJpZGRpbmdEb3RQcmVm
aXhlZEZvbnRzID0gRFlMRF9JT1NfVkVSU0lPTl8xNl8wLAorI2VsaWYgUExBVEZPUk0oTUFDKQor
ICAgIEZpcnN0VGhhdENvbnZlcnRzSW52YWxpZFVSTHNUb0JsYW5rID0gRFlMRF9NQUNPU1hfVkVS
U0lPTl8xMF8xMiwKKyAgICBGaXJzdFdpdGhFeGNlcHRpb25zRm9yRHVwbGljYXRlQ29tcGxldGlv
bkhhbmRsZXJDYWxscyA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTBfMTMsCisgICAgRmlyc3RXaXRo
RHJvcFRvTmF2aWdhdGVEaXNhbGxvd2VkQnlEZWZhdWx0ID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8x
MF8xMywKKyAgICBGaXJzdFdpdGhFeHBpcmVkT25seVJlbG9hZEJlaGF2aW9yID0gRFlMRF9NQUNP
U1hfVkVSU0lPTl8xMF8xMywKKyAgICBGaXJzdFdpdGhXZWJJY29uRGF0YWJhc2VXYXJuaW5nID0g
RFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xMywKKyAgICBGaXJzdFdpdGhNYWluVGhyZWFkUmVsZWFz
ZUFzc2VydGlvbkluV2ViUGFnZVByb3h5ID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xNCwKKyAg
ICBGaXJzdFdpdGhUaW1lclRocmVhZFNhZmV0eUNoZWNrcyA9IERZTERfTUFDT1NYX1ZFUlNJT05f
MTBfMTQsCisgICAgRmlyc3RXaXRob3V0VW5jb25kaXRpb25hbFVuaXZlcnNhbFNhbmRib3hFeHRl
bnNpb24gPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzE1LAorICAgIEZpcnN0V2l0aFNuYXBzaG90
QWZ0ZXJTY3JlZW5VcGRhdGVzID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xNSwKKyAgICBGaXJz
dFdpdGhFeGNlcHRpb25zRm9yUmVsYXRlZFdlYlZpZXdzVXNpbmdEaWZmZXJlbnREYXRhU3RvcmVz
ID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xNSwKKyAgICBGaXJzdFdpdGhEb3dubG9hZERlbGVn
YXRlc0NhbGxlZE9uVGhlTWFpblRocmVhZCA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTBfMTUsCisg
ICAgRmlyc3RXaGVyZVNpdGVTcGVjaWZpY1F1aXJrc0FyZUVuYWJsZWRCeURlZmF1bHQgPSBEWUxE
X01BQ09TWF9WRVJTSU9OXzEwXzE1XzEsCisgICAgRmlyc3RUaGF0UmVzdHJpY3RzQmFzZVVSTFNj
aGVtZXMgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzE1XzQsCisgICAgRmlyc3RXaXRoU2Vzc2lv
bkNsZWFudXBCeURlZmF1bHQgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzE2LAorICAgIEZpcnN0
V2l0aEluaXRpYWxpemVXZWJLaXQyTWFpblRocmVhZEFzc2VydGlvbiA9IERZTERfTUFDT1NYX1ZF
UlNJT05fMTBfMTYsCisgICAgRmlyc3RXaXRoV0tXZWJzaXRlRGF0YVN0b3JlSW5pdFJldHVybmlu
Z05pbCA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTBfMTYsCisgICAgRmlyc3RXaXRoRGF0YVVSTEZy
YWdtZW50UmVtb3ZhbCA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTFfMywKKyAgICBGaXJzdFdpdGhI
VE1MRG9jdW1lbnRTdXBwb3J0ZWRQcm9wZXJ0eU5hbWVzID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8x
MV8zLAorICAgIEZpcnN0V2l0aE51bGxPcmlnaW5Gb3JOb25TcGVjaWFsU2NoZW1lZFVSTHMgPSBE
WUxEX01BQ09TWF9WRVJTSU9OXzEyXzAwLAorICAgIEZpcnN0V2l0aERPTVdpbmRvd1JldXNlUmVz
dHJpY3Rpb24gPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEyXzAwLAorICAgIEZpcnN0V2l0aEJsYW5r
Vmlld09uSlNQcm9tcHQgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzExXzMsCisgICAgRmlyc3RXaXRo
b3V0Q2xpZW50Q2VydGlmaWNhdGVMb29rdXAgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzExXzMsCisg
ICAgRmlyc3RUaGF0RGVmYXVsdHNUb1Bhc3NpdmVXaGVlbExpc3RlbmVyc09uRG9jdW1lbnQgPSBE
WUxEX01BQ09TWF9WRVJTSU9OXzExXzMsCisgICAgRmlyc3RUaGF0QWxsb3dzV2hlZWxFdmVudEdl
c3R1cmVzVG9CZWNvbWVOb25CbG9ja2luZyA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTFfMywKKyAg
ICBGaXJzdFdpdGhBcHBsaWNhdGlvbkNhY2hlRGlzYWJsZWRCeURlZmF1bHQgPSBEWUxEX01BQ09T
WF9WRVJTSU9OXzEyXzAwLAorICAgIEZpcnN0V2l0aG91dEV4cGFuZG9JbmRleGVkUHJvcGVydGll
c09uV2luZG93ID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMl8wMCwKKyAgICBGaXJzdFdpdGhBdXRo
b3JpemF0aW9uSGVhZGVyT25TYW1lT3JpZ2luUmVkaXJlY3RzID0gRFlMRF9NQUNPU1hfVkVSU0lP
Tl8xMl8zLAorICAgIEZpcnN0Rm9yYmlkZGluZ0RvdFByZWZpeGVkRm9udHMgPSBEWUxEX01BQ09T
WF9WRVJTSU9OXzEzXzAsCisjZW5kaWYKK307CisKK1dURl9FWFBPUlRfUFJJVkFURSBib29sIGxp
bmtlZE9uT3JBZnRlcihTREtWZXJzaW9uKTsKKwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0
QXBwbGljYXRpb25TREtWZXJzaW9uKHVpbnQzMl90KTsKKworLy8gRG8gbm90IHVzZSBhcHBsaWNh
dGlvblNES1ZlcnNpb24oKSBkaXJlY3RseTsgYWRkIGEgdmVyc2lvbiB0byB0aGUgZW51bSBhYm92
ZSwKKy8vIGFuZCB1c2UgbGlua2VkT25PckFmdGVyKCkgYXQgY2FsbCBzaXRlcy4KIFdURl9FWFBP
UlRfUFJJVkFURSB1aW50MzJfdCBhcHBsaWNhdGlvblNES1ZlcnNpb24oKTsKIAogZW51bSBjbGFz
cyBMaW5rZWRPbk9yQWZ0ZXJPdmVycmlkZSA6IHVpbnQ4X3QgewpAQCAtNTIsMyArMTM3LDYgQEAg
dXNpbmcgV1RGOjphcHBsaWNhdGlvblNES1ZlcnNpb247CiB1c2luZyBXVEY6OkxpbmtlZE9uT3JB
ZnRlck92ZXJyaWRlOwogdXNpbmcgV1RGOjpzZXRMaW5rZWRPbk9yQWZ0ZXJPdmVycmlkZTsKIHVz
aW5nIFdURjo6bGlua2VkT25PckFmdGVyT3ZlcnJpZGU7Cit1c2luZyBXVEY6OmxpbmtlZE9uT3JB
ZnRlcjsKK3VzaW5nIFdURjo6U0RLVmVyc2lvbjsKK3VzaW5nIFdURjo6c2V0QXBwbGljYXRpb25T
REtWZXJzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXggY2FkMTFkMzA0NjllODQyY2Nk
NzRlMmZlZGJhYzFkOTgzYTNlMjViOC4uMmMzYjRmODFhNTJmNTY2OTljYmZkNDEyZGZhYzA5NDM2
NjZhZWFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yNzIsNyArMjcyLDYgQEAgcGxh
dGZvcm0vY29jb2EvU3lzdGVtVmVyc2lvbi5tbQogcGxhdGZvcm0vY29jb2EvVGVsZXBob25lTnVt
YmVyRGV0ZWN0b3JDb2NvYS5jcHAKIHBsYXRmb3JtL2NvY29hL1RoZW1lQ29jb2EubW0KIHBsYXRm
b3JtL2NvY29hL1VzZXJBZ2VudENvY29hLm1tCi1wbGF0Zm9ybS9jb2NvYS9WZXJzaW9uQ2hlY2tz
Lm1tCiBwbGF0Zm9ybS9jb2NvYS9WaWRlb0Z1bGxzY3JlZW5Nb2RlbFZpZGVvRWxlbWVudC5tbQog
cGxhdGZvcm0vY29jb2EvVmlkZW9Ub29sYm94U29mdExpbmsuY3BwCiBwbGF0Zm9ybS9jb2NvYS9X
ZWJDb3JlQWRkaXRpb25zLm1tIEBuby11bmlmeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDViMDE4NmVjNDVmOWExYWFlZjFlZmMx
YTI0YThjNjU1YzliNjlkOTYuLjQwNTQwNjg5N2Q1OGE1N2I2ZmIxNTViOTdjMTg0MDc4NDlkZjli
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTUxMTgsNyArNTExOCw2IEBACiAJCURFQ0E4MDZDMUY5RkVENkEwMEUzQjY2MSAv
KiBVbmlmaWVkU291cmNlMjk5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IERFQ0E3RkRBMUY5RkU5QTIwMEUzQjY2MSAvKiBVbmlmaWVkU291cmNlMjk5
LmNwcCAqLzsgfTsKIAkJREVDQTgwNkQxRjlGRUQ2QTAwRTNCNjYxIC8qIFVuaWZpZWRTb3VyY2Uz
MDAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREVD
QTdGQkIxRjlGRTk4MzAwRTNCNjYxIC8qIFVuaWZpZWRTb3VyY2UzMDAuY3BwICovOyB9OwogCQlE
RjE5RTJBQzI0NzcyQkMxMDA3QkRBQ0IgLyogU2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxv
Y2tpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERG
MTlFMkFBMjQ3NzI5QTYwMDdCREFDQiAvKiBTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9j
a2luZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0J
CURGNEUzOEUwMjUyNzk1OTUwMDJBNzQ4MSAvKiBWZXJzaW9uQ2hlY2tzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBERjRFMzhERTI1Mjc5NTk0MDAyQTc0
ODEgLyogVmVyc2lvbkNoZWNrcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCURGOUFGRDcyMTNGQzMxRDgwMDE1RkVCNyAvKiBNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb25PYmpDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBERjlBRkQ3MDEzRkMzMUQ4MDAxNUZFQjcgLyogTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5oICovOyB9OwogCQlFMEZFRjM3MkIxN0M1M0VBQzFDMUZCRUUg
LyogRXZlbnRTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUwRkVGMzcxQjE3QzUzRUFDMUMxRkJFRSAvKiBFdmVudFNvdXJjZS5oICovOyB9Owog
CQlFMEZFRjM3MkIzN0M1M0VBQzFDMUZCRUUgLyogSlNFdmVudFNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTBGRUYzNzFCMzdDNTNFQUMxQzFG
QkVFIC8qIEpTRXZlbnRTb3VyY2UuaCAqLzsgfTsKQEAgLTE2ODk3LDggKzE2ODk2LDYgQEAKIAkJ
REYzNjVEMDQyNUE5ODRDODAwNUREQjhDIC8qIFBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmcuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlERjM2NUQwNjI1QTk4NEM4MDA1RERCOEMgLyog
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBlcmZvcm1hbmNl
TmF2aWdhdGlvblRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlERjM2NUQw
NzI1QTk4NEM5MDA1RERCOEMgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmcuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlERjRFMzhEQzI1Mjc5NTkzMDAyQTc0ODEgLyogVmVyc2lvbkNoZWNrcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFZlcnNpb25DaGVja3MubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCURGNEUzOERFMjUyNzk1OTQwMDJBNzQ4MSAvKiBW
ZXJzaW9uQ2hlY2tzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZlcnNpb25D
aGVja3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJREY3RTlBMjk0QzdBQUNFMEFE
ODlCM0REIC8qIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJREY5QUZENzAxM0ZDMzFEODAwMTVGRUI3IC8qIE1lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbk9iakMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlERjlBRkQ3MTEzRkMzMUQ4MDAxNUZFQjcgLyogTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uT2JqQy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yNjcyNCw4ICsyNjcyMSw2IEBACiAJCQkJMzEwRDcxOTQxQjMzNUM5
RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EuaCAqLywKIAkJCQkzMTBENzE5MzFCMzM1QzlEMDA5QzdC
NzMgLyogVGhlbWVDb2NvYS5tbSAqLywKIAkJCQlBM0FGOUQ4MTIwMzI1MkVFMDA2Q0FEMDYgLyog
VXNlckFnZW50Q29jb2EubW0gKi8sCi0JCQkJREY0RTM4REUyNTI3OTU5NDAwMkE3NDgxIC8qIFZl
cnNpb25DaGVja3MuaCAqLywKLQkJCQlERjRFMzhEQzI1Mjc5NTkzMDAyQTc0ODEgLyogVmVyc2lv
bkNoZWNrcy5tbSAqLywKIAkJCQk1MkIwRDRCRjFDNTdGRDY2MDA3N0NFNTMgLyogVmlkZW9GdWxs
c2NyZWVuQ2hhbmdlT2JzZXJ2ZXIuaCAqLywKIAkJCQk1MkQ1QTFBNDFDNTc0ODg5MDBERTM0QTMg
LyogVmlkZW9GdWxsc2NyZWVuTW9kZWwuaCAqLywKIAkJCQk1MkQ1QTFBNTFDNTc0ODg5MDBERTM0
QTMgLyogVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRlb0VsZW1lbnQuaCAqLywKQEAgLTM3NjcxLDcg
KzM3NjY2LDYgQEAKIAkJCQkxNUM3NzA4RDEwMEQzQzZCMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwQUYxMkIwMjZGNzAwQzFBMzU5IC8qIFZlY3Rv
ck1hdGguaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMUEwQzM4MjI5QTQ4MTgwMEQzN0FEQiAvKiBW
ZWxvY2l0eURhdGEuaCBpbiBIZWFkZXJzICovLAotCQkJCURGNEUzOEUwMjUyNzk1OTUwMDJBNzQ4
MSAvKiBWZXJzaW9uQ2hlY2tzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EyNTcxNTEyOTNDMDEw
MDA3QTI2M0QgLyogVmVydGljYWxQb3NpdGlvbkNhY2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RDNFRUYzQjI1Nzk5RkExMDA2NTYzQkIgLyogVmlkZW9Db25maWd1cmF0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0MURFRUZCNjI3MTlCQTFBMDBDQjhENzQgLyogVmlkZW9GcmFtZU1ldGFkYXRh
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93Q3VzdG9tLmNwcAppbmRleCAxMjVlYzAwNzMyMzVjMGZjYmE0OTc0MWU0MWZiZmE0ZDNl
MjA2OWI3Li5mZmFjYmUwZTc2Yjg0YTY0MWExOTZmNmVjODc0M2E1ZGJjNTE1NGM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCkBAIC02
MCw3ICs2MCw3IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotI2luY2x1ZGUgIlZl
cnNpb25DaGVja3MuaCIKKyNpbmNsdWRlIDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzQ29jb2EuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2luZG93UHJveHkuY3BwCmluZGV4IDRlNjJiYTM4YTkwNmUxYjQ4
ZjYzZDQ1MmUyYjg2NzY1M2I3YWFhZDguLjJkZDJkNjhiZDY5YzBjNThiYTIzMmJkNTYxMjgxZjIz
NzMxZmZkZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2luZG93
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2luZG93UHJveHku
Y3BwCkBAIC00Myw3ICs0Myw3IEBACiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Ryb25nSW5s
aW5lcy5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0jaW5jbHVkZSAiVmVyc2lvbkNoZWNrcy5o
IgorI2luY2x1ZGUgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgog
I2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDk0N2ExNTY2OTg3MTM3ZjRhYWI4NDk1ODg2MmU5ZjEx
YTA1NjM4YmMuLmM1OWE0MTgyNTYzZTZjMDNmNzQxZmU0Y2M3NmJjY2RmNGI5YWY1YzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNjYsNyArNjYs
NiBAQAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAjaW5jbHVkZSAiQXVkaW9TZXNzaW9uLmgi
CiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW5jbHVkZSAiVmVyc2lv
bkNoZWNrcy5oIgogI2luY2x1ZGUgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3ND
b2NvYS5oPgogI2VuZGlmCiAKQEAgLTg1OCw3ICs4NTcsNyBAQCBib29sIE1lZGlhRWxlbWVudFNl
c3Npb246OnJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJhY2soKSBjb25zdAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYgKENvY29hQXBwbGljYXRpb246OmlzSUJvb2tzKCkp
CiAgICAgICAgIHJldHVybiAhbV9lbGVtZW50Lmhhc0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24oSFRNTE5hbWVzOjp3ZWJraXRfcGxheXNpbmxpbmVBdHRyKSAmJiAhbV9lbGVtZW50Lmhh
c0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjpwbGF5c2lubGluZUF0
dHIpOwotICAgIGlmICghbGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0
V2l0aFVucHJlZml4ZWRQbGF5c0lubGluZUF0dHJpYnV0ZSkpCisgICAgaWYgKCFsaW5rZWRPbk9y
QWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRoVW5wcmVmaXhlZFBsYXlzSW5saW5lQXR0cmlidXRl
KSkKICAgICAgICAgcmV0dXJuICFtX2VsZW1lbnQuaGFzQXR0cmlidXRlV2l0aG91dFN5bmNocm9u
aXphdGlvbihIVE1MTmFtZXM6OndlYmtpdF9wbGF5c2lubGluZUF0dHIpOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAK
aW5kZXggYzdiODE3YjBiMDdiMmI3ZWI4ZDk2ZjkzMjU0ODAxZmVlOGQwZDcxZC4uMjkxMmUzZDU2
MjE1MzFjOWVkZDI4OWIyMzcxYWExMDc2YTJjZWZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTY1LDcgKzY1LDYgQEAK
ICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotI2luY2x1
ZGUgIlZlcnNpb25DaGVja3MuaCIKICNpbmNsdWRlIDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0
aW9uQ2hlY2tzQ29jb2EuaD4KICNlbmRpZgogCkBAIC0yMDIsNyArMjAxLDcgQEAgdm9pZCBEb2N1
bWVudFRocmVhZGFibGVMb2FkZXI6Om1ha2VDcm9zc09yaWdpbkFjY2Vzc1JlcXVlc3QoUmVzb3Vy
Y2VSZXF1ZXN0JiYgcmUKICAgICBBU1NFUlQobV9vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25z
OjpNb2RlOjpDb3JzKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgYm9vbCBuZWVk
c1ByZWZsaWdodFF1aXJrID0gSU9TQXBwbGljYXRpb246OmlzTW92aVN0YXJQbHVzKCkgJiYgIWxp
bmtlZE9uT3JBZnRlcihXZWJDb3JlOjpTREtWZXJzaW9uOjpGaXJzdFdpdGhvdXRNb3ZpU3RhclBs
dXNDT1JTUHJlZmxpZ2h0UXVpcmspICYmIChtX29wdGlvbnMucHJlZmxpZ2h0UG9saWN5ID09IFBy
ZWZsaWdodFBvbGljeTo6Q29uc2lkZXIgfHwgbV9vcHRpb25zLnByZWZsaWdodFBvbGljeSA9PSBQ
cmVmbGlnaHRQb2xpY3k6OkZvcmNlKTsKKyAgICBib29sIG5lZWRzUHJlZmxpZ2h0UXVpcmsgPSBJ
T1NBcHBsaWNhdGlvbjo6aXNNb3ZpU3RhclBsdXMoKSAmJiAhbGlua2VkT25PckFmdGVyKFNES1Zl
cnNpb246OkZpcnN0V2l0aG91dE1vdmlTdGFyUGx1c0NPUlNQcmVmbGlnaHRRdWlyaykgJiYgKG1f
b3B0aW9ucy5wcmVmbGlnaHRQb2xpY3kgPT0gUHJlZmxpZ2h0UG9saWN5OjpDb25zaWRlciB8fCBt
X29wdGlvbnMucHJlZmxpZ2h0UG9saWN5ID09IFByZWZsaWdodFBvbGljeTo6Rm9yY2UpOwogI2Vs
c2UKICAgICBib29sIG5lZWRzUHJlZmxpZ2h0UXVpcmsgPSBmYWxzZTsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9RdWlya3MuY3BwCmluZGV4IDMxNTU2ZTQ2Zjk4MWM1NWNkYzY4MThiZjVkOGYxOGQxOWUyODFm
MmYuLjI3Yjc0NmQ0YmFmY2EwNzUyNjE5M2I2YjU5NjU2MjFhMDY3YzFhNGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1F1aXJrcy5jcHAKQEAgLTYzLDcgKzYzLDcgQEAKICNpbmNsdWRlICJVc2VyU2NyaXB0VHlwZXMu
aCIKIAogI2lmIFBMQVRGT1JNKENPQ09BKQotI2luY2x1ZGUgIlZlcnNpb25DaGVja3MuaCIKKyNp
bmNsdWRlIDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4KICNlbmRp
ZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NlY3VyaXR5T3JpZ2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4u
Y3BwCmluZGV4IDYyMTZiOTVhMTg1ZmU1NTgxMjM5OGIzMDgyYTRmZTAwOWZiNWI1ZmUuLjg0MzFm
NGM1MjExNjRmYTdhMjhiYTc5NTkzZjhhNDc0N2FhYjc2NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2VjdXJpdHlPcmlnaW4uY3BwCkBAIC00NSw3ICs0NSw3IEBACiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nQnVpbGRlci5oPgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0jaW5jbHVkZSAiVmVyc2lv
bkNoZWNrcy5oIgorI2luY2x1ZGUgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3ND
b2NvYS5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RpbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Rp
bWVyLmNwcAppbmRleCA4ZTg5NDNiZjdmMDQ2M2ZmZDZhNzk2ZjM1MWFkOTA0NTUyYTRiY2FhLi4x
ODkwNTNmOTI4NWY5ODg2ZmE1OWI4ODdhNzJhMGQ1ZWM5MTA0ODkzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGltZXIuY3BwCkBAIC0zNyw3ICszNyw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgog
CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0jaW5jbHVkZSAiVmVyc2lvbkNoZWNrcy5oIgogI2luY2x1
ZGUgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2VuZGlmCiAK
QEAgLTI1MSw5ICsyNTAsOSBAQCBwcml2YXRlOgogc3RhdGljIGJvb2wgc2hvdWxkU3VwcHJlc3NU
aHJlYWRTYWZldHlDaGVjaygpCiB7CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICByZXR1
cm4gV2ViVGhyZWFkSXNFbmFibGVkKCkgfHwgIWxpbmtlZE9uT3JBZnRlcihXZWJDb3JlOjpTREtW
ZXJzaW9uOjpGaXJzdFdpdGhUaW1lclRocmVhZFNhZmV0eUNoZWNrcyk7CisgICAgcmV0dXJuIFdl
YlRocmVhZElzRW5hYmxlZCgpIHx8ICFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RX
aXRoVGltZXJUaHJlYWRTYWZldHlDaGVja3MpOwogI2VsaWYgUExBVEZPUk0oTUFDKQotICAgIHJl
dHVybiAhaXNJbldlYlByb2Nlc3MoKSAmJiAhbGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1Zl
cnNpb246OkZpcnN0V2l0aFRpbWVyVGhyZWFkU2FmZXR5Q2hlY2tzKTsKKyAgICByZXR1cm4gIWlz
SW5XZWJQcm9jZXNzKCkgJiYgIWxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhU
aW1lclRocmVhZFNhZmV0eUNoZWNrcyk7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmVyc2lvbkNoZWNr
cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVmVyc2lvbkNoZWNrcy5oCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NGQyZTJiOTNjMzg1YzNlZWIyM2FlYzExMmJlNGFi
ZmI1Yjc5ZDQ3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZlcnNpb25DaGVja3MuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDExNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQot
I2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWVudW0gY2xhc3MgU0RLVmVyc2lvbiA6IHVpbnQzMl90IHsKLSNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQotICAgIEZpcnN0V2l0aFBpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gRFlM
RF9JT1NfVkVSU0lPTl85XzAsCi0gICAgRmlyc3RXaXRoTWVkaWFUeXBlc1JlcXVpcmluZ1VzZXJB
Y3Rpb25Gb3JQbGF5YmFjayA9IERZTERfSU9TX1ZFUlNJT05fMTBfMCwKLSAgICBGaXJzdFRoYXRS
ZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkVmlkZW8gPSBEWUxEX0lPU19WRVJTSU9OXzEwXzAsCi0g
ICAgRmlyc3RXaXRoTGlua1ByZXZpZXdFbmFibGVkQnlEZWZhdWx0ID0gRFlMRF9JT1NfVkVSU0lP
Tl8xMF8wLAotICAgIEZpcnN0VGhhdENvbnZlcnRzSW52YWxpZFVSTHNUb0JsYW5rID0gRFlMRF9J
T1NfVkVSU0lPTl8xMF8wLAotICAgIEZpcnN0V2l0aG91dFRoZVNlY3JldFNvY2lldHlIaWRkZW5N
eXN0ZXJ5V2luZG93T3BlblF1aXJrID0gRFlMRF9JT1NfVkVSU0lPTl8xMF8wLAotICAgIEZpcnN0
V2l0aFVucHJlZml4ZWRQbGF5c0lubGluZUF0dHJpYnV0ZSA9IERZTERfSU9TX1ZFUlNJT05fMTBf
MCwKLSAgICBGaXJzdFdpdGhFeGNlcHRpb25zRm9yRHVwbGljYXRlQ29tcGxldGlvbkhhbmRsZXJD
YWxscyA9IERZTERfSU9TX1ZFUlNJT05fMTFfMCwKLSAgICBGaXJzdFdpdGhFeHBpcmVkT25seVJl
bG9hZEJlaGF2aW9yID0gRFlMRF9JT1NfVkVSU0lPTl8xMV8wLAotICAgIEZpcnN0VGhhdERpc2Fs
bG93c1NldHRpbmdBbnlYSFJIZWFkZXJGcm9tRmlsZVVSTHMgPSBEWUxEX0lPU19WRVJTSU9OXzEx
XzMsCi0gICAgRmlyc3RUaGF0RGVmYXVsdHNUb1Bhc3NpdmVUb3VjaExpc3RlbmVyc09uRG9jdW1l
bnQgPSBEWUxEX0lPU19WRVJTSU9OXzExXzMsCi0gICAgRmlyc3RXaGVyZVNjcm9sbFZpZXdDb250
ZW50SW5zZXRzQXJlTm90T2JzY3VyaW5nSW5zZXRzID0gRFlMRF9JT1NfVkVSU0lPTl8xMl8wLAot
ICAgIEZpcnN0V2hlcmVVSVNjcm9sbFZpZXdEb2VzTm90QXBwbHlLZXlib2FyZEluc2V0c1VuY29u
ZGl0aW9uYWxseSA9IERZTERfSU9TX1ZFUlNJT05fMTJfMCwKLSAgICBGaXJzdFdpdGhNYWluVGhy
ZWFkUmVsZWFzZUFzc2VydGlvbkluV2ViUGFnZVByb3h5ID0gRFlMRF9JT1NfVkVSU0lPTl8xMl8w
LAotICAgIEZpcnN0V2l0aG91dE1vdmlTdGFyUGx1c0NPUlNQcmVmbGlnaHRRdWlyayA9IERZTERf
SU9TX1ZFUlNJT05fMTJfMCwKLSAgICBGaXJzdFdpdGhUaW1lclRocmVhZFNhZmV0eUNoZWNrcyA9
IERZTERfSU9TX1ZFUlNJT05fMTJfMCwKLSAgICBGaXJzdFdpdGhMYXp5R2VzdHVyZVJlY29nbml6
ZXJJbnN0YWxsYXRpb24gPSBEWUxEX0lPU19WRVJTSU9OXzEyXzIsCi0gICAgRmlyc3RXaXRoUHJv
Y2Vzc1N3YXBPbkNyb3NzU2l0ZU5hdmlnYXRpb24gPSBEWUxEX0lPU19WRVJTSU9OXzEyXzIsCi0g
ICAgRmlyc3RXaXRob3V0VW5jb25kaXRpb25hbFVuaXZlcnNhbFNhbmRib3hFeHRlbnNpb24gPSBE
WUxEX0lPU19WRVJTSU9OXzEzXzAsCi0gICAgRmlyc3RXaXRoU25hcHNob3RBZnRlclNjcmVlblVw
ZGF0ZXMgPSBEWUxEX0lPU19WRVJTSU9OXzEzXzAsCi0gICAgRmlyc3RXaXRoRGV2aWNlT3JpZW50
YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uQVBJID0gRFlMRF9JT1NfVkVSU0lPTl8xM18wLAotICAg
IEZpcnN0VGhhdERlY2lkZXNQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldyA9IERZ
TERfSU9TX1ZFUlNJT05fMTNfMCwKLSAgICBGaXJzdFdpdGhFeGNlcHRpb25zRm9yUmVsYXRlZFdl
YlZpZXdzVXNpbmdEaWZmZXJlbnREYXRhU3RvcmVzID0gRFlMRF9JT1NfVkVSU0lPTl8xM18wLAot
ICAgIEZpcnN0V2l0aE1vZGVybkNvbXBhYmlsaXR5TW9kZUJ5RGVmYXVsdCA9IERZTERfSU9TX1ZF
UlNJT05fMTNfMCwKLSAgICBGaXJzdFRoYXRIYXNVSUNvbnRleHRNZW51SW50ZXJhY3Rpb24gPSBE
WUxEX0lPU19WRVJTSU9OXzEzXzAsCi0gICAgRmlyc3RXaGVyZVdLQ29udGVudFZpZXdEb2VzTm90
T3ZlcnJpZGVLZXlDb21tYW5kcyA9IERZTERfSU9TX1ZFUlNJT05fMTNfMCwKLSAgICBGaXJzdFRo
YXRTdXBwb3J0c092ZXJmbG93SGlkZGVuT25NYWluRnJhbWUgPSBEWUxEX0lPU19WRVJTSU9OXzEz
XzAsCi0gICAgRmlyc3RXaXRob3V0SU1EYkNTU09NVmlld1Njcm9sbGluZ1F1aXJrID0gRFlMRF9J
T1NfVkVSU0lPTl8xM18wLAotICAgIEZpcnN0V2hlcmVTaXRlU3BlY2lmaWNRdWlya3NBcmVFbmFi
bGVkQnlEZWZhdWx0ID0gRFlMRF9JT1NfVkVSU0lPTl8xM18yLAotICAgIEZpcnN0VGhhdFJlc3Ry
aWN0c0Jhc2VVUkxTY2hlbWVzID0gRFlMRF9JT1NfVkVSU0lPTl8xM180LAotICAgIEZpcnN0VGhh
dFNlbmRzTmF0aXZlTW91c2VFdmVudHMgPSBEWUxEX0lPU19WRVJTSU9OXzEzXzQsCi0gICAgRmly
c3RXaXRoU2Vzc2lvbkNsZWFudXBCeURlZmF1bHQgPSBEWUxEX0lPU19WRVJTSU9OXzE0XzAsCi0g
ICAgRmlyc3RXaXRoSW5pdGlhbGl6ZVdlYktpdDJNYWluVGhyZWFkQXNzZXJ0aW9uID0gRFlMRF9J
T1NfVkVSU0lPTl8xNF8wLAotICAgIEZpcnN0V2l0aFdLV2Vic2l0ZURhdGFTdG9yZUluaXRSZXR1
cm5pbmdOaWwgPSBEWUxEX0lPU19WRVJTSU9OXzE0XzAsCi0gICAgRmlyc3RXaXRoV2ViU1FMRGlz
YWJsZWRCeURlZmF1bHRJbkxlZ2FjeVdlYktpdCA9IERZTERfSU9TX1ZFUlNJT05fMTRfMCwKLSAg
ICBGaXJzdFdpdGhvdXRMYUJhbnF1ZVBvc3RhbGVRdWlya3MgPSBEWUxEX0lPU19WRVJTSU9OXzE0
XzAsCi0gICAgRmlyc3RWZXJzaW9uV2l0aGlPU0FwcHNPbk1hY09TID0gRFlMRF9JT1NfVkVSU0lP
Tl8xNF8yLAotICAgIEZpcnN0V2l0aERhdGFVUkxGcmFnbWVudFJlbW92YWwgPSBEWUxEX0lPU19W
RVJTSU9OXzE0XzUsCi0gICAgRmlyc3RXaXRoSFRNTERvY3VtZW50U3VwcG9ydGVkUHJvcGVydHlO
YW1lcyA9IERZTERfSU9TX1ZFUlNJT05fMTRfNSwKLSAgICBGaXJzdFRoYXRPYnNlcnZlc0NsYXNz
UHJvcGVydHkgPSBEWUxEX0lPU19WRVJTSU9OXzE0XzUsCi0gICAgRmlyc3RXaXRob3V0V2VDaGF0
U2Nyb2xsaW5nUXVpcmsgPSBEWUxEX0lPU19WRVJTSU9OXzE0XzUsCi0gICAgRmlyc3RXaXRoU2hh
cmVkTmV0d29ya1Byb2Nlc3MgPSBEWUxEX0lPU19WRVJTSU9OXzE0XzUsCi0gICAgRmlyc3RXaXRo
QmxhbmtWaWV3T25KU1Byb21wdCA9IERZTERfSU9TX1ZFUlNJT05fMTRfNSwKLSAgICBGaXJzdFdp
dGhOdWxsT3JpZ2luRm9yTm9uU3BlY2lhbFNjaGVtZWRVUkxzID0gRFlMRF9JT1NfVkVSU0lPTl8x
NV8wLAotICAgIEZpcnN0V2l0aERPTVdpbmRvd1JldXNlUmVzdHJpY3Rpb24gID0gRFlMRF9JT1Nf
VkVSU0lPTl8xNV8wLAotICAgIEZpcnN0V2l0aEFwcGxpY2F0aW9uQ2FjaGVEaXNhYmxlZEJ5RGVm
YXVsdCA9IERZTERfSU9TX1ZFUlNJT05fMTVfMCwKLSAgICBGaXJzdFdpdGhvdXRFeHBhbmRvSW5k
ZXhlZFByb3BlcnRpZXNPbldpbmRvdyA9IERZTERfSU9TX1ZFUlNJT05fMTVfMCwKLSAgICBGaXJz
dFdpdGhBdXRob3JpemF0aW9uSGVhZGVyT25TYW1lT3JpZ2luUmVkaXJlY3RzID0gRFlMRF9JT1Nf
VkVSU0lPTl8xNV80LAotICAgIEZpcnN0Rm9yYmlkZGluZ0RvdFByZWZpeGVkRm9udHMgPSBEWUxE
X0lPU19WRVJTSU9OXzE2XzAsCi0jZWxpZiBQTEFURk9STShNQUMpCi0gICAgRmlyc3RUaGF0Q29u
dmVydHNJbnZhbGlkVVJMc1RvQmxhbmsgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzEyLAotICAg
IEZpcnN0V2l0aEV4Y2VwdGlvbnNGb3JEdXBsaWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzID0g
RFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xMywKLSAgICBGaXJzdFdpdGhEcm9wVG9OYXZpZ2F0ZURp
c2FsbG93ZWRCeURlZmF1bHQgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzEzLAotICAgIEZpcnN0
V2l0aEV4cGlyZWRPbmx5UmVsb2FkQmVoYXZpb3IgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzEz
LAotICAgIEZpcnN0V2l0aFdlYkljb25EYXRhYmFzZVdhcm5pbmcgPSBEWUxEX01BQ09TWF9WRVJT
SU9OXzEwXzEzLAotICAgIEZpcnN0V2l0aE1haW5UaHJlYWRSZWxlYXNlQXNzZXJ0aW9uSW5XZWJQ
YWdlUHJveHkgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzE0LAotICAgIEZpcnN0V2l0aFRpbWVy
VGhyZWFkU2FmZXR5Q2hlY2tzID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xNCwKLSAgICBGaXJz
dFdpdGhvdXRVbmNvbmRpdGlvbmFsVW5pdmVyc2FsU2FuZGJveEV4dGVuc2lvbiA9IERZTERfTUFD
T1NYX1ZFUlNJT05fMTBfMTUsCi0gICAgRmlyc3RXaXRoU25hcHNob3RBZnRlclNjcmVlblVwZGF0
ZXMgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEwXzE1LAotICAgIEZpcnN0V2l0aEV4Y2VwdGlvbnNG
b3JSZWxhdGVkV2ViVmlld3NVc2luZ0RpZmZlcmVudERhdGFTdG9yZXMgPSBEWUxEX01BQ09TWF9W
RVJTSU9OXzEwXzE1LAotICAgIEZpcnN0V2l0aERvd25sb2FkRGVsZWdhdGVzQ2FsbGVkT25UaGVN
YWluVGhyZWFkID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xNSwKLSAgICBGaXJzdFdoZXJlU2l0
ZVNwZWNpZmljUXVpcmtzQXJlRW5hYmxlZEJ5RGVmYXVsdCA9IERZTERfTUFDT1NYX1ZFUlNJT05f
MTBfMTVfMSwKLSAgICBGaXJzdFRoYXRSZXN0cmljdHNCYXNlVVJMU2NoZW1lcyA9IERZTERfTUFD
T1NYX1ZFUlNJT05fMTBfMTVfNCwKLSAgICBGaXJzdFdpdGhTZXNzaW9uQ2xlYW51cEJ5RGVmYXVs
dCA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTBfMTYsCi0gICAgRmlyc3RXaXRoSW5pdGlhbGl6ZVdl
YktpdDJNYWluVGhyZWFkQXNzZXJ0aW9uID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMF8xNiwKLSAg
ICBGaXJzdFdpdGhXS1dlYnNpdGVEYXRhU3RvcmVJbml0UmV0dXJuaW5nTmlsID0gRFlMRF9NQUNP
U1hfVkVSU0lPTl8xMF8xNiwKLSAgICBGaXJzdFdpdGhEYXRhVVJMRnJhZ21lbnRSZW1vdmFsID0g
RFlMRF9NQUNPU1hfVkVSU0lPTl8xMV8zLAotICAgIEZpcnN0V2l0aEhUTUxEb2N1bWVudFN1cHBv
cnRlZFByb3BlcnR5TmFtZXMgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzExXzMsCi0gICAgRmlyc3RX
aXRoTnVsbE9yaWdpbkZvck5vblNwZWNpYWxTY2hlbWVkVVJMcyA9IERZTERfTUFDT1NYX1ZFUlNJ
T05fMTJfMDAsCi0gICAgRmlyc3RXaXRoRE9NV2luZG93UmV1c2VSZXN0cmljdGlvbiA9IERZTERf
TUFDT1NYX1ZFUlNJT05fMTJfMDAsCi0gICAgRmlyc3RXaXRoQmxhbmtWaWV3T25KU1Byb21wdCA9
IERZTERfTUFDT1NYX1ZFUlNJT05fMTFfMywKLSAgICBGaXJzdFdpdGhvdXRDbGllbnRDZXJ0aWZp
Y2F0ZUxvb2t1cCA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTFfMywKLSAgICBGaXJzdFRoYXREZWZh
dWx0c1RvUGFzc2l2ZVdoZWVsTGlzdGVuZXJzT25Eb2N1bWVudCA9IERZTERfTUFDT1NYX1ZFUlNJ
T05fMTFfMywKLSAgICBGaXJzdFRoYXRBbGxvd3NXaGVlbEV2ZW50R2VzdHVyZXNUb0JlY29tZU5v
bkJsb2NraW5nID0gRFlMRF9NQUNPU1hfVkVSU0lPTl8xMV8zLAotICAgIEZpcnN0V2l0aEFwcGxp
Y2F0aW9uQ2FjaGVEaXNhYmxlZEJ5RGVmYXVsdCA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTJfMDAs
Ci0gICAgRmlyc3RXaXRob3V0RXhwYW5kb0luZGV4ZWRQcm9wZXJ0aWVzT25XaW5kb3cgPSBEWUxE
X01BQ09TWF9WRVJTSU9OXzEyXzAwLAotICAgIEZpcnN0V2l0aEF1dGhvcml6YXRpb25IZWFkZXJP
blNhbWVPcmlnaW5SZWRpcmVjdHMgPSBEWUxEX01BQ09TWF9WRVJTSU9OXzEyXzMsCi0gICAgRmly
c3RGb3JiaWRkaW5nRG90UHJlZml4ZWRGb250cyA9IERZTERfTUFDT1NYX1ZFUlNJT05fMTNfMCwK
LSNlbmRpZgotfTsKLQotV0VCQ09SRV9FWFBPUlQgYm9vbCBsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVy
c2lvbik7Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Zl
cnNpb25DaGVja3MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9WZXJzaW9uQ2hl
Y2tzLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTRiYThmMDA0ZDFkMjU3Yjk5
ODFlOTVmN2Q4NTNhYThlNjI1NjhiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1ZlcnNpb25DaGVja3Mu
bW0KKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE1LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1w
b3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIlZlcnNpb25DaGVja3MuaCIKLQotI2ltcG9ydCAiUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCi0jaW1wb3J0IDxtYWNoLW8vZHlsZC5oPgotI2ltcG9y
dCA8bXV0ZXg+Ci0jaW1wb3J0IDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29j
b2EuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1ib29sIGxpbmtlZE9uT3JBZnRlcihTREtW
ZXJzaW9uIHNka1ZlcnNpb24pCi17Ci0gICAgaWYgKGF1dG8gb3ZlcnJpZGVWYWx1ZSA9IGxpbmtl
ZE9uT3JBZnRlck92ZXJyaWRlKCkpCi0gICAgICAgIHJldHVybiAqb3ZlcnJpZGVWYWx1ZSA9PSBM
aW5rZWRPbk9yQWZ0ZXJPdmVycmlkZTo6QWZ0ZXJFdmVyeXRoaW5nOwotCi0gICAgYXV0byBzZGtW
ZXJzaW9uQXNJbnRlZ2VyID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHNka1ZlcnNpb24pOwotICAg
IHJldHVybiBzZGtWZXJzaW9uQXNJbnRlZ2VyICYmIGFwcGxpY2F0aW9uU0RLVmVyc2lvbigpID49
IHNka1ZlcnNpb25Bc0ludGVnZXI7Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRl
eCA3ZTZmNjUzYmRkNDkxZWFjMmM5NGU3YTdlOWFiMjFhN2Y5NDIyMjY4Li40NDg0MmY4YTIzNGQx
N2M1MmY2MjdiMmE0MDU4OTFhYTAwNmVmYmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBA
IC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiRm9udFBhbGV0dGVWYWx1ZXMuaCIKICNpbmNsdWRl
ICJSZW5kZXJUaGVtZUNvY29hLmgiCiAjaW5jbHVkZSAiU3lzdGVtRm9udERhdGFiYXNlQ29yZVRl
eHQuaCIKLSNpbmNsdWRlICJWZXJzaW9uQ2hlY2tzLmgiCiAjaW5jbHVkZSA8Q29yZVRleHQvU0ZO
VExheW91dFR5cGVzLmg+CiAjaW5jbHVkZSA8cGFsL3NwaS9jZi9Db3JlVGV4dFNQSS5oPgogI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CkBAIC00Myw2ICs0Miw3IEBACiAjaW5jbHVkZSA8d3RmL01l
bW9yeVByZXNzdXJlSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgog
I2luY2x1ZGUgPHd0Zi9jZi9UeXBlQ2FzdHNDRi5oPgorI2luY2x1ZGUgPHd0Zi9jb2NvYS9SdW50
aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogCiAvLyBGSVhNRTogVGhpcyBzZWVtcyBsaWtl
IGl0IHNob3VsZCBiZSBpbiBQbGF0Zm9ybUhhdmUuaC4KIC8vIEZJWE1FOiBMaWtlbHkgd2UgY2Fu
IHJlbW92ZSB0aGlzIHNwZWNpYWwgY2FzZSBmb3Igd2F0Y2hPUyBhbmQgdHZPUy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRGF0YVVSTERlY29kZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKaW5kZXgg
YTJiNDJlM2ZiY2RiYzM2ZDg0MTJlYzI4YWMzYWJkMTg4Y2NmZjE2NC4uOTMxZTJjY2RhNjJjYmQy
MjNkZTI0NTY4OWE3ODE5ZjFmOGMyZmU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9EYXRhVVJMRGVjb2Rlci5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNs
dWRlIDx3dGYvdGV4dC9CYXNlNjQuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQotI2luY2x1ZGUg
IlZlcnNpb25DaGVja3MuaCIKKyNpbmNsdWRlIDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzQ29jb2EuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKaW5kZXggYjVhZmM1
ZDVkNmQzZTFkZjcyZDY5ZDNhMGI5NzJhYzRlNGYwYzhiZS4uNmI1OTFmYzc5NGVmZGYzYTU3OTg1
NzI3MGYxYzE2Zjc5Y2Q1ZTdjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9q
cy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMv
V2ViQ29yZVRlc3RTdXBwb3J0LmNwcApAQCAtNTEsNyArNTEsNiBAQAogCiAjaWYgUExBVEZPUk0o
Q09DT0EpCiAjaW5jbHVkZSAiVVRJUmVnaXN0cnkuaCIKLSNpbmNsdWRlICJWZXJzaW9uQ2hlY2tz
LmgiCiAjaW5jbHVkZSA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJT
dG9yYWdlL2lvcy9Mb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXJJT1MubW0gYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvaW9zL0xvY2FsU3RvcmFnZURhdGFiYXNlVHJh
Y2tlcklPUy5tbQppbmRleCBkODI5MjUxYTJhM2UxN2NlZWQ2MDVhZmNlOTE5Y2MxZGUxNmQyNjIy
Li5hYzE2OTU2ZWMyOTc1OTUzNTc4MTAwYTVhNDYxYjQ5NjQyMmFiZGMzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvaW9zL0xvY2FsU3RvcmFnZURh
dGFiYXNlVHJhY2tlcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dl
YlN0b3JhZ2UvaW9zL0xvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlcklPUy5tbQpAQCAtMjgsOCAr
MjgsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAotI2ltcG9ydCA8V2ViQ29yZS9W
ZXJzaW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgorI2ltcG9ydCA8d3RmL2Nv
Y29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9O
ZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCA2NDliNWNhNzhjNjg3NWVjZGUwZDNkNDM2Zjk1
OTBkYjUxNzlkMGIxLi4yYzFlNzFlYzhiNDY5NDdjYTI4MTZlYzdlNjQ3NmQyODA5Y2Y2NGQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRh
VGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTQxLDcgKzQxLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUv
UmVnaXN0cmFibGVEb21haW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1RpbWluZ0FsbG93T3JpZ2luLmg+Ci0jaW1wb3J0IDxXZWJDb3Jl
L1ZlcnNpb25DaGVja3MuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAj
aW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CkBAIC00
OSw2ICs0OCw3IEBACiAjaW1wb3J0IDx3dGYvUHJvY2Vzc1ByaXZpbGVnZS5oPgogI2ltcG9ydCA8
d3RmL1N5c3RlbVRyYWNpbmcuaD4KICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgorI2ltcG9y
dCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjaW1wb3J0IDx3
dGYvdGV4dC9CYXNlNjQuaD4KIAogI2lmIEhBVkUoTldfQUNUSVZJVFkpCkBAIC00OTYsNyArNDk2
LDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rp
b24oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYKICAgICAgICAgcmVxdWVzdC5jbGVhckhUVFBP
cmlnaW4oKTsKIAogICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmIChhdXRvIGF1dGhvcml6YXRpb24g
PSBtX2ZpcnN0UmVxdWVzdC5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6
OkF1dGhvcml6YXRpb24pOyAhYXV0aG9yaXphdGlvbi5pc051bGwoKSAmJiBsaW5rZWRPbk9yQWZ0
ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRoQXV0aG9yaXphdGlvbkhlYWRlck9uU2Ft
ZU9yaWdpblJlZGlyZWN0cykpCisgICAgICAgIGlmIChhdXRvIGF1dGhvcml6YXRpb24gPSBtX2Zp
cnN0UmVxdWVzdC5odHRwSGVhZGVyRmllbGQoV2ViQ29yZTo6SFRUUEhlYWRlck5hbWU6OkF1dGhv
cml6YXRpb24pOyAhYXV0aG9yaXphdGlvbi5pc051bGwoKSAmJiBsaW5rZWRPbk9yQWZ0ZXIoU0RL
VmVyc2lvbjo6Rmlyc3RXaXRoQXV0aG9yaXphdGlvbkhlYWRlck9uU2FtZU9yaWdpblJlZGlyZWN0
cykpCiAgICAgICAgICAgICByZXF1ZXN0LnNldEhUVFBIZWFkZXJGaWVsZChXZWJDb3JlOjpIVFRQ
SGVhZGVyTmFtZTo6QXV0aG9yaXphdGlvbiwgYXV0aG9yaXphdGlvbik7CiAKICNpZiBVU0UoQ1JF
REVOVElBTF9TVE9SQUdFX1dJVEhfTkVUV09SS19TRVNTSU9OKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCmlu
ZGV4IDZlMjQ1M2U0NzI0MjlhMTYwMmE4Y2I2MGQwN2MzNWJlMjkwMDU5NGQuLjQ0YWU4NDI0ZTBi
NTQ3ZGRlYjQ1MGMzYjkyNDhlM2Y4OGUyNzQ5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Byb2Nlc3NDb2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0KQEAgLTQx
LDcgKzQxLDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbXBvcnQg
PFdlYkNvcmUvU2VjdXJpdHlPcmlnaW5EYXRhLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NvY2tldFN0
cmVhbUhhbmRsZUltcGwuaD4KLSNpbXBvcnQgPFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgogI2lt
cG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtTUEkuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5o
PgogI2ltcG9ydCA8d3RmL0NhbGxiYWNrQWdncmVnYXRvci5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCmlu
ZGV4IDFmMDY1NDQ5ZWM5MmMxYzU2OGQ2ZjkyYzBkYWUzYWNmZDE5MDNiZDEuLjBhM2MxYjgxOTAy
Y2UyYTgyYTk2YTA4YWVhNDJhYTkxMTc4OWMxZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KQEAgLTQ4
LDcgKzQ4LDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVm
ZmVyLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1ZlcnNpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNv
cmUvV2ViQ29yZVVSTFJlc3BvbnNlLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQ
SS5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CkBAIC02MCw2ICs1OSw3IEBACiAjaW1wb3J0
IDx3dGYvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPHd0Zi9VUkwuaD4KICNpbXBvcnQgPHd0Zi9X
ZWFrT2JqQ1B0ci5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
c0NvY29hLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvVHlwZUNhc3RzQ29jb2EuaD4KICNpbXBvcnQg
PHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2Rhcndpbi9XZWFrTGlua2lu
Zy5oPgpAQCAtMTEwNyw3ICsxMTA3LDcgQEAgc3RhdGljIE5TVVJMU2Vzc2lvbkNvbmZpZ3VyYXRp
b24gKmNvbmZpZ3VyYXRpb25Gb3JTZXNzaW9uSUQoUEFMOjpTZXNzaW9uSUQgc2Vzc2kKICAgICAg
ICAgY29uZmlndXJhdGlvbiA9IFtOU1VSTFNlc3Npb25Db25maWd1cmF0aW9uIGRlZmF1bHRTZXNz
aW9uQ29uZmlndXJhdGlvbl07CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgYm9vbCBwcmV2ZW50
Q0ZOZXR3b3JrQ2xpZW50Q2VydGlmaWNhdGVMb29rdXAgPSBsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29y
ZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRob3V0Q2xpZW50Q2VydGlmaWNhdGVMb29rdXApIHx8IHNl
c3Npb24uaXNFcGhlbWVyYWwoKTsKKyAgICBib29sIHByZXZlbnRDRk5ldHdvcmtDbGllbnRDZXJ0
aWZpY2F0ZUxvb2t1cCA9IGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhvdXRD
bGllbnRDZXJ0aWZpY2F0ZUxvb2t1cCkgfHwgc2Vzc2lvbi5pc0VwaGVtZXJhbCgpOwogI2Vsc2UK
ICAgICBib29sIHByZXZlbnRDRk5ldHdvcmtDbGllbnRDZXJ0aWZpY2F0ZUxvb2t1cCA9IHRydWU7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvbXBsZXRp
b25IYW5kbGVyQ2FsbENoZWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Db21w
bGV0aW9uSGFuZGxlckNhbGxDaGVja2VyLm1tCmluZGV4IGU0NWNhMjFmMjI0OGQ4NGFlMDk0MTgx
YzFhYmMyNTdjZmFiOWUwMGMuLmYyYzQ1YmFiZTM0NjY1MzFmMWUxOWQ2ZjE0OTMyMThhZjg4NDdm
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0NvbXBsZXRpb25IYW5k
bGVyQ2FsbENoZWNrZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQ29tcGxl
dGlvbkhhbmRsZXJDYWxsQ2hlY2tlci5tbQpAQCAtMjYsMTAgKzI2LDEwIEBACiAjaW1wb3J0ICJj
b25maWcuaCIKICNpbXBvcnQgIkNvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXIuaCIKIAotI2lt
cG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxtdXRleD4KICNpbXBvcnQg
PG9iamMvcnVudGltZS5oPgogI2ltcG9ydCA8d3RmL1JlZi5oPgorI2ltcG9ydCA8d3RmL2NvY29h
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CkBAIC02NSw3ICs2NSw3IEBAIHN0YXRpYyBib29sIHNob3VsZFRocm93RXhjZXB0aW9uRm9yRHVw
bGljYXRlQ29tcGxldGlvbkhhbmRsZXJDYWxsKCkKICAgICBzdGF0aWMgYm9vbCBzaG91bGRUaHJv
d0V4Y2VwdGlvbjsKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZTsKICAgICBzdGQ6OmNh
bGxfb25jZShvbmNlLCBbXSB7Ci0gICAgICAgIHNob3VsZFRocm93RXhjZXB0aW9uID0gbGlua2Vk
T25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0V2l0aEV4Y2VwdGlvbnNGb3JEdXBs
aWNhdGVDb21wbGV0aW9uSGFuZGxlckNhbGxzKTsKKyAgICAgICAgc2hvdWxkVGhyb3dFeGNlcHRp
b24gPSBsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRoRXhjZXB0aW9uc0ZvckR1
cGxpY2F0ZUNvbXBsZXRpb25IYW5kbGVyQ2FsbHMpOwogICAgIH0pOwogICAgIHJldHVybiBzaG91
bGRUaHJvd0V4Y2VwdGlvbjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nv
Y29hL0RlZmF1bHRXZWJCcm93c2VyQ2hlY2tzLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvRGVmYXVsdFdlYkJyb3dzZXJDaGVja3MubW0KaW5kZXggZGQ1YTA4ZjYxMjQwYTNiNzExMjc3
NzA1ZjE3Mjk2ZjEyMDJkYzgwYS4uYWMzM2Y1M2E3YTA0YjUwZWQ3YzVjMzBhODI0NTExMmFkMjM0
NWU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvRGVmYXVsdFdlYkJy
b3dzZXJDaGVja3MubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvRGVmYXVsdFdl
YkJyb3dzZXJDaGVja3MubW0KQEAgLTI5LDE3ICsyOSwxOCBAQAogI2ltcG9ydCAiQXV4aWxpYXJ5
UHJvY2Vzcy5oIgogI2ltcG9ydCAiQ29ubmVjdGlvbi5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgot
I2ltcG9ydCAiVENDU29mdExpbmsuaCIKICNpbXBvcnQgPFdlYkNvcmUvUmVnaXN0cmFibGVEb21h
aW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+Ci0jaW1w
b3J0IDxXZWJDb3JlL1ZlcnNpb25DaGVja3MuaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CiAj
aW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAj
aW1wb3J0IDx3dGYvV29ya1F1ZXVlLmg+CiAjaW1wb3J0IDx3dGYvY29jb2EvRW50aXRsZW1lbnRz
Lmg+CisjaW1wb3J0IDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4K
ICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAorI2ltcG9ydCAiVENDU29mdExpbmsu
aCIKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIHN0YXRpYyBib29sIGlzRnVsbFdlYkJyb3dzZXIo
Y29uc3QgU3RyaW5nJik7CkBAIC0xMjQsNyArMTI1LDcgQEAgdm9pZCBkZXRlcm1pbmVJVFBTdGF0
ZSgpCiAgICAgaWYgKGN1cnJlbnRJVFBTdGF0ZSAhPSBJVFBTdGF0ZTo6VW5pbml0aWFsaXplZCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgYm9vbCBhcHBXYXNMaW5rZWRPbk9yQWZ0ZXIgPSBsaW5r
ZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRoU2Vzc2lvbkNsZWFudXBC
eURlZmF1bHQpOworICAgIGJvb2wgYXBwV2FzTGlua2VkT25PckFmdGVyID0gbGlua2VkT25PckFm
dGVyKFNES1ZlcnNpb246OkZpcnN0V2l0aFNlc3Npb25DbGVhbnVwQnlEZWZhdWx0KTsKIAogICAg
IGl0cFF1ZXVlKCkgPSBXb3JrUXVldWU6OmNyZWF0ZSgiY29tLmFwcGxlLldlYktpdC5pdHBDaGVj
a1F1ZXVlIik7CiAgICAgaXRwUXVldWUoKS0+ZGlzcGF0Y2goW2FwcFdhc0xpbmtlZE9uT3JBZnRl
ciwgYnVuZGxlSWRlbnRpZmllciA9IFdlYkNvcmU6OmFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmll
cigpLmlzb2xhdGVkQ29weSgpXSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b2NvYS9XZWJLaXQySW5pdGlhbGl6ZUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29j
b2EvV2ViS2l0MkluaXRpYWxpemVDb2NvYS5tbQppbmRleCAxODAwMzRkNzk5YmI3YTFiYWNlODE4
ZDFlOTFlZWI1ZmUyZjhmNTU4Li5iMGUwMTU5MTgxMmVlNjM5MTE5OWViMGZmZTljMjMwYWZkOTgw
ZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9XZWJLaXQySW5pdGlh
bGl6ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL1dlYktpdDJJbml0
aWFsaXplQ29jb2EubW0KQEAgLTI3LDEyICsyNywxMiBAQAogI2ltcG9ydCAiV2ViS2l0MkluaXRp
YWxpemUuaCIKIAogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSW5pdGlhbGl6ZVRocmVhZGluZy5o
PgotI2ltcG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dl
YkNvcmVKSVRPcGVyYXRpb25zLmg+CiAjaW1wb3J0IDxtdXRleD4KICNpbXBvcnQgPHd0Zi9NYWlu
VGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvUmVmQ291bnRlZC5oPgogI2ltcG9ydCA8d3RmL1dvcmtR
dWV1ZS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29h
Lmg+CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3Jl
VGhyZWFkU3lzdGVtSW50ZXJmYWNlLmg+CkBAIC02NCw3ICs2NCw3IEBAIHZvaWQgSW5pdGlhbGl6
ZVdlYktpdDIoKQogICAgIC8vIE1ha2Ugc3VyZSB0aGUgaW5pdGlhbGl6YXRpb24gY29kZSBpcyBy
dW4gb25seSBvbmNlIGFuZCBvbiB0aGUgbWFpbiB0aHJlYWQgc2luY2UgdGhpbmdzIGxpa2UgaW5p
dGlhbGl6ZU1haW5UaHJlYWQoKQogICAgIC8vIGFyZSBvbmx5IHNhZmUgdG8gY2FsbCBvbiB0aGUg
bWFpbiB0aHJlYWQuCiAgICAgc3RkOjpjYWxsX29uY2UoZmxhZywgW10gewotICAgICAgICBpZiAo
W05TVGhyZWFkIGlzTWFpblRocmVhZF0gfHwgbGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1Zl
cnNpb246OkZpcnN0V2l0aEluaXRpYWxpemVXZWJLaXQyTWFpblRocmVhZEFzc2VydGlvbikpCisg
ICAgICAgIGlmIChbTlNUaHJlYWQgaXNNYWluVGhyZWFkXSB8fCBsaW5rZWRPbk9yQWZ0ZXIoU0RL
VmVyc2lvbjo6Rmlyc3RXaXRoSW5pdGlhbGl6ZVdlYktpdDJNYWluVGhyZWFkQXNzZXJ0aW9uKSkK
ICAgICAgICAgICAgIHJ1bkluaXRpYWxpemF0aW9uQ29kZSgpOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICBXb3JrUXVldWU6Om1haW4oKS5kaXNwYXRjaFN5bmMoW10geyBydW5Jbml0aWFsaXph
dGlvbkNvZGUoKTsgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmF1bHRWYWx1ZXMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXNEZWZhdWx0VmFsdWVzLmNwcAppbmRleCBiODk1NDk1Y2ZhZTYxYzU4YjAyN2QxZGU2YTQx
ZmU0MmU2MjMzYzNkLi5mYTBkZjRkZWUzMTJiMzVhMmYwOTA2ZDQ4NmMwMzFhYTQ4MjdjMGNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmYXVsdFZh
bHVlcy5jcHAKQEAgLTMwLDcgKzMwLDYgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQotI2luY2x1ZGUgPFdlYkNvcmUvVmVyc2lvbkNoZWNr
cy5oPgogI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvRmVhdHVyZUZsYWdzU1BJLmg+CiAjaW5jbHVk
ZSA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjZW5kaWYKQEAg
LTUzLDEzICs1MiwxMyBAQCBib29sIGlzRmVhdHVyZUZsYWdFbmFibGVkKGNvbnN0IGNoYXIqLCBi
b29sIGRlZmF1bHRWYWx1ZSkKIAogYm9vbCBkZWZhdWx0UGFzc2l2ZVRvdWNoTGlzdGVuZXJzQXNE
ZWZhdWx0T25Eb2N1bWVudCgpCiB7Ci0gICAgc3RhdGljIGJvb2wgcmVzdWx0ID0gbGlua2VkT25P
ckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0VGhhdERlZmF1bHRzVG9QYXNzaXZlVG91
Y2hMaXN0ZW5lcnNPbkRvY3VtZW50KTsKKyAgICBzdGF0aWMgYm9vbCByZXN1bHQgPSBsaW5rZWRP
bk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RUaGF0RGVmYXVsdHNUb1Bhc3NpdmVUb3VjaExpc3Rl
bmVyc09uRG9jdW1lbnQpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGJvb2wgZGVmYXVsdENT
U09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWQoKQogewotICAgIHN0YXRpYyBib29sIHJlc3VsdCA9
IFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc0lNRGIoKSAmJiAhbGlua2VkT25PckFmdGVyKFdl
YkNvcmU6OlNES1ZlcnNpb246OkZpcnN0V2l0aG91dElNRGJDU1NPTVZpZXdTY3JvbGxpbmdRdWly
ayk7CisgICAgc3RhdGljIGJvb2wgcmVzdWx0ID0gV2ViQ29yZTo6SU9TQXBwbGljYXRpb246Omlz
SU1EYigpICYmICFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRob3V0SU1EYkNT
U09NVmlld1Njcm9sbGluZ1F1aXJrKTsKICAgICByZXR1cm4gIXJlc3VsdDsKIH0KIApAQCAtNzYs
MTMgKzc1LDEzIEBAIGJvb2wgZGVmYXVsdEFsdGVybmF0ZUZvcm1Db250cm9sRGVzaWduRW5hYmxl
ZCgpCiAKIGJvb2wgZGVmYXVsdFBhc3NpdmVXaGVlbExpc3RlbmVyc0FzRGVmYXVsdE9uRG9jdW1l
bnQoKQogewotICAgIHN0YXRpYyBib29sIHJlc3VsdCA9IGxpbmtlZE9uT3JBZnRlcihXZWJDb3Jl
OjpTREtWZXJzaW9uOjpGaXJzdFRoYXREZWZhdWx0c1RvUGFzc2l2ZVdoZWVsTGlzdGVuZXJzT25E
b2N1bWVudCk7CisgICAgc3RhdGljIGJvb2wgcmVzdWx0ID0gbGlua2VkT25PckFmdGVyKFNES1Zl
cnNpb246OkZpcnN0VGhhdERlZmF1bHRzVG9QYXNzaXZlV2hlZWxMaXN0ZW5lcnNPbkRvY3VtZW50
KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBib29sIGRlZmF1bHRXaGVlbEV2ZW50R2VzdHVy
ZXNCZWNvbWVOb25CbG9ja2luZygpCiB7Ci0gICAgc3RhdGljIGJvb2wgcmVzdWx0ID0gbGlua2Vk
T25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0VGhhdEFsbG93c1doZWVsRXZlbnRH
ZXN0dXJlc1RvQmVjb21lTm9uQmxvY2tpbmcpOworICAgIHN0YXRpYyBib29sIHJlc3VsdCA9IGxp
bmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFRoYXRBbGxvd3NXaGVlbEV2ZW50R2VzdHVy
ZXNUb0JlY29tZU5vbkJsb2NraW5nKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xNDks
NyArMTQ4LDcgQEAgYm9vbCBkZWZhdWx0QXN5bmNPdmVyZmxvd1Njcm9sbGluZ0VuYWJsZWQoKQog
Ym9vbCBkZWZhdWx0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKCkKIHsKICNpZiBQ
TEFURk9STShDT0NPQSkKLSAgICBzdGF0aWMgYm9vbCBuZXdTREsgPSBsaW5rZWRPbk9yQWZ0ZXIo
V2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRoQXBwbGljYXRpb25DYWNoZURpc2FibGVkQnlE
ZWZhdWx0KTsKKyAgICBzdGF0aWMgYm9vbCBuZXdTREsgPSBsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVy
c2lvbjo6Rmlyc3RXaXRoQXBwbGljYXRpb25DYWNoZURpc2FibGVkQnlEZWZhdWx0KTsKICAgICBy
ZXR1cm4gIW5ld1NESzsKICNlbHNlCiAgICAgLy8gRklYTUU6IE90aGVyIHBsYXRmb3JtcyBzaG91
bGQgY29uc2lkZXIgdHVybmluZyB0aGlzIG9mZi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuY3BwCmluZGV4IDViMmIyYjE0OGMyYTNkOGJiZTljMzZiZTQ3OGM3NGMzNmZmNGRi
N2IuLjUwOWI5YjI1ZjM5NGY2YjM2N2NiYjhkNjg3NTg3YzE0ZDI4ODViNjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcApAQCAtOTgsNyArOTgsNyBAQAogI2VuZGlm
CiAKICNpZiBQTEFURk9STShDT0NPQSkKLSNpbmNsdWRlIDxXZWJDb3JlL1ZlcnNpb25DaGVja3Mu
aD4KKyNpbmNsdWRlIDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaD4K
ICNlbmRpZgogCiBuYW1lc3BhY2UgQVBJIHsKQEAgLTMwOSw3ICszMDksNyBAQCB2b2lkIFdLUGFn
ZVJlbG9hZChXS1BhZ2VSZWYgcGFnZVJlZikKICAgICBDUkFTSF9JRl9TVVNQRU5ERUQ7CiAgICAg
T3B0aW9uU2V0PFdlYkNvcmU6OlJlbG9hZE9wdGlvbj4gcmVsb2FkT3B0aW9uczsKICNpZiBQTEFU
Rk9STShDT0NPQSkKLSAgICBpZiAobGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246
OkZpcnN0V2l0aEV4cGlyZWRPbmx5UmVsb2FkQmVoYXZpb3IpKQorICAgIGlmIChsaW5rZWRPbk9y
QWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRoRXhwaXJlZE9ubHlSZWxvYWRCZWhhdmlvcikpCiAg
ICAgICAgIHJlbG9hZE9wdGlvbnMuYWRkKFdlYkNvcmU6OlJlbG9hZE9wdGlvbjo6RXhwaXJlZE9u
bHkpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCmluZGV4IGUzZTIxNzM0OWYxMzlkOTczZjBiZDQ0MDFlNDQ5MGNlNGI2MzQzNTEu
LmI4ZTMxNTE3N2VjNDg1M2RmZmJlNGExNjA3NWMwYzI0ZTgyNzUyODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMTMzLDcgKzEzMyw2
IEBACiAjaW1wb3J0IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9T
dHJpbmdVdGlsaXRpZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvVGV4dE1hbmlwdWxhdGlvbkNvbnRy
b2xsZXIuaD4KLSNpbXBvcnQgPFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9WaWV3cG9ydEFyZ3VtZW50cy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4
dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJWaWV3VmlzdWFsSWRlbnRpZmljYXRpb25PdmVy
bGF5Lmg+CkBAIC0xNDYsNiArMTQ1LDcgQEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNp
bXBvcnQgPHd0Zi9TeXN0ZW1UcmFjaW5nLmg+CiAjaW1wb3J0IDx3dGYvVVVJRC5oPgorI2ltcG9y
dCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjaW1wb3J0IDx3
dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KICNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL2R5bGRTUEku
aD4KICNpbXBvcnQgPHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4KQEAgLTI0MCwxMyArMjQwLDEzIEBA
IC0gKEJPT0wpX2lzVmFsaWQKIAogc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0
dXJlTWVkaWFQbGF5YmFjaygpCiB7Ci0gICAgc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dQaWN0dXJl
SW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9IFdlYkNvcmU6OmxpbmtlZE9uT3JBZnRlcihXZWJDb3Jl
OjpTREtWZXJzaW9uOjpGaXJzdFdpdGhQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayk7Cisg
ICAgc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjayA9
IGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhQaWN0dXJlSW5QaWN0dXJlTWVk
aWFQbGF5YmFjayk7CiAgICAgcmV0dXJuIHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlh
UGxheWJhY2s7CiB9CiAKIHN0YXRpYyBib29sIHNob3VsZEFsbG93U2V0dGluZ0FueVhIUkhlYWRl
ckZyb21GaWxlVVJMcygpCiB7Ci0gICAgc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dTZXR0aW5nQW55
WEhSSGVhZGVyRnJvbUZpbGVVUkxzID0gKFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc0NhcmRp
b2dyYW0oKSB8fCBXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNOaWtlKCkpICYmICFsaW5rZWRP
bk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RUaGF0RGlzYWxsb3dzU2V0dGluZ0Fu
eVhIUkhlYWRlckZyb21GaWxlVVJMcyk7CisgICAgc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dTZXR0
aW5nQW55WEhSSGVhZGVyRnJvbUZpbGVVUkxzID0gKFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjpp
c0NhcmRpb2dyYW0oKSB8fCBXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNOaWtlKCkpICYmICFs
aW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RUaGF0RGlzYWxsb3dzU2V0dGluZ0FueVhI
UkhlYWRlckZyb21GaWxlVVJMcyk7CiAgICAgcmV0dXJuIHNob3VsZEFsbG93U2V0dGluZ0FueVhI
UkhlYWRlckZyb21GaWxlVVJMczsKIH0KIApAQCAtMjU1LDcgKzI1NSw3IEBAIHN0YXRpYyBib29s
IHNob3VsZEFsbG93U2V0dGluZ0FueVhIUkhlYWRlckZyb21GaWxlVVJMcygpCiBzdGF0aWMgYm9v
bCBzaG91bGRSZXF1aXJlVXNlckdlc3R1cmVUb0xvYWRWaWRlbygpCiB7CiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLSAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXF1aXJlVXNlckdlc3R1cmVUb0xv
YWRWaWRlbyA9IGxpbmtlZE9uT3JBZnRlcihXZWJDb3JlOjpTREtWZXJzaW9uOjpGaXJzdFRoYXRS
ZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkVmlkZW8pOworICAgIHN0YXRpYyBib29sIHNob3VsZFJl
cXVpcmVVc2VyR2VzdHVyZVRvTG9hZFZpZGVvID0gbGlua2VkT25PckFmdGVyKFNES1ZlcnNpb246
OkZpcnN0VGhhdFJlcXVpcmVzVXNlckdlc3R1cmVUb0xvYWRWaWRlbyk7CiAgICAgcmV0dXJuIHNo
b3VsZFJlcXVpcmVVc2VyR2VzdHVyZVRvTG9hZFZpZGVvOwogI2Vsc2UKICAgICByZXR1cm4gZmFs
c2U7CkBAIC0yNjQsNyArMjY0LDcgQEAgc3RhdGljIGJvb2wgc2hvdWxkUmVxdWlyZVVzZXJHZXN0
dXJlVG9Mb2FkVmlkZW8oKQogCiBzdGF0aWMgYm9vbCBzaG91bGRSZXN0cmljdEJhc2VVUkxTY2hl
bWVzKCkKIHsKLSAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXN0cmljdEJhc2VVUkxTY2hlbWVzID0g
bGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0VGhhdFJlc3RyaWN0c0Jh
c2VVUkxTY2hlbWVzKTsKKyAgICBzdGF0aWMgYm9vbCBzaG91bGRSZXN0cmljdEJhc2VVUkxTY2hl
bWVzID0gbGlua2VkT25PckFmdGVyKFNES1ZlcnNpb246OkZpcnN0VGhhdFJlc3RyaWN0c0Jhc2VV
UkxTY2hlbWVzKTsKICAgICByZXR1cm4gc2hvdWxkUmVzdHJpY3RCYXNlVVJMU2NoZW1lczsKIH0K
IApAQCAtMzQwLDcgKzM0MCw3IEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlv
bjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICAgICAgICAgV0tQcm9j
ZXNzUG9vbCAqcmVsYXRlZFdlYlZpZXdQcm9jZXNzUG9vbCA9IFtyZWxhdGVkV2ViVmlldy0+X2Nv
bmZpZ3VyYXRpb24gcHJvY2Vzc1Bvb2xdOwogICAgICAgICBpZiAocHJvY2Vzc1Bvb2wgJiYgcHJv
Y2Vzc1Bvb2wgIT0gcmVsYXRlZFdlYlZpZXdQcm9jZXNzUG9vbCkKICAgICAgICAgICAgIFtOU0V4
Y2VwdGlvbiByYWlzZTpOU0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBmb3JtYXQ6QCJSZWxhdGVk
IHdlYiB2aWV3ICVAIGhhcyBwcm9jZXNzIHBvb2wgJUAgYnV0IGNvbmZpZ3VyYXRpb24gc3BlY2lm
aWVzIGEgZGlmZmVyZW50IHByb2Nlc3MgcG9vbCAlQCIsIHJlbGF0ZWRXZWJWaWV3LCByZWxhdGVk
V2ViVmlld1Byb2Nlc3NQb29sLCBjb25maWd1cmF0aW9uLnByb2Nlc3NQb29sXTsKLSAgICAgICAg
aWYgKFtyZWxhdGVkV2ViVmlldy0+X2NvbmZpZ3VyYXRpb24gd2Vic2l0ZURhdGFTdG9yZV0gIT0g
W19jb25maWd1cmF0aW9uIHdlYnNpdGVEYXRhU3RvcmVdICYmIGxpbmtlZE9uT3JBZnRlcihXZWJD
b3JlOjpTREtWZXJzaW9uOjpGaXJzdFdpdGhFeGNlcHRpb25zRm9yUmVsYXRlZFdlYlZpZXdzVXNp
bmdEaWZmZXJlbnREYXRhU3RvcmVzKSkKKyAgICAgICAgaWYgKFtyZWxhdGVkV2ViVmlldy0+X2Nv
bmZpZ3VyYXRpb24gd2Vic2l0ZURhdGFTdG9yZV0gIT0gW19jb25maWd1cmF0aW9uIHdlYnNpdGVE
YXRhU3RvcmVdICYmIGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhFeGNlcHRp
b25zRm9yUmVsYXRlZFdlYlZpZXdzVXNpbmdEaWZmZXJlbnREYXRhU3RvcmVzKSkKICAgICAgICAg
ICAgIFtOU0V4Y2VwdGlvbiByYWlzZTpOU0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBmb3JtYXQ6
QCJSZWxhdGVkIHdlYiB2aWV3ICVAIGhhcyBkYXRhIHN0b3JlICVAIGJ1dCBjb25maWd1cmF0aW9u
IHNwZWNpZmllcyBhIGRpZmZlcmVudCBkYXRhIHN0b3JlICVAIiwgcmVsYXRlZFdlYlZpZXcsIFty
ZWxhdGVkV2ViVmlldy0+X2NvbmZpZ3VyYXRpb24gd2Vic2l0ZURhdGFTdG9yZV0sIFtfY29uZmln
dXJhdGlvbiB3ZWJzaXRlRGF0YVN0b3JlXV07CiAKICAgICAgICAgW19jb25maWd1cmF0aW9uIHNl
dFByb2Nlc3NQb29sOnJlbGF0ZWRXZWJWaWV3UHJvY2Vzc1Bvb2xdOwpAQCAtMzY0LDcgKzM2NCw3
IEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICAgICBfdmlld3BvcnRNZXRhVGFnV2lkdGggPSBXZWJD
b3JlOjpWaWV3cG9ydEFyZ3VtZW50czo6VmFsdWVBdXRvOwogICAgIF9pbml0aWFsU2NhbGVGYWN0
b3IgPSAxOwogICAgIF9hbGxvd3NWaWV3cG9ydFNocmlua1RvRml0ID0gZGVmYXVsdEFsbG93c1Zp
ZXdwb3J0U2hyaW5rVG9GaXQ7Ci0gICAgX2FsbG93c0xpbmtQcmV2aWV3ID0gbGlua2VkT25PckFm
dGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0V2l0aExpbmtQcmV2aWV3RW5hYmxlZEJ5RGVm
YXVsdCk7CisgICAgX2FsbG93c0xpbmtQcmV2aWV3ID0gbGlua2VkT25PckFmdGVyKFNES1ZlcnNp
b246OkZpcnN0V2l0aExpbmtQcmV2aWV3RW5hYmxlZEJ5RGVmYXVsdCk7CiAKICNpZiBIQVZFKFVJ
RklORElOVEVSQUNUSU9OKQogICAgIF9maW5kSW50ZXJhY3Rpb25FbmFibGVkID0gTk87CkBAIC01
MTEsNyArNTExLDcgQEAgLSAodm9pZClfc2V0dXBQYWdlQ29uZmlndXJhdGlvbjooUmVmPEFQSTo6
UGFnZUNvbmZpZ3VyYXRpb24+JilwYWdlQ29uZmlndXJhdGlvbgogICAgIHBhZ2VDb25maWd1cmF0
aW9uLT5wcmVmZXJlbmNlcygpLT5zZXRBbGxvd1NldHRpbmdBbnlYSFJIZWFkZXJGcm9tRmlsZVVS
THMoc2hvdWxkQWxsb3dTZXR0aW5nQW55WEhSSGVhZGVyRnJvbUZpbGVVUkxzKCkpOwogICAgIHBh
Z2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlcygpLT5zZXRTaG91bGREZWNpZGVQb2xpY3lCZWZv
cmVMb2FkaW5nUXVpY2tMb29rUHJldmlldyghIVtfY29uZmlndXJhdGlvbiBfc2hvdWxkRGVjaWRl
UG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXddKTsKICNpZiBFTkFCTEUoREVWSUNF
X09SSUVOVEFUSU9OKQotICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlcygpLT5zZXRE
ZXZpY2VPcmllbnRhdGlvblBlcm1pc3Npb25BUElFbmFibGVkKGxpbmtlZE9uT3JBZnRlcihXZWJD
b3JlOjpTREtWZXJzaW9uOjpGaXJzdFdpdGhEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvblBlcm1p
c3Npb25BUEkpKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0RGV2
aWNlT3JpZW50YXRpb25QZXJtaXNzaW9uQVBJRW5hYmxlZChsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVy
c2lvbjo6Rmlyc3RXaXRoRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25QZXJtaXNzaW9uQVBJKSk7
CiAjZW5kaWYKICNpZiBVU0UoU1lTVEVNX1BSRVZJRVcpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24t
PnByZWZlcmVuY2VzKCktPnNldFN5c3RlbVByZXZpZXdFbmFibGVkKCEhW19jb25maWd1cmF0aW9u
IF9zeXN0ZW1QcmV2aWV3RW5hYmxlZF0pOwpAQCAtNTY2LDcgKzU2Niw3IEBAIC0gKHZvaWQpX3Nl
dHVwUGFnZUNvbmZpZ3VyYXRpb246KFJlZjxBUEk6OlBhZ2VDb25maWd1cmF0aW9uPiYpcGFnZUNv
bmZpZ3VyYXRpb24KICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0U2Ft
cGxlZFBhZ2VUb3BDb2xvck1heERpZmZlcmVuY2UoW19jb25maWd1cmF0aW9uIF9zYW1wbGVkUGFn
ZVRvcENvbG9yTWF4RGlmZmVyZW5jZV0pOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJl
bmNlcygpLT5zZXRTYW1wbGVkUGFnZVRvcENvbG9yTWluSGVpZ2h0KFtfY29uZmlndXJhdGlvbiBf
c2FtcGxlZFBhZ2VUb3BDb2xvck1pbkhlaWdodF0pOwogCi0gICAgaWYgKCFsaW5rZWRPbk9yQWZ0
ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaGVyZVNpdGVTcGVjaWZpY1F1aXJrc0FyZUVu
YWJsZWRCeURlZmF1bHQpKQorICAgIGlmICghbGlua2VkT25PckFmdGVyKFNES1ZlcnNpb246OkZp
cnN0V2hlcmVTaXRlU3BlY2lmaWNRdWlya3NBcmVFbmFibGVkQnlEZWZhdWx0KSkKICAgICAgICAg
cGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldE5lZWRzU2l0ZVNwZWNpZmljUXVp
cmtzKGZhbHNlKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC04NzIsNyArODcyLDcg
QEAgLSAoV0tOYXZpZ2F0aW9uICopcmVsb2FkCiB7CiAgICAgVEhST1dfSUZfU1VTUEVOREVEOwog
ICAgIE9wdGlvblNldDxXZWJDb3JlOjpSZWxvYWRPcHRpb24+IHJlbG9hZE9wdGlvbnM7Ci0gICAg
aWYgKGxpbmtlZE9uT3JBZnRlcihXZWJDb3JlOjpTREtWZXJzaW9uOjpGaXJzdFdpdGhFeHBpcmVk
T25seVJlbG9hZEJlaGF2aW9yKSkKKyAgICBpZiAobGlua2VkT25PckFmdGVyKFNES1ZlcnNpb246
OkZpcnN0V2l0aEV4cGlyZWRPbmx5UmVsb2FkQmVoYXZpb3IpKQogICAgICAgICByZWxvYWRPcHRp
b25zLmFkZChXZWJDb3JlOjpSZWxvYWRPcHRpb246OkV4cGlyZWRPbmx5KTsKIAogICAgIHJldHVy
biB3cmFwcGVyKF9wYWdlLT5yZWxvYWQocmVsb2FkT3B0aW9ucykpOwpAQCAtMTI0Miw3ICsxMjQy
LDcgQEAgLSAodm9pZCl0YWtlU25hcHNob3RXaXRoQ29uZmlndXJhdGlvbjooV0tTbmFwc2hvdENv
bmZpZ3VyYXRpb24gKilzbmFwc2hvdENvbmZpZ3UKICAgICAgICAgfV07CiAgICAgfTsKIAotICAg
IGlmICgoc25hcHNob3RDb25maWd1cmF0aW9uICYmICFzbmFwc2hvdENvbmZpZ3VyYXRpb24uYWZ0
ZXJTY3JlZW5VcGRhdGVzKSB8fCAhbGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246
OkZpcnN0V2l0aFNuYXBzaG90QWZ0ZXJTY3JlZW5VcGRhdGVzKSkgeworICAgIGlmICgoc25hcHNo
b3RDb25maWd1cmF0aW9uICYmICFzbmFwc2hvdENvbmZpZ3VyYXRpb24uYWZ0ZXJTY3JlZW5VcGRh
dGVzKSB8fCAhbGlua2VkT25PckFmdGVyKFNES1ZlcnNpb246OkZpcnN0V2l0aFNuYXBzaG90QWZ0
ZXJTY3JlZW5VcGRhdGVzKSkgewogICAgICAgICBjYWxsU25hcHNob3RSZWN0KCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCmluZGV4IGNlYTZjNDRlYzdmNDU4
NGVkZjFjMjA4ODIwMmVlODlkOTRhM2IwOWEuLjA0ZTA0NDI5ODgzMWNjYWNjZGQ3NTMxZTQ0YzQw
NDU3ZWQ2YzU2NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC00NCwxMCArNDQsMTAgQEAK
ICNpbXBvcnQgIl9XS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29y
ZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2V0dGluZ3Mu
aD4KLSNpbXBvcnQgPFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgogI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgogI2ltcG9ydCA8d3RmL1VSTFBhcnNlci5oPgogI2ltcG9ydCA8d3RmL1dlYWtPYmpD
UHRyLmg+CisjaW1wb3J0IDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2Eu
aD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKQEAgLTEwNSw3ICsxMDUsNyBAQCBzdGF0aWMgX1dLRHJhZ0xpZnREZWxheSB0b0Ry
YWdMaWZ0RGVsYXkoTlNVSW50ZWdlciB2YWx1ZSkKIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGRE
ZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiB7CiAjaWYgVVNFKFFV
SUNLX0xPT0spCi0gICAgc3RhdGljIGJvb2wgc2hvdWxkRGVjaWRlID0gbGlua2VkT25PckFmdGVy
KFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0VGhhdERlY2lkZXNQb2xpY3lCZWZvcmVMb2FkaW5n
UXVpY2tMb29rUHJldmlldyk7CisgICAgc3RhdGljIGJvb2wgc2hvdWxkRGVjaWRlID0gbGlua2Vk
T25PckFmdGVyKFNES1ZlcnNpb246OkZpcnN0VGhhdERlY2lkZXNQb2xpY3lCZWZvcmVMb2FkaW5n
UXVpY2tMb29rUHJldmlldyk7CiAgICAgcmV0dXJuIHNob3VsZERlY2lkZTsKICNlbHNlCiAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMjAyLDcgKzIwMiw3IEBAIC0gKGluc3RhbmNldHlwZSlpbml0CiAg
ICAgX2FsbG93c0lubGluZU1lZGlhUGxheWJhY2tBZnRlckZ1bGxzY3JlZW4gPSAhX2FsbG93c0lu
bGluZU1lZGlhUGxheWJhY2s7CiAgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IF9h
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOwogI2lmICFQTEFURk9STShXQVRDSE9TKQotICAgIGlm
IChXZWJDb3JlOjpsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRo
TWVkaWFUeXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjaykpCisgICAgaWYgKGxpbmtl
ZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhNZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFj
dGlvbkZvclBsYXliYWNrKSkKICAgICAgICAgX21lZGlhVHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9u
Rm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFUeXBlQXVkaW87CiAgICAgZWxzZQogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJz
aXRlRGF0YVN0b3JlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
c2l0ZURhdGFTdG9yZS5tbQppbmRleCBmNjU2ZDI2MTY1NWI3M2ViYTA0YjUwYWFhOTg5MmZhYWU1
ZjMxODU5Li5mOTEzNDgzZGVkYTA0MTI3NjM4YWZiYWRmMWRkNzJlYjg0YjM4MjE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJzaXRlRGF0YVN0b3Jl
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnNpdGVEYXRh
U3RvcmUubW0KQEAgLTQ3LDExICs0NywxMSBAQAogI2ltcG9ydCAiX1dLV2Vic2l0ZURhdGFTdG9y
ZURlbGVnYXRlLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0NyZWRlbnRpYWwuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUmVnaXN0cmF0aW9uRGF0YWJhc2UuaD4KLSNpbXBvcnQgPFdlYkNvcmUvVmVyc2lvbkNo
ZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlT2JqQ0V4dHJhcy5oPgogI2ltcG9ydCA8
d3RmL0Jsb2NrUHRyLmg+CiAjaW1wb3J0IDx3dGYvVVJMLmg+CiAjaW1wb3J0IDx3dGYvV2Vha09i
akNQdHIuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2Nv
YS5oPgogCiBjbGFzcyBXZWJzaXRlRGF0YVN0b3JlQ2xpZW50IGZpbmFsIDogcHVibGljIFdlYktp
dDo6V2Vic2l0ZURhdGFTdG9yZUNsaWVudCB7CiBwdWJsaWM6CkBAIC0xMjIsNyArMTIyLDcgQEAg
KyAoV0tXZWJzaXRlRGF0YVN0b3JlICopbm9uUGVyc2lzdGVudERhdGFTdG9yZQogCiAtIChpbnN0
YW5jZXR5cGUpaW5pdAogewotICAgIGlmIChXZWJDb3JlOjpsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29y
ZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRoV0tXZWJzaXRlRGF0YVN0b3JlSW5pdFJldHVybmluZ05p
bCkpCisgICAgaWYgKGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhXS1dlYnNp
dGVEYXRhU3RvcmVJbml0UmV0dXJuaW5nTmlsKSkKICAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNl
Ok5TR2VuZXJpY0V4Y2VwdGlvbiBmb3JtYXQ6QCJDYWxsaW5nIFtXS1dlYnNpdGVEYXRhU3RvcmUg
aW5pdF0gaXMgbm90IHN1cHBvcnRlZC4iXTsKICAgICAKICAgICBpZiAoIShzZWxmID0gW3N1cGVy
IGluaXRdKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tX
ZWJWaWV3SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJ
T1MubW0KaW5kZXggMDIxZWRiZGM0YWUyMzcyMjVjYmRiODY1NjNkZTU3NzliYmIxMDg0Ny4uZmY1
YWFhYTdhNGI1YzkzZWUxMjdmNDEyMDQwMjU3NWQyMmQ0NjUxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MubW0KQEAgLTU5LDEyICs1OSwxMiBA
QAogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbEN1cnJlbnRUcmFpdENvbGxlY3Rpb24uaD4KICNpbXBv
cnQgPFdlYkNvcmUvTUlNRVR5cGVSZWdpc3RyeS5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3MuaD4KLSNpbXBvcnQgPFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgog
I2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3Bp
L2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNp
bXBvcnQgPHd0Zi9GaXhlZFZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL1N5c3RlbVRyYWNpbmcuaD4K
KyNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2lt
cG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CiAKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJ
T04pCkBAIC02MzMsNyArNjMzLDcgQEAgLSAoVUlFZGdlSW5zZXRzKV9jb250ZW50SW5zZXRzRnJv
bVN5c3RlbU1pbmltdW1MYXlvdXRNYXJnaW5zCiAKIC0gKFVJRWRnZUluc2V0cylfY29tcHV0ZWRP
YnNjdXJlZEluc2V0CiB7Ci0gICAgaWYgKCFsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVy
c2lvbjo6Rmlyc3RXaGVyZVNjcm9sbFZpZXdDb250ZW50SW5zZXRzQXJlTm90T2JzY3VyaW5nSW5z
ZXRzKSkgeworICAgIGlmICghbGlua2VkT25PckFmdGVyKFNES1ZlcnNpb246OkZpcnN0V2hlcmVT
Y3JvbGxWaWV3Q29udGVudEluc2V0c0FyZU5vdE9ic2N1cmluZ0luc2V0cykpIHsKICAgICAgICAg
Ly8gRm9yIGJpbmFyeSBjb21wYWJpbGl0eSB3aXRoIHRoaXJkIHBhcnR5IGFwcHMsIHRyZWF0IHNj
cm9sbCB2aWV3IGNvbnRlbnQgaW5zZXRzIGFzIG9ic2N1cmluZyBpbnNldHMgd2hlbiB0aGUgYXBw
IGlzIGNvbXBpbGVkCiAgICAgICAgIC8vIGFnYWluc3QgYSBXZWJLaXQgdmVyc2lvbiB3aXRob3V0
IHRoZSBmaXggaW4gcjIyOTY0MS4KICAgICAgICAgcmV0dXJuIFtzZWxmIF9jb21wdXRlZENvbnRl
bnRJbnNldF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dL
V2ViVmlld01hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tXZWJWaWV3
TWFjLm1tCmluZGV4IGQ2ZmFmNDg4MjFlMGEwZmFhMDczYzE5ZTg1MThhN2I1MjI0MWExZmYuLjZi
NmVkYjVmZjFhYzFmM2VjNzFkNjdiNmE3YzE4OWU5MzQwZmQ3NTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tXZWJWaWV3TWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tXZWJWaWV3TWFjLm1tCkBAIC00MCw4ICs0MCw4IEBA
CiAjaW1wb3J0ICJXZWJWaWV3SW1wbC5oIgogI2ltcG9ydCAiX1dLRnJhbWVIYW5kbGVJbnRlcm5h
bC5oIgogI2ltcG9ydCAiX1dLSGl0VGVzdFJlc3VsdEludGVybmFsLmgiCi0jaW1wb3J0IDxXZWJD
b3JlL1ZlcnNpb25DaGVja3MuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TVGV4dEZpbmRlclNQ
SS5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+
CiAKIF9XS092ZXJsYXlTY3JvbGxiYXJTdHlsZSB0b0FQSVNjcm9sbGJhclN0eWxlKHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlPiBjb3JlU2Nyb2xsYmFyU3R5bGUp
CiB7CkBAIC0xMTk5LDcgKzExOTksNyBAQCAtIChXS0RyYWdEZXN0aW5hdGlvbkFjdGlvbilfd2Vi
X2RyYWdEZXN0aW5hdGlvbkFjdGlvbkZvckRyYWdnaW5nSW5mbzooaWQgPE5TRHJhZwogICAgIGlm
IChbdWlEZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmRyYWdE
ZXN0aW5hdGlvbkFjdGlvbk1hc2tGb3JEcmFnZ2luZ0luZm86KV0pCiAgICAgICAgIHJldHVybiBb
dWlEZWxlZ2F0ZSBfd2ViVmlldzpzZWxmIGRyYWdEZXN0aW5hdGlvbkFjdGlvbk1hc2tGb3JEcmFn
Z2luZ0luZm86ZHJhZ2dpbmdJbmZvXTsKIAotICAgIGlmICghbGlua2VkT25PckFmdGVyKFdlYkNv
cmU6OlNES1ZlcnNpb246OkZpcnN0V2l0aERyb3BUb05hdmlnYXRlRGlzYWxsb3dlZEJ5RGVmYXVs
dCkpCisgICAgaWYgKCFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRoRHJvcFRv
TmF2aWdhdGVEaXNhbGxvd2VkQnlEZWZhdWx0KSkKICAgICAgICAgcmV0dXJuIFdLRHJhZ0Rlc3Rp
bmF0aW9uQWN0aW9uQW55OwogCiAgICAgcmV0dXJuIFdLRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uQW55
ICYgfldLRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCmluZGV4IDQ5MjVlMzUzMjll
ODE0ZmM4OWNlNGE4M2JmYTU3NmFlOTg5OGM0YzUuLjExMDNhZTAwYjMzMjBkNTM3Mzk3ODhmMjc3
MDQxYTc3NTE5NWUyMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQpAQCAtNjMsNyArNjMsNiBAQAogI2ltcG9ydCA8V2Vi
Q29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVk
QnVmZmVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1VUSVV0aWxpdGllcy5oPgotI2ltcG9ydCA8V2Vi
Q29yZS9WZXJzaW9uQ2hlY2tzLmg+CiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KICNpbXBvcnQg
PHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTm90aWZp
Y2F0aW9uQ2VudGVyU1BJLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9J
bnNwZWN0b3IvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9JbnNwZWN0b3IvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KaW5k
ZXggZjBkYzJmYTNlMWY3YjFkZTk2ODk3YjEwYjE2ZGU3OGYyZmZmMjZiNS4uZDk4MjY2MmI5ZmJi
N2ZlM2I2ZmE4NThmNTVlZDVkMjgwZGU0MTUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvSW5zcGVjdG9yL21hYy9XS0luc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9tYWMvV0tJbnNwZWN0b3JWaWV3Q29u
dHJvbGxlci5tbQpAQCAtNDQsOCArNDQsOCBAQAogI2ltcG9ydCAiV2ViSW5zcGVjdG9yVXRpbGl0
aWVzLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIl9XS0luc3BlY3RvckNv
bmZpZ3VyYXRpb25JbnRlcm5hbC5oIgotI2ltcG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hlY2tzLmg+
CiAjaW1wb3J0IDx3dGYvV2Vha09iakNQdHIuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogCiBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBXS0lu
c3BlY3RvclJlc291cmNlU2NoZW1lID0gQCJpbnNwZWN0b3ItcmVzb3VyY2UiOwogCkBAIC0yODYs
NyArMjg2LDcgQEAgLSAodm9pZClpbnNwZWN0b3JXS1dlYlZpZXdSZWxvYWQ6KFdLSW5zcGVjdG9y
V0tXZWJWaWV3ICopd2ViVmlldwogICAgICAgICByZXR1cm47CiAKICAgICBPcHRpb25TZXQ8V2Vi
Q29yZTo6UmVsb2FkT3B0aW9uPiByZWxvYWRPcHRpb25zOwotICAgIGlmIChXZWJDb3JlOjpsaW5r
ZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRoRXhwaXJlZE9ubHlSZWxv
YWRCZWhhdmlvcikpCisgICAgaWYgKGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdp
dGhFeHBpcmVkT25seVJlbG9hZEJlaGF2aW9yKSkKICAgICAgICAgcmVsb2FkT3B0aW9ucy5hZGQo
V2ViQ29yZTo6UmVsb2FkT3B0aW9uOjpFeHBpcmVkT25seSk7CiAKICAgICBfaW5zcGVjdGVkUGFn
ZS0+cmVsb2FkKHJlbG9hZE9wdGlvbnMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGlu
Z0Nvb3JkaW5hdG9yUHJveHkuY3BwCmluZGV4IDFkY2M3ZmRlOWZiZmEyZTRiNjEwY2RhYTBmZTgy
ZTZiZTQ0MGNhOWQuLjUyOTE4M2U0OGFiZTdmMDM4ZGQ1ODBhMWU0NDM1ZTY1ZDQyZjk1ZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVT
Y3JvbGxpbmdDb29yZGluYXRvclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKQEAg
LTQxLDcgKzQxLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbGluZ1N0YXRlUG9zaXRpb25l
ZE5vZGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbGluZ1N0YXRlVHJlZS5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZS5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgorI2luY2x1ZGUgPHd0Zi9jb2NvYS9SdW50aW1lQXBw
bGljYXRpb25DaGVja3NDb2NvYS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwpAQCAtMjcyLDcgKzI3Miw3IEBAIGJvb2wgUmVtb3RlU2Nyb2xsaW5nQ29v
cmRpbmF0b3JQcm94eTo6aGFzU2Nyb2xsYWJsZU9yWm9vbWVkTWFpbkZyYW1lKCkgY29uc3QKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICBpZiAo
V2ViQ29yZTo6SU9TQXBwbGljYXRpb246OmlzRXZlbnRicml0ZSgpICYmICFsaW5rZWRPbk9yQWZ0
ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RUaGF0U3VwcG9ydHNPdmVyZmxvd0hpZGRlbk9u
TWFpbkZyYW1lKSkKKyAgICBpZiAoV2ViQ29yZTo6SU9TQXBwbGljYXRpb246OmlzRXZlbnRicml0
ZSgpICYmICFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RUaGF0U3VwcG9ydHNPdmVy
Zmxvd0hpZGRlbk9uTWFpbkZyYW1lKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggOTI1Y2I5ZTYzNWZk
NTY4NjJlYTcxYjFkMjNmNzFiZmM0OGRlYWI2OS4uYTE5ZDU0YzVkYzczMTFlZTIyYTMxNjE2ZTRh
YTQwOTQyOGZiYWE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CkBAIC0yMjUsOSArMjI1LDkgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0NvcmVBdWRpb0NhcHR1cmVE
ZXZpY2VNYW5hZ2VyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW5Mb29wT2JzZXJ2ZXIuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1N5c3RlbUJhdHRlcnkuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1ZlcnNp
b25DaGVja3MuaD4KICNpbmNsdWRlIDx3dGYvTWFjaFNlbmRSaWdodC5oPgogI2luY2x1ZGUgPHd0
Zi9jb2NvYS9FbnRpdGxlbWVudHMuaD4KKyNpbmNsdWRlIDx3dGYvY29jb2EvUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzQ29jb2EuaD4KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtMTMy
Nyw3ICsxMzI3LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1heWJlSW5pdGlhbGl6ZVNhbmRib3hF
eHRlbnNpb25IYW5kbGUoV2ViUHJvY2Vzc1Byb3h5JiBwcm9jZXMKICAgICB9CiAKICNpZiBQTEFU
Rk9STShDT0NPQSkKLSAgICBpZiAoIWxpbmtlZE9uT3JBZnRlcihXZWJDb3JlOjpTREtWZXJzaW9u
OjpGaXJzdFdpdGhvdXRVbmNvbmRpdGlvbmFsVW5pdmVyc2FsU2FuZGJveEV4dGVuc2lvbikpCisg
ICAgaWYgKCFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRob3V0VW5jb25kaXRp
b25hbFVuaXZlcnNhbFNhbmRib3hFeHRlbnNpb24pKQogICAgICAgICB3aWxsQWNxdWlyZVVuaXZl
cnNhbEZpbGVSZWFkU2FuZGJveEV4dGVuc2lvbihwcm9jZXNzKTsKICNlbmRpZgogCkBAIC0yNjM3
LDcgKzI2MzcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bWFrZVZpZXdCbGFua0lmVW5wYWludGVk
U2luY2VMYXN0TG9hZENvbW1pdCgpCiB7CiAgICAgaWYgKCFtX2hhc1VwZGF0ZWRSZW5kZXJpbmdB
ZnRlckRpZENvbW1pdExvYWQpIHsKICNpZiBQTEFURk9STShDT0NPQSkKLSAgICAgICAgc3RhdGlj
IGJvb2wgc2hvdWxkTWFrZVZpZXdCbGFuayA9IGxpbmtlZE9uT3JBZnRlcihXZWJDb3JlOjpTREtW
ZXJzaW9uOjpGaXJzdFdpdGhCbGFua1ZpZXdPbkpTUHJvbXB0KTsKKyAgICAgICAgc3RhdGljIGJv
b2wgc2hvdWxkTWFrZVZpZXdCbGFuayA9IGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJz
dFdpdGhCbGFua1ZpZXdPbkpTUHJvbXB0KTsKICNlbHNlCiAgICAgICAgIHN0YXRpYyBib29sIHNo
b3VsZE1ha2VWaWV3QmxhbmsgPSB0cnVlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOTlhNDIzNTBhNTA3Zjc3OTkxMzZjMWEwYTI4OGMy
NDZkMzUzYWUwZi4uNjBiOTQxMWQ2MDkxMjA4MTg2ZjYwNzVhZjI5OTdhYzZkY2QwNzU4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMTM2LDcgKzEz
Niw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9ISURHYW1lcGFkUHJvdmlkZXIuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL011bHRpR2FtZXBhZFByb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qb3dl
clNvdXJjZU5vdGlmaWVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9WZXJzaW9uQ2hlY2tzLmg+Cisj
aW5jbHVkZSA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTI3NSw3ICsyNzUsNyBAQCBXZWJQcm9jZXNzUG9v
bDo6V2ViUHJvY2Vzc1Bvb2woQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24mIGNvbmZpZ3Vy
YXRpb24pCiAgICAgdXBkYXRlQmFja0ZvcndhcmRDYWNoZUNhcGFjaXR5KCk7CiAKICNpZiBQTEFU
Rk9STShJT1MpCi0gICAgaWYgKFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc0x1dHJvbigpICYm
ICFXZWJDb3JlOjpsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRo
U2hhcmVkTmV0d29ya1Byb2Nlc3MpKSB7CisgICAgaWYgKFdlYkNvcmU6OklPU0FwcGxpY2F0aW9u
Ojppc0x1dHJvbigpICYmICFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRoU2hh
cmVkTmV0d29ya1Byb2Nlc3MpKSB7CiAgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFtdIHsKICAg
ICAgICAgICAgIGlmIChXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0RGF0YVN0b3JlRXhpc3RzKCkp
CiAgICAgICAgICAgICAgICAgV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdERhdGFTdG9yZSgpLT50
ZXJtaW5hdGVOZXR3b3JrUHJvY2VzcygpOwpAQCAtMTEyNCw3ICsxMTI0LDcgQEAgUmVmPFdlYlBh
Z2VQcm94eT4gV2ViUHJvY2Vzc1Bvb2w6OmNyZWF0ZVdlYlBhZ2UoUGFnZUNsaWVudCYgcGFnZUNs
aWVudCwgUmVmPEFQSToKIAogICAgIGJvb2wgZW5hYmxlUHJvY2Vzc1N3YXBPbkNyb3NzU2l0ZU5h
dmlnYXRpb24gPSBwYWdlLT5wcmVmZXJlbmNlcygpLnByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZp
Z2F0aW9uRW5hYmxlZCgpOwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgaWYgKFdlYkNv
cmU6OklPU0FwcGxpY2F0aW9uOjppc0ZpcmVmb3goKSAmJiAhbGlua2VkT25PckFmdGVyKFdlYkNv
cmU6OlNES1ZlcnNpb246OkZpcnN0V2l0aFByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZpZ2F0aW9u
KSkKKyAgICBpZiAoV2ViQ29yZTo6SU9TQXBwbGljYXRpb246OmlzRmlyZWZveCgpICYmICFsaW5r
ZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRoUHJvY2Vzc1N3YXBPbkNyb3NzU2l0ZU5h
dmlnYXRpb24pKQogICAgICAgICBlbmFibGVQcm9jZXNzU3dhcE9uQ3Jvc3NTaXRlTmF2aWdhdGlv
biA9IGZhbHNlOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UHJveHkuY3BwCmluZGV4IGZkZmQ0OGNhMWViYzBhNzQ3NzJmNThiZjkwZjViOGE0ZTc5YjNhYWQu
LjRjMWM0YjRhNTBlZmE0MGM3YjFhZjc4YjhiODRhNGY3OTE5YjEwZTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcApAQCAtODEsNyArODEsNyBAQAogI2lu
Y2x1ZGUgIk9iakNPYmplY3RHcmFwaC5oIgogI2luY2x1ZGUgIlBERlBsdWdpbi5oIgogI2luY2x1
ZGUgIlVzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL1Zl
cnNpb25DaGVja3MuaD4KKyNpbmNsdWRlIDx3dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzQ29jb2EuaD4KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtMTI4LDkgKzEyOCw5
IEBAIGJvb2wgV2ViUHJvY2Vzc1Byb3h5OjpoYXNSZWFjaGVkUHJvY2Vzc0NvdW50TGltaXQoKQog
c3RhdGljIGJvb2wgaXNNYWluVGhyZWFkT3JDaGVja0Rpc2FibGVkKCkKIHsKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotICAgIHJldHVybiBMSUtFTFkoUnVuTG9vcDo6aXNNYWluKCkpIHx8ICFs
aW5rZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRoTWFpblRocmVhZFJl
bGVhc2VBc3NlcnRpb25JbldlYlBhZ2VQcm94eSk7CisgICAgcmV0dXJuIExJS0VMWShSdW5Mb29w
Ojppc01haW4oKSkgfHwgIWxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhNYWlu
VGhyZWFkUmVsZWFzZUFzc2VydGlvbkluV2ViUGFnZVByb3h5KTsKICNlbGlmIFBMQVRGT1JNKE1B
QykKLSAgICByZXR1cm4gTElLRUxZKFJ1bkxvb3A6OmlzTWFpbigpKSB8fCAhbGlua2VkT25PckFm
dGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0V2l0aE1haW5UaHJlYWRSZWxlYXNlQXNzZXJ0
aW9uSW5XZWJQYWdlUHJveHkpOworICAgIHJldHVybiBMSUtFTFkoUnVuTG9vcDo6aXNNYWluKCkp
IHx8ICFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRoTWFpblRocmVhZFJlbGVh
c2VBc3NlcnRpb25JbldlYlBhZ2VQcm94eSk7CiAjZWxzZQogICAgIHJldHVybiBSdW5Mb29wOjpp
c01haW4oKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlldy5tbQppbmRleCA0ZTQxYzY1N2NmNjE4M2ZhZmVmYTM3MDQwZTc5ZTg2NzAwYjVhMjlhLi4y
Njc1ODg1N2Y5Njk0NjZjMWY2MGMxYTI0NzExY2E4ZWVlODMzMDk2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQpAQCAtNjQsMTEgKzY0LDExIEBACiAj
aW1wb3J0IDxXZWJDb3JlL1F1aXJrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvVmVsb2NpdHlEYXRhLmg+Ci0jaW1wb3J0
IDxXZWJDb3JlL1ZlcnNpb25DaGVja3MuaD4KICNpbXBvcnQgPG9iamMvbWVzc2FnZS5oPgogI2lt
cG9ydCA8cGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaD4KICNpbXBvcnQgPHBhbC9z
cGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorI2lt
cG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAjaW1wb3J0
IDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+CiAjaW1wb3J0ICJBcHBLaXRTb2Z0TGluay5oIgogCkBA
IC0xOTgsNyArMTk4LDcgQEAgLSAoaW5zdGFuY2V0eXBlKV9jb21tb25Jbml0aWFsaXphdGlvbldp
dGhQcm9jZXNzUG9vbDooV2ViS2l0OjpXZWJQcm9jZXNzUG9vbCYpcHIKICAgICBbc2VsZiBhZGRT
dWJ2aWV3Ol9maXhlZENsaXBwaW5nVmlldy5nZXQoKV07CiAgICAgW19maXhlZENsaXBwaW5nVmll
dyBhZGRTdWJ2aWV3Ol9yb290Q29udGVudFZpZXcuZ2V0KCldOwogCi0gICAgaWYgKCFsaW5rZWRP
bk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRoTGF6eUdlc3R1cmVSZWNvZ25p
emVySW5zdGFsbGF0aW9uKSkKKyAgICBpZiAoIWxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpG
aXJzdFdpdGhMYXp5R2VzdHVyZVJlY29nbml6ZXJJbnN0YWxsYXRpb24pKQogICAgICAgICBbc2Vs
ZiBzZXRVcEludGVyYWN0aW9uXTsKICAgICBbc2VsZiBzZXRVc2VySW50ZXJhY3Rpb25FbmFibGVk
OllFU107CiAKQEAgLTIyMiw3ICsyMjIsNyBAQCAtIChpbnN0YW5jZXR5cGUpX2NvbW1vbkluaXRp
YWxpemF0aW9uV2l0aFByb2Nlc3NQb29sOihXZWJLaXQ6OldlYlByb2Nlc3NQb29sJilwcgogICAg
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBz
ZWxlY3RvcjpAc2VsZWN0b3IoX2FwcGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZDopIG5hbWU6
VUlBcHBsaWNhdGlvbldpbGxFbnRlckZvcmVncm91bmROb3RpZmljYXRpb24gb2JqZWN0OltVSUFw
cGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXV07CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRl
ciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfc2Ny
ZWVuQ2FwdHVyZWREaWRDaGFuZ2U6KSBuYW1lOlVJU2NyZWVuQ2FwdHVyZWREaWRDaGFuZ2VOb3Rp
ZmljYXRpb24gb2JqZWN0OltVSVNjcmVlbiBtYWluU2NyZWVuXV07CiAKLSAgICBpZiAoV2ViQ29y
ZTo6SU9TQXBwbGljYXRpb246OmlzRXZlcm5vdGUoKSAmJiAhbGlua2VkT25PckFmdGVyKFdlYkNv
cmU6OlNES1ZlcnNpb246OkZpcnN0V2hlcmVXS0NvbnRlbnRWaWV3RG9lc05vdE92ZXJyaWRlS2V5
Q29tbWFuZHMpKQorICAgIGlmIChXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNFdmVybm90ZSgp
ICYmICFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaGVyZVdLQ29udGVudFZpZXdE
b2VzTm90T3ZlcnJpZGVLZXlDb21tYW5kcykpCiAgICAgICAgIGNsYXNzX2FkZE1ldGhvZChzZWxm
LmNsYXNzLCBAc2VsZWN0b3Ioa2V5Q29tbWFuZHMpLCByZWludGVycHJldF9jYXN0PElNUD4oJmtl
eUNvbW1hbmRzUGxhY2Vob2xkZXJIYWNrRm9yRXZlcm5vdGUpLCBtZXRob2RfZ2V0VHlwZUVuY29k
aW5nKGNsYXNzX2dldEluc3RhbmNlTWV0aG9kKHNlbGYuY2xhc3MsIEBzZWxlY3RvcihrZXlDb21t
YW5kcykpKSk7CiAKICAgICByZXR1cm4gc2VsZjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDVhM2IwZDdl
ZTFlZDA0ZTk3OGI0ODVmYzQxZTE1YWZhY2RiYzZlZTYuLjM4MDA5ZjQzNTNjZWM0YzgwZmFjOGVi
MjVjMTlkMjgwMjUyYThlYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMTI3LDcgKzEyNyw2IEBACiAj
aW1wb3J0IDxXZWJDb3JlL1RleHRSZWNvZ25pdGlvblJlc3VsdC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Ub3VjaEFjdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KLSNpbXBv
cnQgPFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9WaXNpYmxlU2Vs
ZWN0aW9uLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVDQUxheWVyRXh0cmFzLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1dlYkV2ZW50Lmg+CkBAIC0xNDgsNiArMTQ3LDcgQEAKICNpbXBvcnQgPHd0
Zi9TZXRGb3JTY29wZS5oPgogI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CiAjaW1wb3J0IDx3
dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0c0NvY29hLmg+
CiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1Rl
eHRTdHJlYW0uaD4KQEAgLTc3NzcsNyArNzc3Nyw3IEBAIC0gKHZvaWQpX3RhcmdldGVkUHJldmll
d0NvbnRhaW5lckRpZFJlbW92ZUxhc3RTdWJ2aWV3OihXS1RhcmdldGVkUHJldmlld0NvbnRhaW5l
CiAtIChCT09MKV9zaG91bGRVc2VDb250ZXh0TWVudXMKIHsKICNpZiBIQVZFKExJTktfUFJFVklF
VykgJiYgVVNFKFVJQ09OVEVYVE1FTlUpCi0gICAgcmV0dXJuIGxpbmtlZE9uT3JBZnRlcihXZWJD
b3JlOjpTREtWZXJzaW9uOjpGaXJzdFRoYXRIYXNVSUNvbnRleHRNZW51SW50ZXJhY3Rpb24pOwor
ICAgIHJldHVybiBsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RUaGF0SGFzVUlDb250
ZXh0TWVudUludGVyYWN0aW9uKTsKICNlbmRpZgogICAgIHJldHVybiBOTzsKIH0KQEAgLTk1MDks
NyArOTUwOSw3IEBAIHN0YXRpYyBCT09MIGFwcGxpY2F0aW9uSXNLbm93blRvSWdub3JlTW91c2VF
dmVudHMoY29uc3QgY2hhciogJndhcm5pbmdWZXJzaW9uKQogICAgICAgICByZXR1cm4gWUVTOwog
ICAgIH0KIAotICAgIGlmICghV2ViQ29yZTo6bGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1Zl
cnNpb246OkZpcnN0VmVyc2lvbldpdGhpT1NBcHBzT25NYWNPUykpIHsKKyAgICBpZiAoIWxpbmtl
ZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFZlcnNpb25XaXRoaU9TQXBwc09uTWFjT1MpKSB7
CiAgICAgICAgIGlmIChXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNGSUZBQ29tcGFuaW9uKCkg
Ly8gPHJkYXI6Ly9wcm9ibGVtLzY3MDkzNDg3PgogICAgICAgICAgICAgfHwgV2ViQ29yZTo6SU9T
QXBwbGljYXRpb246OmlzTm9nZ2luKCkgLy8gPHJkYXI6Ly9wcm9ibGVtLzY0ODMwMzM1PgogICAg
ICAgICAgICAgfHwgV2ViQ29yZTo6SU9TQXBwbGljYXRpb246OmlzT0tDdXBpZCgpIC8vIDxyZGFy
Oi8vcHJvYmxlbS82NTY5ODQ5Nj4KQEAgLTk1MjEsNyArOTUyMSw3IEBAIHN0YXRpYyBCT09MIGFw
cGxpY2F0aW9uSXNLbm93blRvSWdub3JlTW91c2VFdmVudHMoY29uc3QgY2hhciogJndhcm5pbmdW
ZXJzaW9uKQogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKCFXZWJDb3JlOjpsaW5rZWRPbk9y
QWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RUaGF0U2VuZHNOYXRpdmVNb3VzZUV2ZW50
cykpIHsKKyAgICBpZiAoIWxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFRoYXRTZW5k
c05hdGl2ZU1vdXNlRXZlbnRzKSkgewogICAgICAgICBpZiAoV2ViQ29yZTo6SU9TQXBwbGljYXRp
b246OmlzUG9ja2V0Q2l0eSgpIC8vIDxyZGFyOi8vcHJvYmxlbS82MjI3MzA3Nz4KICAgICAgICAg
ICAgIHx8IFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc0Vzc2VudGlhbFNrZWxldG9uKCkgLy8g
PHJkYXI6Ly9wcm9ibGVtLzYyNjk0NTE5PgogICAgICAgICAgICAgfHwgV2ViQ29yZTo6SU9TQXBw
bGljYXRpb246OmlzRVNQTkZhbnRhc3lTcG9ydHMoKSAvLyA8cmRhcjovL3Byb2JsZW0vNjQ2NzE1
NDM+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5tbQppbmRleCAx
YzQ0YTExOTUyMDIwZGIwNWFkN2Q0Y2NhOTFlOWVjZTdjMzU2YTIwLi43ODFkMzZlZDhhMWVmNjJh
YmE1ZDUwMWMwNmU2ZWU2ZTg1YTVlODM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS1Njcm9sbFZpZXcubW0KQEAgLTMxLDkgKzMxLDkgQEAKICNpbXBvcnQgIlVJS2l0U1BJLmgi
CiAjaW1wb3J0ICJXS0RlZmVycmluZ0dlc3R1cmVSZWNvZ25pemVyLmgiCiAjaW1wb3J0ICJXS1dl
YlZpZXdJT1MuaCIKLSNpbXBvcnQgPFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgogI2ltcG9ydCA8
cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4KICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5o
PgorI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAK
ICNpZiBIQVZFKFBFUFBFUl9VSV9DT1JFKQogI2ltcG9ydCAiUGVwcGVyVUlDb3JlU1BJLmgiCkBA
IC00MjIsNyArNDIyLDcgQEAgLSAoVUlFZGdlSW5zZXRzKV9zeXN0ZW1Db250ZW50SW5zZXQKICAg
ICAvLyB0byBpbmNsdWRlIGtleWJvYXJkIGluc2V0cyBpbiB0aGUgc3lzdGVtQ29udGVudEluc2V0
LiBXZSBhbHdheXMgd2FudAogICAgIC8vIGtleWJvYXJkIGluc2V0cyBhcHBsaWVkLCBldmVuIHdo
ZW4gd2ViIGNvbnRlbnQgaGFzIGNob3NlbiB0byBkaXNhYmxlIGF1dG9tYXRpYwogICAgIC8vIHNh
ZmUgYXJlYSBpbnNldCBhZGp1c3RtZW50LgotICAgIGlmIChsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29y
ZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaGVyZVVJU2Nyb2xsVmlld0RvZXNOb3RBcHBseUtleWJvYXJk
SW5zZXRzVW5jb25kaXRpb25hbGx5KSAmJiBzZWxmLmNvbnRlbnRJbnNldEFkanVzdG1lbnRCZWhh
dmlvciA9PSBVSVNjcm9sbFZpZXdDb250ZW50SW5zZXRBZGp1c3RtZW50TmV2ZXIpCisgICAgaWYg
KGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdoZXJlVUlTY3JvbGxWaWV3RG9lc05v
dEFwcGx5S2V5Ym9hcmRJbnNldHNVbmNvbmRpdGlvbmFsbHkpICYmIHNlbGYuY29udGVudEluc2V0
QWRqdXN0bWVudEJlaGF2aW9yID09IFVJU2Nyb2xsVmlld0NvbnRlbnRJbnNldEFkanVzdG1lbnRO
ZXZlcikKICAgICAgICAgc3lzdGVtQ29udGVudEluc2V0LmJvdHRvbSArPSBfa2V5Ym9hcmRCb3R0
b21JbnNldEFkanVzdG1lbnQ7CiAKICAgICByZXR1cm4gc3lzdGVtQ29udGVudEluc2V0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3R5bHVzRGV2aWNlT2JzZXJ2
ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTdHlsdXNEZXZpY2VPYnNlcnZl
ci5tbQppbmRleCBlNDk2YTZmNjRlNzY1MjJhYjZiNmQ0NTg2YTljNmYwZTRiMmQ0ZGM4Li40ZGE3
MmY0NTQ0ZTEwMDIyZmFiN2Q5ZjNlMDc5NjE0ZTc4YzZjNDc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTdHlsdXNEZXZpY2VPYnNlcnZlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTdHlsdXNEZXZpY2VPYnNlcnZlci5tbQpAQCAtMzAs
OSArMzAsOSBAQAogCiAjaW1wb3J0ICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbXBvcnQgPFVJS2l0
L1VJU2NyaWJibGVJbnRlcmFjdGlvbi5oPgotI2ltcG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hlY2tz
Lmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvU2Vjb25kcy5oPgor
I2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+CiAKIHN0
YXRpYyBTZWNvbmRzIGNoYW5nZVRpbWVJbnRlcnZhbCB7IDEwX21pbiB9OwogCkBAIC04Miw3ICs4
Miw3IEBAIC0gKHZvaWQpc3RhcnQKICAgICBpZiAoKytfc3RhcnRDb3VudCA+IDEpCiAgICAgICAg
IHJldHVybjsKIAotICAgIGlmIChXZWJDb3JlOjpsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RL
VmVyc2lvbjo6Rmlyc3RUaGF0T2JzZXJ2ZXNDbGFzc1Byb3BlcnR5KSkKKyAgICBpZiAobGlua2Vk
T25PckFmdGVyKFNES1ZlcnNpb246OkZpcnN0VGhhdE9ic2VydmVzQ2xhc3NQcm9wZXJ0eSkpCiAg
ICAgICAgIFtbVUlTY3JpYmJsZUludGVyYWN0aW9uIGNsYXNzXSBhZGRPYnNlcnZlcjpzZWxmIGZv
cktleVBhdGg6QCJpc1BlbmNpbElucHV0RXhwZWN0ZWQiIG9wdGlvbnM6TlNLZXlWYWx1ZU9ic2Vy
dmluZ09wdGlvbkluaXRpYWwgY29udGV4dDpuaWxdOwogfQogCkBAIC05Miw3ICs5Miw3IEBAIC0g
KHZvaWQpc3RvcAogICAgIGlmICghX3N0YXJ0Q291bnQgfHwgLS1fc3RhcnRDb3VudCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaWYgKFdlYkNvcmU6OmxpbmtlZE9uT3JBZnRlcihXZWJDb3JlOjpT
REtWZXJzaW9uOjpGaXJzdFRoYXRPYnNlcnZlc0NsYXNzUHJvcGVydHkpKQorICAgIGlmIChsaW5r
ZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RUaGF0T2JzZXJ2ZXNDbGFzc1Byb3BlcnR5KSkK
ICAgICAgICAgW1tVSVNjcmliYmxlSW50ZXJhY3Rpb24gY2xhc3NdIHJlbW92ZU9ic2VydmVyOnNl
bGYgZm9yS2V5UGF0aDpAImlzUGVuY2lsSW5wdXRFeHBlY3RlZCJdOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCA4Mjk4YmViODU3
YzJjNWE3YmY2NGMxODRmYWQ4YTBlZWNlMzIwYTEwLi4wNjQ3NjJjNDgzZjRlMTY0MTAzOGFiYzA0
YjQ0ZDJhOWZlMTkxMTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V2ViUGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQ
YWdlUHJveHlJT1MubW0KQEAgLTcwLDggKzcwLDggQEAKICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVk
QnVmZmVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1VzZXJBZ2VudC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9WYWxpZGF0aW9uQnViYmxlLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1ZlcnNpb25DaGVja3MuaD4K
ICNpbXBvcnQgPHBhbC9zcGkvaW9zL01vYmlsZUdlc3RhbHRTUEkuaD4KKyNpbXBvcnQgPHd0Zi9j
b2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL3RleHQv
VGV4dFN0cmVhbS5oPgogCiAjaWYgVVNFKFFVSUNLX0xPT0spCkBAIC0xMzcxLDcgKzEzNzEsNyBA
QCBzdGF0aWMgYm9vbCBkZXNrdG9wQ2xhc3NCcm93c2luZ1JlY29tbWVuZGVkKGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYgcmVxdQogICAgICAgICBhdXRvIHNjcmVlbkNsYXNzID0gTUdH
ZXRTSW50MzJBbnN3ZXIoa01HUU1haW5TY3JlZW5DbGFzcywgTUdTY3JlZW5DbGFzc1BhZDIpOwog
ICAgICAgICBzaG91bGRSZWNvbW1lbmREZXNrdG9wQ2xhc3NCcm93c2luZyA9IHNjcmVlbkNsYXNz
ICE9IE1HU2NyZWVuQ2xhc3NQYWQzICYmIHNjcmVlbkNsYXNzICE9IE1HU2NyZWVuQ2xhc3NQYWQ0
ICYmIGRlc2t0b3BDbGFzc0Jyb3dzaW5nU3VwcG9ydGVkKCk7CiAjZW5kaWYKLSAgICAgICAgaWYg
KGlnbm9yZVNhZmVndWFyZHMgPT0gSWdub3JlQXBwQ29tcGF0aWJpbGl0eVNhZmVndWFyZHM6Ok5v
ICYmICFsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RXaXRoTW9kZXJu
Q29tcGFiaWxpdHlNb2RlQnlEZWZhdWx0KSkgeworICAgICAgICBpZiAoaWdub3JlU2FmZWd1YXJk
cyA9PSBJZ25vcmVBcHBDb21wYXRpYmlsaXR5U2FmZWd1YXJkczo6Tm8gJiYgIWxpbmtlZE9uT3JB
ZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhNb2Rlcm5Db21wYWJpbGl0eU1vZGVCeURlZmF1bHQp
KSB7CiAgICAgICAgICAgICAvLyBPcHQgb3V0IGFwcHMgdGhhdCBoYXZlbid0IHlldCBidWlsdCBh
Z2FpbnN0IHRoZSBpT1MgMTMgU0RLIHRvIGxpbWl0IGFueSBpbmNvbXBhdGliaWxpdGllcyBhcyBh
IHJlc3VsdCBvZiBlbmFibGluZyBkZXNrdG9wLWNsYXNzIGJyb3dzaW5nIGJ5IGRlZmF1bHQgaW4K
ICAgICAgICAgICAgIC8vIFdLV2ViVmlldyBvbiBhcHByb3ByaWF0ZWx5LXNpemVkIGlQYWQgbW9k
ZWxzLgogICAgICAgICAgICAgc2hvdWxkUmVjb21tZW5kRGVza3RvcENsYXNzQnJvd3NpbmcgPSBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9j
ZXNzQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0Nv
Y29hLm1tCmluZGV4IGRmMWY4Y2ZiMTBiMjdlNjEyOTg1N2RjYTlkODE2YWJlMTgxNzA0NWEuLjNi
MjBhMDQ0ODg4Y2E5Yjg3ZDVkMWZlMzU2MWY0NjAzYzgxMWJmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQpAQCAtODAsNyArODAs
NiBAQAogI2ltcG9ydCA8V2ViQ29yZS9TeXN0ZW1CYXR0ZXJ5Lmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1N5c3RlbVNvdW5kTWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4K
LSNpbXBvcnQgPFdlYkNvcmUvVmVyc2lvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJN
QXVkaW9VdGlsaXRpZXNDb2NvYS5oPgogI2ltcG9ydCA8YWxnb3JpdGhtPgogI2ltcG9ydCA8ZGlz
cGF0Y2gvZGlzcGF0Y2guaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0Rl
ZmF1bHREZWxlZ2F0ZXMvV2ViRGVmYXVsdFVJRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9EZWZhdWx0RGVsZWdhdGVzL1dlYkRlZmF1bHRVSURlbGVnYXRlLm1tCmluZGV4IDY0
ZGViZjVhNGU5NTM3YmI2MTY4OWQ3ZmM1MThhNzNiOTMwMjY4MmIuLmUzMTI5NDBhNjFlZjgyYmJh
Y2U2MWE2NzMzNjY3MDI2OTFhZjMxNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0RlZmF1bHREZWxlZ2F0ZXMvV2ViRGVmYXVsdFVJRGVsZWdhdGUubW0KKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvRGVmYXVsdERlbGVnYXRlcy9XZWJEZWZhdWx0VUlEZWxlZ2F0ZS5t
bQpAQCAtMzUsNyArMzUsNyBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogI2ltcG9ydCAiV2ViSmF2
YVNjcmlwdFRleHRJbnB1dFBhbmVsLmgiCi0jaW1wb3J0IDxXZWJDb3JlL1ZlcnNpb25DaGVja3Mu
aD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgog
I2VuZGlmCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMjE2LDcgKzIxNiw3IEBAIC0g
KHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBwcmludEZyYW1lVmlldzooV2ViRnJhbWVW
aWV3ICopZnJhbWVWaWV3CiAjaWYgUExBVEZPUk0oTUFDKQogLSAoTlNVSW50ZWdlcil3ZWJWaWV3
OihXZWJWaWV3ICopd2ViVmlldyBkcmFnRGVzdGluYXRpb25BY3Rpb25NYXNrRm9yRHJhZ2dpbmdJ
bmZvOihpZCA8TlNEcmFnZ2luZ0luZm8+KWRyYWdnaW5nSW5mbwogewotICAgIGlmICghbGlua2Vk
T25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0V2l0aERyb3BUb05hdmlnYXRlRGlz
YWxsb3dlZEJ5RGVmYXVsdCkpCisgICAgaWYgKCFsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6
Rmlyc3RXaXRoRHJvcFRvTmF2aWdhdGVEaXNhbGxvd2VkQnlEZWZhdWx0KSkKICAgICAgICAgcmV0
dXJuIFdlYkRyYWdEZXN0aW5hdGlvbkFjdGlvbkFueTsKIAogICAgIHJldHVybiBXZWJEcmFnRGVz
dGluYXRpb25BY3Rpb25BbnkgJiB+V2ViRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTG9hZDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViRG93bmxvYWQubW0gYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9NaXNjL1dlYkRvd25sb2FkLm1tCmluZGV4IGY5ZTVjOGU2NWJj
YWZiYTYyOTU2MmUzYzQ3YmY1NjA5YTNjZjk3MDkuLjEyMDU4YjFmYjFhYWZkNDQ3OGY0MTU2ZjNh
YWMxODFkODAwMzBiYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2Mv
V2ViRG93bmxvYWQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJEb3du
bG9hZC5tbQpAQCAtMzYsMTggKzM2LDE4IEBACiAjaW1wb3J0IDxXZWJDb3JlL05ldHdvcmtTdG9y
YWdlU2Vzc2lvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9Qcm90ZWN0aW9uU3BhY2UuaD4KICNpbXBv
cnQgPFdlYkNvcmUvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg+Ci0jaW1wb3J0IDxXZWJDb3Jl
L1ZlcnNpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYktpdExlZ2FjeS9XZWJQYW5lbEF1dGhlbnRp
Y2F0aW9uSGFuZGxlci5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU1VSTERvd25sb2FkU1BJ
Lmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQu
aD4KICNpbXBvcnQgPHd0Zi9Xb3JrUXVldWUuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9SdW50aW1l
QXBwbGljYXRpb25DaGVja3NDb2NvYS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQ
SS5oPgogCiBzdGF0aWMgYm9vbCBzaG91bGRDYWxsT25OZXR3b3JrVGhyZWFkKCkKIHsKICNpZiBQ
TEFURk9STShNQUMpCi0gICAgc3RhdGljIGJvb2wgaXNPbGRFcHNvblNvZnR3YXJlVXBkYXRlciA9
IFdlYkNvcmU6Ok1hY0FwcGxpY2F0aW9uOjppc0Vwc29uU29mdHdhcmVVcGRhdGVyKCkgJiYgIWxp
bmtlZE9uT3JBZnRlcihXZWJDb3JlOjpTREtWZXJzaW9uOjpGaXJzdFdpdGhEb3dubG9hZERlbGVn
YXRlc0NhbGxlZE9uVGhlTWFpblRocmVhZCk7CisgICAgc3RhdGljIGJvb2wgaXNPbGRFcHNvblNv
ZnR3YXJlVXBkYXRlciA9IFdlYkNvcmU6Ok1hY0FwcGxpY2F0aW9uOjppc0Vwc29uU29mdHdhcmVV
cGRhdGVyKCkgJiYgIWxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpGaXJzdFdpdGhEb3dubG9h
ZERlbGVnYXRlc0NhbGxlZE9uVGhlTWFpblRocmVhZCk7CiAgICAgcmV0dXJuIGlzT2xkRXBzb25T
b2Z0d2FyZVVwZGF0ZXI7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL01pc2MvV2ViSWNvbkRhdGFiYXNlLm1tIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvTWlzYy9XZWJJY29uRGF0YWJhc2UubW0KaW5kZXggN2VhNjczNzk0Zjc3
OGQ4YTlkOTUwY2FjNGRlYzQwNmU1ZWZjNWQyYS4uYTI4MzU1NGEzYjQxZDdkMTA0OWE1MGU5ZWMw
MTU3NjA4OTU1NWRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9X
ZWJJY29uRGF0YWJhc2UubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvTWlzYy9XZWJJ
Y29uRGF0YWJhc2UubW0KQEAgLTMzLDExICszMywxMSBAQAogI2ltcG9ydCA8SmF2YVNjcmlwdENv
cmUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2ltcG9ydCA8V2ViQ29yZS9JbWFnZS5oPgogI2lt
cG9ydCA8V2ViQ29yZS9UaHJlYWRDaGVjay5oPgotI2ltcG9ydCA8V2ViQ29yZS9WZXJzaW9uQ2hl
Y2tzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVKSVRPcGVyYXRpb25zLmg+CiAjaW1wb3J0
IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1w
b3J0IDx3dGYvUnVuTG9vcC5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrc0NvY29hLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0xMDgsNyAr
MTA4LDcgQEAgKyAoV2ViSWNvbkRhdGFiYXNlICopc2hhcmVkSWNvbkRhdGFiYXNlCiAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPFJldGFpblB0cjxXZWJJY29uRGF0YWJhc2U+PiBkYXRhYmFzZTsK
ICAgICBzdGF0aWMgZGlzcGF0Y2hfb25jZV90IG9uY2U7CiAgICAgZGlzcGF0Y2hfb25jZSgmb25j
ZSwgXiB7Ci0gICAgICAgIGlmIChsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6
Rmlyc3RXaXRoV2ViSWNvbkRhdGFiYXNlV2FybmluZykpCisgICAgICAgIGlmIChsaW5rZWRPbk9y
QWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRoV2ViSWNvbkRhdGFiYXNlV2FybmluZykpCiAgICAg
ICAgICAgICBOU0xvZyhAIitbV2ViSWNvbkRhdGFiYXNlIHNoYXJlZEljb25EYXRhYmFzZV0gaXMg
bm90IEFQSSBhbmQgc2hvdWxkIG5vdCBiZSB1c2VkLiBXZWJJY29uRGF0YWJhc2Ugbm8gbG9uZ2Vy
IGhhbmRsZXMgaWNvbiBsb2FkaW5nIGFuZCBpdCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUg
cmVsZWFzZS4iKTsKIAogICAgICAgICBkYXRhYmFzZS5nZXQoKSA9IGFkb3B0TlMoW1tXZWJJY29u
RGF0YWJhc2UgYWxsb2NdIGluaXRdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzLm1tIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KaW5kZXgg
YjU2YmEwOWM2MTU0ZTJhMTg1OTkwMjQ5NjJjZGM2ZTFiYzEwODAyYy4uOWMwZTg3ZGExMGFlYzA3
NGE3MjI1M2E2MDZmNTkwMWUzMjM3YjhkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0KKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXMubW0K
QEAgLTI4LDcgKzI4LDYgQEAKICNpbXBvcnQgIldlYktpdFZlcnNpb25DaGVja3MuaCIKICNpbXBv
cnQgPEZvdW5kYXRpb24vTlNCdW5kbGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1ZlcnNpb25DaGVja3MuaD4KICNpbXBv
cnQgPG1hY2gtby9keWxkLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGVXRpbGl0aWVzU1BJLmg+
CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0ZlYXR1cmVGbGFnc1NQSS5oPgpAQCAtMTAzLDEzICsx
MDIsMTMgQEAgYm9vbCBkZWZhdWx0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFja0FmdGVyRnVsbHNj
cmVlbigpCiAKIGJvb2wgZGVmYXVsdEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNr
KCkKIHsKLSAgICBzdGF0aWMgYm9vbCBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBs
YXliYWNrID0gV2ViQ29yZTo6bGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZp
cnN0V2l0aFBpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKTsKKyAgICBzdGF0aWMgYm9vbCBz
aG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrID0gbGlua2VkT25PckFmdGVy
KFNES1ZlcnNpb246OkZpcnN0V2l0aFBpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKTsKICAg
ICByZXR1cm4gc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjazsKIH0KIAog
Ym9vbCBkZWZhdWx0SmF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseSgpCiB7Ci0g
ICAgc3RhdGljIGJvb2wgc2hvdWxkQWxsb3dXaW5kb3dPcGVuV2l0aG91dFVzZXJHZXN0dXJlID0g
V2ViQ29yZTo6SU9TQXBwbGljYXRpb246OmlzVGhlU2VjcmV0U29jaWV0eUhpZGRlbk15c3Rlcnko
KSAmJiAhbGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0V2l0aG91dFRo
ZVNlY3JldFNvY2lldHlIaWRkZW5NeXN0ZXJ5V2luZG93T3BlblF1aXJrKTsKKyAgICBzdGF0aWMg
Ym9vbCBzaG91bGRBbGxvd1dpbmRvd09wZW5XaXRob3V0VXNlckdlc3R1cmUgPSBXZWJDb3JlOjpJ
T1NBcHBsaWNhdGlvbjo6aXNUaGVTZWNyZXRTb2NpZXR5SGlkZGVuTXlzdGVyeSgpICYmICFsaW5r
ZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RXaXRob3V0VGhlU2VjcmV0U29jaWV0eUhpZGRl
bk15c3RlcnlXaW5kb3dPcGVuUXVpcmspOwogICAgIHJldHVybiBzaG91bGRBbGxvd1dpbmRvd09w
ZW5XaXRob3V0VXNlckdlc3R1cmU7CiB9CiAKQEAgLTEyMCwyMCArMTE5LDIwIEBAIGJvb2wgZGVm
YXVsdElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKCkKIAog
Ym9vbCBkZWZhdWx0UGFzc2l2ZVRvdWNoTGlzdGVuZXJzQXNEZWZhdWx0T25Eb2N1bWVudCgpCiB7
Ci0gICAgc3RhdGljIGJvb2wgcmVzdWx0ID0gbGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1Zl
cnNpb246OkZpcnN0VGhhdERlZmF1bHRzVG9QYXNzaXZlVG91Y2hMaXN0ZW5lcnNPbkRvY3VtZW50
KTsKKyAgICBzdGF0aWMgYm9vbCByZXN1bHQgPSBsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6
Rmlyc3RUaGF0RGVmYXVsdHNUb1Bhc3NpdmVUb3VjaExpc3RlbmVyc09uRG9jdW1lbnQpOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKIGJvb2wgZGVmYXVsdFJlcXVpcmVzVXNlckdlc3R1cmVUb0xv
YWRWaWRlbygpCiB7Ci0gICAgc3RhdGljIGJvb2wgc2hvdWxkUmVxdWlyZVVzZXJHZXN0dXJlVG9M
b2FkVmlkZW8gPSBsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6Rmlyc3RUaGF0
UmVxdWlyZXNVc2VyR2VzdHVyZVRvTG9hZFZpZGVvKTsKKyAgICBzdGF0aWMgYm9vbCBzaG91bGRS
ZXF1aXJlVXNlckdlc3R1cmVUb0xvYWRWaWRlbyA9IGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9u
OjpGaXJzdFRoYXRSZXF1aXJlc1VzZXJHZXN0dXJlVG9Mb2FkVmlkZW8pOwogICAgIHJldHVybiBz
aG91bGRSZXF1aXJlVXNlckdlc3R1cmVUb0xvYWRWaWRlbzsKIH0KIAogYm9vbCBkZWZhdWx0V2Vi
U1FMRW5hYmxlZCgpCiB7CiAgICAgLy8gRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIGtlZXAg
V2ViU1FMIHdvcmtpbmcgdW50aWwgYXBwcyBhcmUgcmVidWlsdCB3aXRoIHRoZSBpT1MgMTQgU0RL
LgotICAgIHN0YXRpYyBib29sIHdlYlNRTEVuYWJsZWQgPSAhbGlua2VkT25PckFmdGVyKFdlYkNv
cmU6OlNES1ZlcnNpb246OkZpcnN0V2l0aFdlYlNRTERpc2FibGVkQnlEZWZhdWx0SW5MZWdhY3lX
ZWJLaXQpOworICAgIHN0YXRpYyBib29sIHdlYlNRTEVuYWJsZWQgPSAhbGlua2VkT25PckFmdGVy
KFNES1ZlcnNpb246OkZpcnN0V2l0aFdlYlNRTERpc2FibGVkQnlEZWZhdWx0SW5MZWdhY3lXZWJL
aXQpOwogICAgIHJldHVybiB3ZWJTUUxFbmFibGVkOwogfQogCkBAIC0yMjgsNyArMjI3LDcgQEAg
Ym9vbCBkZWZhdWx0QXR0YWNobWVudEVsZW1lbnRFbmFibGVkKCkKIAogYm9vbCBkZWZhdWx0U2hv
dWxkUmVzdHJpY3RCYXNlVVJMU2NoZW1lcygpCiB7Ci0gICAgc3RhdGljIGJvb2wgc2hvdWxkUmVz
dHJpY3RCYXNlVVJMU2NoZW1lcyA9IGxpbmtlZE9uT3JBZnRlcihXZWJDb3JlOjpTREtWZXJzaW9u
OjpGaXJzdFRoYXRSZXN0cmljdHNCYXNlVVJMU2NoZW1lcyk7CisgICAgc3RhdGljIGJvb2wgc2hv
dWxkUmVzdHJpY3RCYXNlVVJMU2NoZW1lcyA9IGxpbmtlZE9uT3JBZnRlcihTREtWZXJzaW9uOjpG
aXJzdFRoYXRSZXN0cmljdHNCYXNlVVJMU2NoZW1lcyk7CiAgICAgcmV0dXJuIHNob3VsZFJlc3Ry
aWN0QmFzZVVSTFNjaGVtZXM7CiB9CiAKQEAgLTI1Nyw3ICsyNTYsNyBAQCBib29sIGRlZmF1bHRB
bGxvd1J1bm5pbmdPZkluc2VjdXJlQ29udGVudCgpCiAKIGJvb2wgZGVmYXVsdFNob3VsZENvbnZl
cnRJbnZhbGlkVVJMc1RvQmxhbmsoKQogewotICAgIHN0YXRpYyBib29sIHNob3VsZENvbnZlcnRJ
bnZhbGlkVVJMc1RvQmxhbmsgPSBsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29yZTo6U0RLVmVyc2lvbjo6
Rmlyc3RUaGF0Q29udmVydHNJbnZhbGlkVVJMc1RvQmxhbmspOworICAgIHN0YXRpYyBib29sIHNo
b3VsZENvbnZlcnRJbnZhbGlkVVJMc1RvQmxhbmsgPSBsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lv
bjo6Rmlyc3RUaGF0Q29udmVydHNJbnZhbGlkVVJMc1RvQmxhbmspOwogICAgIHJldHVybiBzaG91
bGRDb252ZXJ0SW52YWxpZFVSTHNUb0JsYW5rOwogfQogCkBAIC0yNjUsMTMgKzI2NCwxMyBAQCBi
b29sIGRlZmF1bHRTaG91bGRDb252ZXJ0SW52YWxpZFVSTHNUb0JsYW5rKCkKIAogYm9vbCBkZWZh
dWx0UGFzc2l2ZVdoZWVsTGlzdGVuZXJzQXNEZWZhdWx0T25Eb2N1bWVudCgpCiB7Ci0gICAgc3Rh
dGljIGJvb2wgcmVzdWx0ID0gbGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZp
cnN0VGhhdERlZmF1bHRzVG9QYXNzaXZlV2hlZWxMaXN0ZW5lcnNPbkRvY3VtZW50KTsKKyAgICBz
dGF0aWMgYm9vbCByZXN1bHQgPSBsaW5rZWRPbk9yQWZ0ZXIoU0RLVmVyc2lvbjo6Rmlyc3RUaGF0
RGVmYXVsdHNUb1Bhc3NpdmVXaGVlbExpc3RlbmVyc09uRG9jdW1lbnQpOwogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKIGJvb2wgZGVmYXVsdFdoZWVsRXZlbnRHZXN0dXJlc0JlY29tZU5vbkJsb2Nr
aW5nKCkKIHsKLSAgICBzdGF0aWMgYm9vbCByZXN1bHQgPSBsaW5rZWRPbk9yQWZ0ZXIoV2ViQ29y
ZTo6U0RLVmVyc2lvbjo6Rmlyc3RUaGF0QWxsb3dzV2hlZWxFdmVudEdlc3R1cmVzVG9CZWNvbWVO
b25CbG9ja2luZyk7CisgICAgc3RhdGljIGJvb2wgcmVzdWx0ID0gbGlua2VkT25PckFmdGVyKFNE
S1ZlcnNpb246OkZpcnN0VGhhdEFsbG93c1doZWVsRXZlbnRHZXN0dXJlc1RvQmVjb21lTm9uQmxv
Y2tpbmcpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAxNTMzZTRhYTMwMmEyODMwMGYwNWYwM2Q3Mjk4MDRh
NzI5OGE3MGU4Li5mMzgxYjdhM2E1YWNmMmZlOGJlNGY3OWMzNGZkM2I5NDFmYWIwNGJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yMjgsNyArMjI4
LDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvVXNlclNjcmlwdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9V
c2VyU3R5bGVTaGVldC5oPgogI2ltcG9ydCA8V2ViQ29yZS9WYWxpZGF0aW9uQnViYmxlLmg+Ci0j
aW1wb3J0IDxXZWJDb3JlL1ZlcnNpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29y
ZUpJVE9wZXJhdGlvbnMuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZU9iakNFeHRyYXMuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVZpZXcuaD4KQEAgLTI2OSw2ICsyNjgsNyBAQAogI2lt
cG9ydCA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CiAj
aW1wb3J0IDx3dGYvV29ya1F1ZXVlLmg+CisjaW1wb3J0IDx3dGYvY29jb2EvUnVudGltZUFwcGxp
Y2F0aW9uQ2hlY2tzQ29jb2EuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgog
I2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vZHlsZFNQSS5oPgogCkBAIC0xMzkxLDcgKzEzOTEsNyBA
QCAtKHZvaWQpX2luamVjdE91dGxvb2tRdWlya3NTY3JpcHQKICNpZiBQTEFURk9STShJT1MpCiBz
dGF0aWMgYm9vbCBuZWVkc0xhQmFucXVlUG9zdGFsZVF1aXJrcygpCiB7Ci0gICAgc3RhdGljIGJv
b2wgbmVlZHNRdWlya3MgPSBXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNMYUJhbnF1ZVBvc3Rh
bGUoKSAmJiAhbGlua2VkT25PckFmdGVyKFdlYkNvcmU6OlNES1ZlcnNpb246OkZpcnN0V2l0aG91
dExhQmFucXVlUG9zdGFsZVF1aXJrcyk7CisgICAgc3RhdGljIGJvb2wgbmVlZHNRdWlya3MgPSBX
ZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNMYUJhbnF1ZVBvc3RhbGUoKSAmJiAhbGlua2VkT25P
ckFmdGVyKFNES1ZlcnNpb246OkZpcnN0V2l0aG91dExhQmFucXVlUG9zdGFsZVF1aXJrcyk7CiAg
ICAgcmV0dXJuIG5lZWRzUXVpcmtzOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>