<?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>203086</bug_id>
          
          <creation_ts>2019-10-17 09:20:30 -0700</creation_ts>
          <short_desc>Deprecate ActiveDOMObject::canSuspendForDocumentSuspension()</short_desc>
          <delta_ts>2019-10-17 11:19:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>202293</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>tommyw</cc>
    
    <cc>toyoshim</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580980</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 09:20:30 -0700</bug_when>
    <thetext>Deprecate ActiveDOMObject::canSuspendForDocumentSuspension() as it is no longer acceptable to prevent a page from entering the back/forward cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580983</commentid>
    <comment_count>1</comment_count>
      <attachid>381196</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 09:24:48 -0700</bug_when>
    <thetext>Created attachment 381196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580992</commentid>
    <comment_count>2</comment_count>
      <attachid>381196</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-10-17 09:38:07 -0700</bug_when>
    <thetext>Comment on attachment 381196
Patch

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

&gt; Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:746
&gt; +// FIXME: This should never prevent entering the back/forward cache.

It might be good to file and link bugs for all these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580994</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 09:39:08 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #2)
&gt; Comment on attachment 381196 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=381196&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:746
&gt; &gt; +// FIXME: This should never prevent entering the back/forward cache.
&gt; 
&gt; It might be good to file and link bugs for all these.

Agreed, will do this next.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581021</commentid>
    <comment_count>4</comment_count>
      <attachid>381196</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 10:00:32 -0700</bug_when>
    <thetext>Comment on attachment 381196
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:746
&gt;&gt;&gt; +// FIXME: This should never prevent entering the back/forward cache.
&gt;&gt; 
&gt;&gt; It might be good to file and link bugs for all these.
&gt; 
&gt; Agreed, will do this next.

Ok, I mass-filed a bug for each remaining override and related all the bugs to https://bugs.webkit.org/show_bug.cgi?id=202293.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581037</commentid>
    <comment_count>5</comment_count>
      <attachid>381196</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-10-17 10:33:30 -0700</bug_when>
    <thetext>Comment on attachment 381196
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581038</commentid>
    <comment_count>6</comment_count>
      <attachid>381196</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 10:35:34 -0700</bug_when>
    <thetext>Comment on attachment 381196
Patch

Clearing flags on attachment: 381196

Committed r251244: &lt;https://trac.webkit.org/changeset/251244&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581039</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-10-17 10:35:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1581040</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-17 10:36:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/56375664&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381196</attachid>
            <date>2019-10-17 09:24:48 -0700</date>
            <delta_ts>2019-10-17 10:35:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203086-20191017092447.patch</filename>
            <type>text/plain</type>
            <size>90257</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFjNzg5ZjRmMmE0MzAy
MjA2NTc0MGU3Mzg1MDU3ZjliNDhmZTlkNC4uNTU4MWUxMjdhNzY2OTc2YzQyOGFiZDE0ODcwYWM3
ZGMyZDA0ODNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwOCBAQAorMjAxOS0xMC0xNyAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIERlcHJlY2F0ZSBBY3RpdmVE
T01PYmplY3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMDg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lIEFjdGl2ZURPTU9iamVj
dDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIHRvIHNob3VsZFByZXZlbnRFbnRl
cmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpCisgICAgICAgIHRvIG1ha2UgaXQgY2xl
YXIgdGhhdCBubyBuZXcgb3ZlcnJpZGVzIHNob3VsZCBiZSBhZGRlZCBhbmQgdGhhdCBpdCBpcyBu
byBsb25nZXIgT0sgdG8gcHJldmVudCB0aGUgcGFnZSBmcm9tCisgICAgICAgIGVudGVyaW5nIHRo
ZSBiYWNrL2ZvcndhcmQgY2FjaGUuIEFsc28gcHJvdmlkZSBhIGRlZmF1bHQgaW1wbGVtZW50YXRp
b24gdGhhdCByZXR1cm5zIGZhbHNlIHNvIHRoYXQgd2VsbC1iZWhhdmVkCisgICAgICAgIGNsYXNz
ZXMgbm8gbG9uZ2VyIG5lZWQgdG8gb3ZlcnJpZGUgdGhpcy4KKworICAgICAgICAqIE1vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5
U2Vzc2lvbjo6c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVE
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0RPTUNh
Y2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUNhY2hlOjpjYW5TdXNwZW5kRm9yRG9jdW1l
bnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0RP
TUNhY2hlLmg6CisgICAgICAgICogTW9kdWxlcy9jYWNoZS9ET01DYWNoZVN0b3JhZ2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NQ2FjaGVTdG9yYWdlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRT
dXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2NhY2hlL0RPTUNh
Y2hlU3RvcmFnZS5oOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
ZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6c2hvdWxkUHJl
dmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
biBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9X
ZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFL
ZXlTZXNzaW9uOjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FU
RUQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0TWVkaWFLZXlTZXNzaW9uOjpjYW5T
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaDoKKyAg
ICAgICAgKiBNb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyOjpzaG91bGRQcmV2
ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6RmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50
U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9lbnRyaWVzYXBp
L0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbUVudHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1FbnRy
eTo6c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGVTeXN0ZW1FbnRyeTo6Y2FuU3VzcGVuZEZvckRvY3Vt
ZW50U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9lbnRyaWVz
YXBpL0ZpbGVTeXN0ZW1FbnRyeS5oOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVxdWVzdDo6c2hvdWxkUHJldmVudEVu
dGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZldGNoUmVxdWVzdDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbiBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RmV0Y2hSZXNwb25zZTo6c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBS
RUNBVEVEIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZldGNoUmVzcG9uc2U6OmNhblN1c3Bl
bmRGb3JEb2N1bWVudFN1c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oOgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRpb24v
R2VvbG9jYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OnBhZ2UgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6R2VvbG9jYXRpb246OmNhblN1c3BlbmRGb3JEb2N1bWVu
dFN1c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvZ2VvbG9jYXRp
b24vR2VvbG9jYXRpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6Y2FuU3VzcGVuZEZvckRvY3Vt
ZW50U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCRGF0YWJhc2UuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3Vz
cGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
SW5kZXguaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50
U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCT2JqZWN0U3RvcmUuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVu
dFN1c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRi
L0lEQlJlcXVlc3QuaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6Y2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvSURCVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhcmVjb3JkZXIv
TWVkaWFSZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVJlY29yZGVyOjpzaG91
bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFSZWNvcmRlcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVu
c2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXJlY29yZGVyL01l
ZGlhUmVjb3JkZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291cmNlL01lZGlhU291cmNl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlOjpjYW5TdXNwZW5kRm9yRG9jdW1l
bnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc291
cmNlL01lZGlhU291cmNlLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyOjpjYW5TdXNwZW5kRm9y
RG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJMaXN0
OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3QuaDoKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYURldmljZXM6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24gY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmg6CisgICAg
ICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVN0cmVhbTo6c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9E
RVBSRUNBVEVEIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmg6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFt
VHJhY2s6OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVRyYWNrOjpjYW5TdXNwZW5kRm9y
RG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0RUTUZTZW5kZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UlRDRFRNRlNlbmRlcjo6
c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJUQ0RUTUZTZW5kZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1
c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDRFRNRlNlbmRlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNo
YW5uZWwuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1BlZXJDb25uZWN0aW9uOjpzaG91bGRQcmV2ZW50
RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UlRDUGVlckNvbm5lY3Rpb246OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24g
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNv
bm5lY3Rpb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lZGlhUmVxdWVzdDo6c2hvdWxkUHJldmVu
dEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24g
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpzaG91bGRQcmV2ZW50RW50ZXJp
bmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Tm90aWZpY2F0aW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmg6Cisg
ICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0Zv
cndhcmRDYWNoZV9ERVBSRUNBVEVEIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRS
ZXF1ZXN0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0Lmg6CisgICAg
ICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGF5bWVudFJlc3BvbnNlOjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9y
d2FyZENhY2hlX0RFUFJFQ0FURUQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudFJl
c3BvbnNlOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9QaWN0dXJlSW5QaWN0dXJlV2luZG93LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBpY3R1cmVJblBpY3R1cmVXaW5kb3c6OmNhblN1c3BlbmRG
b3JEb2N1bWVudFN1c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMv
cGljdHVyZWlucGljdHVyZS9QaWN0dXJlSW5QaWN0dXJlV2luZG93Lmg6CisgICAgICAgICogTW9k
dWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9D
b250ZXh0OjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9Db250ZXh0OjpjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvQ29udGV4dC5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJh
c2VDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4dDo6c2hvdWxk
UHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4dDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVu
c2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRh
YmFzZUNvbnRleHQuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmdwdS9HUFVDYW52YXNDb250ZXh0
Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJTb2NrZXQ6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24gY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaDoK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpWUkRpc3BsYXk6OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVD
QVRFRCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpWUkRpc3BsYXk6OmNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2Vi
dnIvVlJEaXNwbGF5Lmg6CisgICAgICAgICogYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJBbmltYXRpb246OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tG
b3J3YXJkQ2FjaGVfREVQUkVDQVRFRCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJBbmlt
YXRpb246OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgor
ICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaDoKKyAgICAgICAgKiBjc3MvRm9udEZh
Y2VTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEZhY2VTZXQ6OmNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGNzcy9Gb250RmFj
ZVNldC5oOgorICAgICAgICAqIGRvbS9BY3RpdmVET01PYmplY3QuaDoKKyAgICAgICAgKiBkb20v
R2VuZXJpY0V2ZW50UXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJpY0V2ZW50UXVl
dWVCYXNlPFQ+OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBkb20vR2VuZXJpY0V2ZW50UXVldWUuaDoKKyAgICAgICAgKiBkb20vTWVz
c2FnZVBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVzc2FnZVBvcnQ6OmNhblN1c3BlbmRG
b3JEb2N1bWVudFN1c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGRvbS9NZXNz
YWdlUG9ydC5oOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNhblN1c3BlbmRBY3RpdmVE
T01PYmplY3RzRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKiBmaWxlYXBpL0ZpbGVS
ZWFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsZVJlYWRlcjo6c2hvdWxkUHJldmVudEVu
dGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZpbGVSZWFkZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24gY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIGZpbGVhcGkvRmlsZVJlYWRlci5oOgorICAgICAgICAqIGh0bWwv
SFRNTE1hcnF1ZWVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNYXJxdWVlRWxl
bWVudDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgICogaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y2Fu
U3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
aHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MU291cmNlRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU291cmNlRWxlbWVudDo6Y2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1M
U291cmNlRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSW1hZ2VCaXRtYXAuY3BwOgorICAgICAg
ICAqIGh0bWwvUHVibGljVVJMTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQdWJsaWNV
UkxNYW5hZ2VyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBodG1sL1B1YmxpY1VSTE1hbmFnZXIuaDoKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24g
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuaDoKKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrTGlzdEJhc2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VHJhY2tMaXN0QmFzZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVu
c2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC90cmFjay9UcmFja0xpc3RCYXNl
Lmg6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
dmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBhZ2UvSW50ZXJz
ZWN0aW9uT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJzZWN0aW9uT2JzZXJ2
ZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAqIHBhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaDoKKyAgICAgICAgKiBwYWdlL1Jlc2l6
ZU9ic2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc2l6ZU9ic2VydmVyOjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdl
L1Jlc2l6ZU9ic2VydmVyLmg6CisgICAgICAgICogcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN1c3BlbmRhYmxlVGltZXJCYXNlOjpjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1N1c3BlbmRh
YmxlVGltZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9TdXNwZW5kYWJsZVRhc2tRdWV1ZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdXNwZW5kYWJsZVRhc2tRdWV1ZTo6Y2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vU3Vz
cGVuZGFibGVUYXNrUXVldWUuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpj
YW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXI6OmNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRh
aW5lcjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbiBjb25zdCk6IERlbGV0ZWQuCisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVx
dWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6c2hvdWxkUHJldmVu
dEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlhNTEh0dHBSZXF1ZXN0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDoKKwogMjAxOS0x
MC0xNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTXVsdGlD
aGFubmVsUmVzYW1wbGVyIGRvZXMgbm90IG5lZWQgdG8gcmVjcmVhdGUgYSBDaGFubmVsUHJvdmlk
ZXIgZm9yIGV2ZXJ5IHByb2Nlc3MgY2FsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCmluZGV4IDY5ZjhlMzJkNjA4MmQyZjNhM2E1
ZTA1MGMzNzI0OThkYWZjMzAwNTQuLjE4ZmQ5N2JhOGUyZWExYWU4Njg2ZDVhNmUwYTk4MTYyMmU1
MjVkODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvbi5jcHAKQEAgLTgyMywxNCArODIzLDE0IEBAIGNvbnN0IGNoYXIqIEFwcGxlUGF5
U2Vzc2lvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJBcHBsZVBh
eVNlc3Npb24iOwogfQogCi1ib29sIEFwcGxlUGF5U2Vzc2lvbjo6Y2FuU3VzcGVuZEZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpIGNvbnN0Citib29sIEFwcGxlUGF5U2Vzc2lvbjo6c2hvdWxkUHJldmVu
dEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QKIHsKICAgICBzd2l0
Y2ggKG1fc3RhdGUpIHsKICAgICBjYXNlIFN0YXRlOjpJZGxlOgogICAgIGNhc2UgU3RhdGU6OkFi
b3J0ZWQ6CiAgICAgY2FzZSBTdGF0ZTo6Q29tcGxldGVkOgogICAgIGNhc2UgU3RhdGU6OkNhbmNl
bGVkOgotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
Y2FzZSBTdGF0ZTo6QWN0aXZlOgogICAgIGNhc2UgU3RhdGU6OkF1dGhvcml6ZWQ6CkBAIC04Mzgs
NyArODM4LDggQEAgYm9vbCBBcHBsZVBheVNlc3Npb246OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1
c3BlbnNpb24oKSBjb25zdAogICAgIGNhc2UgU3RhdGU6OlNoaXBwaW5nQ29udGFjdFNlbGVjdGVk
OgogICAgIGNhc2UgU3RhdGU6OlBheW1lbnRNZXRob2RTZWxlY3RlZDoKICAgICBjYXNlIFN0YXRl
OjpDYW5jZWxSZXF1ZXN0ZWQ6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgLy8gRklY
TUU6IFRoaXMgc2hvdWxkIG5ldmVyIHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBj
YWNoZS4KKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaAppbmRleCAzYTkyNTA3Y2Zl
N2ViMzdmMjMzY2EwNjYyZjgxZDQ5NzM0YTgxZjA3Li40ZTM0M2IxMGNkMzAwNTcyZDI0NWNhMWVk
NjA1NGNjYTgzYWUyYjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTZXNzaW9uLmgKQEAgLTEwMiw3ICsxMDIsNyBAQCBwcml2YXRlOgogCiAgICAg
Ly8gQWN0aXZlRE9NT2JqZWN0LgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUo
KSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNp
b24oKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIHNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tG
b3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgp
IG92ZXJyaWRlOwogCiAgICAgLy8gRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5jcHAKaW5kZXggYjlmOTM1YjgwNjcwMGQyOWI0
ODIxZGY5YjYwMmE0ZGI4YWIzMTk2ZC4uZWFmMDZhMjgxMGZkOTcxZGQ2YjhjMTUxYzUxYWVmMTM4
MjgzYmNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNo
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5jcHAKQEAg
LTYwOCwxMSArNjA4LDYgQEAgY29uc3QgY2hhciogRE9NQ2FjaGU6OmFjdGl2ZURPTU9iamVjdE5h
bWUoKSBjb25zdAogICAgIHJldHVybiAiQ2FjaGUiOwogfQogCi1ib29sIERPTUNhY2hlOjpjYW5T
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQogYm9vbCBET01DYWNoZTo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKIHsKICAgICBy
ZXR1cm4gbV90YXNrUXVldWUtPmhhc1BlbmRpbmdUYXNrcygpIHx8IEFjdGl2ZURPTU9iamVjdDo6
aGFzUGVuZGluZ0FjdGl2aXR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2NhY2hlL0RPTUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hl
LmgKaW5kZXggNGRjMDNjYTU3MjkwYzBlNWY4OWE4ZGJjNDY0YjllZmM0MjlhNDJmZS4uZDE2Zjgy
MjE1YzRmMWQ4OThjMWQ3NTY0MjRlODAzN2E5ZDMzZDdjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvRE9NQ2FjaGUuaApAQCAtNzQsNyArNzQsNiBAQCBwcml2YXRlOgogICAgIC8vIEFj
dGl2ZURPTU9iamVjdAogICAgIHZvaWQgc3RvcCgpIGZpbmFsOwogICAgIGNvbnN0IGNoYXIqIGFj
dGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKIAogICAgIHZvaWQgcHV0V2l0aFJlc3Bv
bnNlRGF0YShET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJiwgUmVmPEZldGNoUmVxdWVzdD4mJiwg
UmVmPEZldGNoUmVzcG9uc2U+JiYsIEV4Y2VwdGlvbk9yPFJlZlB0cjxTaGFyZWRCdWZmZXI+PiYm
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZVN0
b3JhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZVN0b3JhZ2Uu
Y3BwCmluZGV4IDU2ZjgxM2Y1ODg0YWU2YWZiM2E5ZWUxOTJmZjgxOGJmYmNlMTIxYzMuLjU0ZWVl
N2I1MjBmNmEwNGNkMWI3ZDlkYmNiZTRkMGVlNzhjMTc4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hlU3RvcmFnZS5jcHAKQEAgLTI4OCwxMSArMjg4LDYg
QEAgY29uc3QgY2hhciogRE9NQ2FjaGVTdG9yYWdlOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29u
c3QKICAgICByZXR1cm4gIkNhY2hlU3RvcmFnZSI7CiB9CiAKLWJvb2wgRE9NQ2FjaGVTdG9yYWdl
OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQogYm9vbCBET01DYWNoZVN0b3JhZ2U6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fdGFza1F1ZXVlLT5oYXNQZW5kaW5nVGFza3MoKSB8fCBBY3Rp
dmVET01PYmplY3Q6Omhhc1BlbmRpbmdBY3Rpdml0eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZVN0b3JhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmgKaW5kZXggNjZlODhiMzY4N2MyYzllMmEyNzhi
ODU5OWZmYWQ5ZmI3ZGZiNjhlMS4uYjIzMGVlZWI1MDU4ZDdlMGI3YTFmZGI0ZTgyZGI4OWI2ZTAy
MTgyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZVN0
b3JhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hlU3RvcmFn
ZS5oCkBAIC01Niw3ICs1Niw2IEBAIHByaXZhdGU6CiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0CiAg
ICAgdm9pZCBzdG9wKCkgZmluYWw7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFt
ZSgpIGNvbnN0IGZpbmFsOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lv
bigpIGNvbnN0IGZpbmFsOwogCiAgICAgdm9pZCBkb09wZW4oY29uc3QgU3RyaW5nJiBuYW1lLCBE
T01Qcm9taXNlRGVmZXJyZWQ8SURMSW50ZXJmYWNlPERPTUNhY2hlPj4mJik7CiAgICAgdm9pZCBk
b1JlbW92ZShjb25zdCBTdHJpbmcmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5jcHAKaW5kZXggOTY2MDJlZDJlNWJlY2FhMTU1NmE1YTFmNDlhYjdmZWIz
YzA4MTkyMC4uODhjOGFlYTQ0Y2I5Y2Y3OWQ3MzllNTFlNTMyM2QxMTM1NmNhM2ZhZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Np
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTZXNzaW9uLmNwcApAQCAtNzQzLDEwICs3NDMsMTEgQEAgY29uc3QgY2hhciogTWVkaWFLZXlT
ZXNzaW9uOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIk1lZGlhS2V5
U2Vzc2lvbiI7CiB9CiAKLWJvb2wgTWVkaWFLZXlTZXNzaW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1l
bnRTdXNwZW5zaW9uKCkgY29uc3QKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBuZXZlciBwcmV2ZW50
IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCitib29sIE1lZGlhS2V5U2Vzc2lvbjo6
c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QK
IHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4g
dHJ1ZTsKIH0KIAogdm9pZCBNZWRpYUtleVNlc3Npb246OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKaW5k
ZXggYzQ3OTVkODI1NjMwMWFlODczNDI1YTlhMWJlMDZlM2IwODFhMGZiZi4uYWViNWMyMmVlODRj
ZDA2M2QxOWU1NjRhZDk2NTY3ZGExZjc0ZWM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC0xMDQsNyAr
MTA0LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdAogICAgIGNvbnN0IGNo
YXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGNhblN1
c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIHNo
b3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwogCiAgICAgV2Vha1B0cjxNZWRpYUtl
eXM+IG1fa2V5czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uY3BwCmlu
ZGV4IDllOTNjN2IyODYxZTY0MDgwNjk0YWNmYTNmZmYzNDI5OWI5NjcwYzQuLjhkZGVmMjU3ZGZl
MGY0N2E2NTQyNzhiOTRkNGFjODhkOTMzYmI1OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0
TWVkaWFLZXlTZXNzaW9uLmNwcApAQCAtMjUxLDEwICsyNTEsMTAgQEAgY29uc3QgY2hhciogV2Vi
S2l0TWVkaWFLZXlTZXNzaW9uOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1
cm4gIldlYktpdE1lZGlhS2V5U2Vzc2lvbiI7CiB9CiAKLWJvb2wgV2ViS2l0TWVkaWFLZXlTZXNz
aW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKK2Jvb2wgV2ViS2l0
TWVkaWFLZXlTZXNzaW9uOjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RF
UFJFQ0FURUQoKSBjb25zdAogewotICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgdHJ5IGFuZCBkbyBi
ZXR0ZXIgaGVyZS4KLSAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxk
IG5ldmVyIHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4KKyAgICByZXR1
cm4gdHJ1ZTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaApp
bmRleCA0MjMzYWNlMjY3NWM0NWZiYjYwNjBmYzBiMDk1YjhhY2Y3OTQ3NTIwLi5jZmRlYjI0ODY1
ZWVlZGIzYzYwNjkwNjQ0MDI2OTM0OTlkMjM2MDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRN
ZWRpYUtleVNlc3Npb24uaApAQCAtNzgsNyArNzgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVy
ZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQogCiAgICAgdm9pZCBzdG9wKCkgZmlu
YWw7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmlu
YWw7CisgICAgYm9vbCBzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJF
Q0FURUQoKSBjb25zdCBmaW5hbDsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1l
KCkgY29uc3QgZmluYWw7CiAKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldElu
dGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFdlYktpdE1lZGlhS2V5U2Vzc2lvbkV2ZW50
VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuY3BwCmluZGV4
IGRmOGYzOTM4YjY3NGYzMzM5NmMyOTVlYjRiN2FjYjM0ZGZjM2Q2ZmQuLjYzYWEwZmVhOTA5NTdk
NTNhZTY0Yjg1MjcwNTY5MTRlMjlkNWFmNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5j
cHAKQEAgLTUzLDkgKzUzLDEwIEBAIGNvbnN0IGNoYXIqIEZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFk
ZXI6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogICAgIHJldHVybiAiRmlsZVN5c3RlbURp
cmVjdG9yeVJlYWRlciI7CiB9CiAKLWJvb2wgRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlcjo6Y2Fu
U3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CisvLyBGSVhNRTogVGhpcyBzaG91
bGQgbmV2ZXIgcHJldmVudCBlbnRlcmluZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlLgorYm9vbCBG
aWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyOjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2Fy
ZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdAogewotICAgIHJldHVybiAhaGFzUGVuZGluZ0FjdGl2
aXR5KCk7CisgICAgcmV0dXJuIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiAvLyBodHRwczov
L3dpY2cuZ2l0aHViLmlvL2VudHJpZXMtYXBpLyNkb20tZmlsZXN5c3RlbWRpcmVjdG9yeWVudHJ5
LXJlYWRlbnRyaWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bnRyaWVzYXBpL0ZpbGVTeXN0ZW1EaXJlY3RvcnlSZWFkZXIuaAppbmRleCBmY2M0OTE5NTczN2Fk
OTZjMDg2YjEwMDNlYWE1NmQ1M2NiMDAxNmFkLi5iOTAwZGU3MzcxYTQxYmYyMDFlZGY5ZDg1NjE3
M2Y1ZDg3ZDE4NDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNh
cGkvRmlsZVN5c3RlbURpcmVjdG9yeVJlYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyLmgKQEAgLTU0LDcgKzU0LDcg
QEAgcHJpdmF0ZToKICAgICBGaWxlU3lzdGVtRGlyZWN0b3J5UmVhZGVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBGaWxlU3lzdGVtRGlyZWN0b3J5RW50cnkmKTsKIAogICAgIGNvbnN0IGNoYXIq
IGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblN1c3BlbmRG
b3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNob3VsZFByZXZl
bnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IGZpbmFsOwogCiAg
ICAgUmVmPEZpbGVTeXN0ZW1EaXJlY3RvcnlFbnRyeT4gbV9kaXJlY3Rvcnk7CiAgICAgT3B0aW9u
YWw8RXhjZXB0aW9uPiBtX2Vycm9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbnRyaWVzYXBpL0ZpbGVTeXN0ZW1FbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmNwcAppbmRleCAzYzVjNGY5OTgzZDBjMTQ4ZDA4
OTI3MGQ4N2I0ZjdlYjZiNmJkMDJmLi5kMjUxNmEzNzI0NWNmYzdkMjBkMDg5YTI3MGVhNDNmZDI2
N2MxZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmls
ZVN5c3RlbUVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkv
RmlsZVN5c3RlbUVudHJ5LmNwcApAQCAtNjAsOSArNjAsMTAgQEAgY29uc3QgY2hhciogRmlsZVN5
c3RlbUVudHJ5OjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIkZpbGVT
eXN0ZW1FbnRyeSI7CiB9CiAKLWJvb2wgRmlsZVN5c3RlbUVudHJ5OjpjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBuZXZlciBwcmV2
ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCitib29sIEZpbGVTeXN0ZW1FbnRy
eTo6c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gIWhhc1BlbmRpbmdBY3Rpdml0eSgpOworICAgIHJldHVybiBoYXNQ
ZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAogdm9pZCBGaWxlU3lzdGVtRW50cnk6OmdldFBhcmVudChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWZQdHI8RmlsZVN5c3RlbUVudHJ5Q2Fs
bGJhY2s+JiYgc3VjY2Vzc0NhbGxiYWNrLCBSZWZQdHI8RXJyb3JDYWxsYmFjaz4mJiBlcnJvckNh
bGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0Zp
bGVTeXN0ZW1FbnRyeS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbnRyaWVzYXBpL0ZpbGVT
eXN0ZW1FbnRyeS5oCmluZGV4IGMxMmYzMjc1MWM5MDBkY2IxNjk2OTkzZjQ2NTk2MmMwZTJmZjQ1
YWUuLmQ5NzYzZWZmZWIwYjZmMTQyNTQwNmEwMzA3NjhiMmE5NmEzMDA4MGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW50cmllc2FwaS9GaWxlU3lzdGVtRW50cnkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VudHJpZXNhcGkvRmlsZVN5c3RlbUVudHJ5LmgKQEAg
LTU1LDcgKzU1LDcgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIGNvbnN0IGNoYXIqIGFj
dGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNob3VsZFByZXZlbnRF
bnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IGZpbmFsOwogCiAgICAg
UmVmPERPTUZpbGVTeXN0ZW0+IG1fZmlsZXN5c3RlbTsKICAgICBTdHJpbmcgbV9uYW1lOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuY3BwCmluZGV4IDI5MWQy
OWJmODNiYzNmZWQ4MjNhZmZlZjExODZlOWNjODU2ZDdmYTcuLjRhOWU3ZTMzYjAxMDE0MDY0YTNj
MTY2MzllM2VjNWMwMTMyNzVkNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZmV0Y2gvRmV0Y2hSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5jcHAKQEAgLTMyOSwxMCArMzI5LDEwIEBAIGNvbnN0IGNoYXIqIEZldGNo
UmVxdWVzdDo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJSZXF1ZXN0
IjsKIH0KIAotYm9vbCBGZXRjaFJlcXVlc3Q6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNp
b24oKSBjb25zdAorYm9vbCBGZXRjaFJlcXVlc3Q6OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tG
b3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IFdlIGNhbiBw
cm9iYWJseSBkbyB0aGUgc2FtZSBzdHJhdGVneSBhcyBYSFIuCi0gICAgcmV0dXJuICFpc0FjdGl2
ZSgpOworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBuZXZlciBwcmV2ZW50IGVudGVyaW5nIHRo
ZSBiYWNrL2ZvcndhcmQgY2FjaGUuCisgICAgcmV0dXJuIGlzQWN0aXZlKCk7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVx
dWVzdC5oCmluZGV4IGU4NWQxMzQ3Y2YwNzQ3YzM3ZjA1YzdiNTI0MjBjN2VhYjRhYTFhMmIuLmI3
ZjE2MzY3OTYxNjkxMTg3ZDdlNWRhN2ZhZGNiNzk3NjMyMTI0NzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaApAQCAtOTIsNyArOTIsNyBAQCBwcml2YXRl
OgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEJvZHkoRmV0Y2hSZXF1ZXN0Jik7CiAKICAgICBj
b25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBj
YW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBz
aG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdCBm
aW5hbDsKIAogICAgIFJlc291cmNlUmVxdWVzdCBtX3JlcXVlc3Q7CiAgICAgRmV0Y2hPcHRpb25z
IG1fb3B0aW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hSZXNwb25zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9u
c2UuY3BwCmluZGV4IGQ3NWU4ZWIyM2Q4MjNjZGFiNDBmN2QzNDYxOWIzMmU0ZjU0ODQ5MjMuLmVi
MGNlNDQyZThlZmJiZmYwNGY5YzIwMzIyZWFkOTc1YmNmM2M3ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmNwcApAQCAtNTM2LDEwICs1MzYsMTAg
QEAgY29uc3QgY2hhciogRmV0Y2hSZXNwb25zZTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0
CiAgICAgcmV0dXJuICJSZXNwb25zZSI7CiB9CiAKLWJvb2wgRmV0Y2hSZXNwb25zZTo6Y2FuU3Vz
cGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Citib29sIEZldGNoUmVzcG9uc2U6OnNo
b3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0CiB7
Ci0gICAgLy8gRklYTUU6IFdlIGNhbiBwcm9iYWJseSBkbyB0aGUgc2FtZSBzdHJhdGVneSBhcyBY
SFIuCi0gICAgcmV0dXJuICFpc0FjdGl2ZSgpOworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBu
ZXZlciBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCisgICAgcmV0dXJu
IGlzQWN0aXZlKCk7CiB9CiAKIFJlc291cmNlUmVzcG9uc2UgRmV0Y2hSZXNwb25zZTo6cmVzb3Vy
Y2VSZXNwb25zZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hS
ZXNwb25zZS5oCmluZGV4IGYyNDA3ZmZlZDU0MjFkMjNlZjc1NDJlNDBkMmY2NDQ5YjJkODQ3ODAu
LmI5YTRhMDY1NzE4OTM0YjZjNmYwNGE5MGFiMmYxOWU5YWJkMTJjMGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5oCkBAIC0xMTgsNyArMTE4LDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgc3RvcCgpIGZpbmFsOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2
ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1
bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNob3VsZFByZXZlbnRFbnRl
cmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IGZpbmFsOwogCiAgICAgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgZmlsdGVyZWRSZXNwb25zZSgpIGNvbnN0OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCmluZGV4
IGFjZGFmNzllM2UxMzNjY2VkNWU0N2I4YTU2NTliYjI0NDFmMTk1ZjQuLmEyNTZkMmY4YTQyNTQ4
YzQyYWUzYzk1NWQ5NTAyY2MwYWQ4OTNkOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb24uY3BwCkBAIC0xNTcsMTEgKzE1Nyw2IEBAIFBh
Z2UqIEdlb2xvY2F0aW9uOjpwYWdlKCkgY29uc3QKIHsKICAgICByZXR1cm4gZG9jdW1lbnQoKSA/
IGRvY3VtZW50KCktPnBhZ2UoKSA6IG51bGxwdHI7CiB9Ci0KLWJvb2wgR2VvbG9jYXRpb246OmNh
blN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAotewotICAgIHJldHVybiB0cnVl
OwotfQogICAgIAogdm9pZCBHZW9sb2NhdGlvbjo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9u
IHJlYXNvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRp
b24vR2VvbG9jYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2Vv
bG9jYXRpb24uaAppbmRleCA1MzZlZTQxZjhkZWQ0MjA2YTJlNzkxNzRhYWNmOGFiYWU3ZWQwNTkw
Li5hZDJkMzY5OGE0ODI3NjY0MzhhZWMzNWFjNWE3MTc4NDI4ODFiODhmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5oCkBAIC04Myw3ICs4
Myw2IEBAIHByaXZhdGU6CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QKICAgICB2b2lkIHN0b3Ao
KSBvdmVycmlkZTsKLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBj
b25zdCBvdmVycmlkZTsKICAgICB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikgb3Zl
cnJpZGU7CiAgICAgdm9pZCByZXN1bWUoKSBvdmVycmlkZTsKICAgICBjb25zdCBjaGFyKiBhY3Rp
dmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKaW5kZXggMGM3YWMxNzRkNjg5NGFlOWVh
ZTI1NThiYTJmZmZkNDU0YjhkOTY3OS4uYzY2M2Y4N2JiNjZhMGUzNWVmNzY3ZDYzMWI4N2Q2Y2Ez
NTZlOTJiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
RGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRh
dGFiYXNlLmNwcApAQCAtMzEzLDE1ICszMTMsNiBAQCBjb25zdCBjaGFyKiBJREJEYXRhYmFzZTo6
YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJJREJEYXRhYmFzZSI7CiB9
CiAKLWJvb2wgSURCRGF0YWJhc2U6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBj
b25zdAotewotICAgIEFTU0VSVCgmb3JpZ2luVGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgp
KTsKLQotICAgIC8vIEZJWE1FOiBUaGlzIHZhbHVlIHdpbGwgc29tZXRpbWVzIGJlIGZhbHNlIHdo
ZW4gZGF0YWJhc2Ugb3BlcmF0aW9ucyBhcmUgYWN0dWFsbHkgaW4gcHJvZ3Jlc3MuCi0gICAgLy8g
U3VjaCBkYXRhYmFzZSBvcGVyYXRpb25zIGRvIG5vdCB5ZXQgZXhpc3QuCi0gICAgcmV0dXJuIHRy
dWU7Ci19Ci0KIHZvaWQgSURCRGF0YWJhc2U6OnN0b3AoKQogewogICAgIExPRyhJbmRleGVkREIs
ICJJREJEYXRhYmFzZTo6c3RvcCAtICUiIFBSSXU2NCwgbV9kYXRhYmFzZUNvbm5lY3Rpb25JZGVu
dGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZS5oCmluZGV4IDUzM2QzNGEzZjc1ZThjMTgxMGY5MTJmNTM3MDk2YWQ2ZmRlN2MxZmMuLmJmYTBm
NGQ2YzExMGE2ZmZjODBhNDQ0OTQ2M2ZlYzM4MzQ4MzVhMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuaApAQCAtODIsNyArODIsNiBAQCBwdWJs
aWM6CiAgICAgdXNpbmcgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SURCRGF0YWJhc2U+OjpkZXJlZjsK
IAogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAg
ICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKICAg
ICB2b2lkIHN0b3AoKSBmaW5hbDsKIAogICAgIGNvbnN0IElEQkRhdGFiYXNlSW5mbyYgaW5mbygp
IGNvbnN0IHsgcmV0dXJuIG1faW5mbzsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCSW5kZXguY3BwCmluZGV4IDRhN2Y2NmU4NTgyMGFhNDkyMmRjYjI4M2M1Y2FjMGNj
NmFkYTNhNTMuLmQ3ZDU5MzBkOWQyNDVlYmM5NTUxOWM4ZDRkNjZiZDc2YjI2ZTE3YzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAKQEAgLTYyLDEx
ICs2Miw2IEBAIGNvbnN0IGNoYXIqIElEQkluZGV4OjphY3RpdmVET01PYmplY3ROYW1lKCkgY29u
c3QKICAgICByZXR1cm4gIklEQkluZGV4IjsKIH0KIAotYm9vbCBJREJJbmRleDo6Y2FuU3VzcGVu
ZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
IGJvb2wgSURCSW5kZXg6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fb2JqZWN0U3RvcmUuaGFzUGVuZGluZ0FjdGl2aXR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCSW5kZXguaAppbmRleCBmODNjMWYxMTdkNmEwOTlkNzM3MGM3OTlh
NmVjYmNkOTk0YzMzZTU4Li5jZjI3YzA2MjY1YzYyYWY2Y2FkMzk0YTlhNTNmNDEzNmFlZTMyNGFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmgKQEAgLTk5
LDcgKzk5LDYgQEAgcHJpdmF0ZToKICAgICBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IGRv
R2V0QWxsS2V5cyhKU0M6OkV4ZWNTdGF0ZSYsIE9wdGlvbmFsPHVpbnQzMl90PiBjb3VudCwgV1RG
OjpGdW5jdGlvbjxFeGNlcHRpb25PcjxSZWZQdHI8SURCS2V5UmFuZ2U+PigpPiAmJik7CiAKICAg
ICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9v
bCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CiAKICAgICBJ
REJJbmRleEluZm8gbV9pbmZvOwogICAgIElEQkluZGV4SW5mbyBtX29yaWdpbmFsSW5mbzsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3Jl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNw
cAppbmRleCBhNTk3YWMxOWI2M2I4ODhjMTIyZjkyODNhN2RjYTJlZjk3NGZlZTIwLi43ZGMyNzQw
MDBmMmQ2YzY4YzE0Y2MyNDgwYWEzMTY5ODU5YTAwMjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCkBAIC03NSwxMSArNzUs
NiBAQCBjb25zdCBjaGFyKiBJREJPYmplY3RTdG9yZTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0CiAgICAgcmV0dXJuICJJREJPYmplY3RTdG9yZSI7CiB9CiAKLWJvb2wgSURCT2JqZWN0U3Rv
cmU6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAotewotICAgIHJldHVy
biB0cnVlOwotfQotCiBib29sIElEQk9iamVjdFN0b3JlOjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBj
b25zdAogewogICAgIHJldHVybiBtX3RyYW5zYWN0aW9uLmhhc1BlbmRpbmdBY3Rpdml0eSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3Rv
cmUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgK
aW5kZXggZDM0MjU2M2RhOGU0NDMwNGYzZmViNmJmOGJlODU1OThjMTU3Y2ZiNS4uYjFjYWY1ZWMz
NTgxMWI0NGI1NjlhNTMxZjExNmJmZjljZmZjY2RkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5oCkBAIC0xMjUsNyArMTI1LDYgQEAg
cHJpdmF0ZToKICAgICBFeGNlcHRpb25PcjxSZWY8SURCUmVxdWVzdD4+IGRvR2V0QWxsS2V5cyhK
U0M6OkV4ZWNTdGF0ZSYsIE9wdGlvbmFsPHVpbnQzMl90PiBjb3VudCwgV1RGOjpGdW5jdGlvbjxF
eGNlcHRpb25PcjxSZWZQdHI8SURCS2V5UmFuZ2U+PigpPiAmJik7CiAKICAgICBjb25zdCBjaGFy
KiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBjYW5TdXNwZW5k
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CiAKICAgICBJREJPYmplY3RTdG9y
ZUluZm8gbV9pbmZvOwogICAgIElEQk9iamVjdFN0b3JlSW5mbyBtX29yaWdpbmFsSW5mbzsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKaW5kZXgg
YTI0NjFmYzNmNzFhMjRhZTljODI4ZDg4Yjc4NzAyYzQ3ZjYwZGQ2ZS4uZDgxYTA1NjkzMDhhZDE5
MWM2MjlmNTQwMmE3NTI3ZjA0ZDBhMzhlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCUmVxdWVzdC5jcHAKQEAgLTI1OSwxMiArMjU5LDYgQEAgY29uc3QgY2hh
ciogSURCUmVxdWVzdDo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJJ
REJSZXF1ZXN0IjsKIH0KIAotYm9vbCBJREJSZXF1ZXN0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRT
dXNwZW5zaW9uKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoJm9yaWdpblRocmVhZCgpID09ICZUaHJl
YWQ6OmN1cnJlbnQoKSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGJvb2wgSURCUmVxdWVzdDo6
aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKIHsKICAgICBBU1NFUlQoJm9yaWdpblRocmVhZCgp
ID09ICZUaHJlYWQ6OmN1cnJlbnQoKSB8fCBUaHJlYWQ6Om1heUJlR0NUaHJlYWQoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgKaW5kZXggMmEwNzQ0
Yjk3Zjc2ZjZiNWQ4MThiMThkZjgxNWVjNTkyMTQzMDIxZi4uMjc4NTAxYmE2MGU5ZGUwMzAyODFk
OGNiMmYxMTA2NzhiMGM5YjhiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlJlcXVlc3QuaApAQCAtMTU3LDcgKzE1Nyw2IEBAIHByaXZhdGU6CiAgICAgRXZlbnRU
YXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICBi
b29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKICAgICB2
b2lkIHN0b3AoKSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsRm9yU3RvcCgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5j
cHAKaW5kZXggZjA4YzJlYTA3YzNlNGIzNzZlM2RhODBlNTFjNmVjYmNkMmEzMTdjNi4uNjRlMWU4
OTA5ZGUyYzQ5ZjBhNzk1NmMyMjgzY2QzNGNmMDcwMWZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApAQCAtMzIzLDEyICsz
MjMsNiBAQCBjb25zdCBjaGFyKiBJREJUcmFuc2FjdGlvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgp
IGNvbnN0CiAgICAgcmV0dXJuICJJREJUcmFuc2FjdGlvbiI7CiB9CiAKLWJvb2wgSURCVHJhbnNh
Y3Rpb246OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAotewotICAgIEFT
U0VSVCgmbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKTsK
LSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogYm9vbCBJREJUcmFuc2FjdGlvbjo6aGFzUGVuZGluZ0Fj
dGl2aXR5KCkgY29uc3QKIHsKICAgICBBU1NFUlQoJm1fZGF0YWJhc2UtPm9yaWdpblRocmVhZCgp
ID09ICZUaHJlYWQ6OmN1cnJlbnQoKSB8fCBUaHJlYWQ6Om1heUJlR0NUaHJlYWQoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAppbmRl
eCAzZTY4NDA3MTFiYTg0OTNhMGEwYjcxODc5YWFlNmE2YTA1MTJiNDZmLi4xNzllMTViN2VhMDQy
Mjk1ZTQ0ZmZhNmQ1MDQ1Mzk4MjVkNTVmNTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKQEAgLTkyLDcgKzkyLDYgQEAgcHVibGlj
OgogICAgIHVzaW5nIFRocmVhZFNhZmVSZWZDb3VudGVkPElEQlRyYW5zYWN0aW9uPjo6ZGVyZWY7
CiAKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0g
ICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CiAg
ICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHN0b3Ao
KSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29y
ZGVyL01lZGlhUmVjb3JkZXIuY3BwCmluZGV4IDZjMTZmYmM5MmRjYTgyMDcxZjIyZGM1YjYwZmY5
MzZkZDFlODE2NGIuLmJjNjY1YWViODg5OGMwMmE4YmU1NTY5ZDQ1NzFhNzE3MThhOWIxZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29y
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFS
ZWNvcmRlci5jcHAKQEAgLTEwNCw5ICsxMDQsOSBAQCBjb25zdCBjaGFyKiBNZWRpYVJlY29yZGVy
OjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIk1lZGlhUmVjb3JkZXIi
OwogfQogCi1ib29sIE1lZGlhUmVjb3JkZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNp
b24oKSBjb25zdAorYm9vbCBNZWRpYVJlY29yZGVyOjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNr
Rm9yd2FyZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdAogewotICAgIHJldHVybiBmYWxzZTsgLy8g
RklYTUU6IFdlIHNob3VsZCBkbyBiZXR0ZXIgaGVyZSBhcyB0aGlzIHByZXZlbnRzIGVudGVyaW5n
IEJhY2tGb3J3YXJkQ2FjaGUuCisgICAgcmV0dXJuIHRydWU7IC8vIEZJWE1FOiBXZSBzaG91bGQg
ZG8gYmV0dGVyIGhlcmUgYXMgdGhpcyBwcmV2ZW50cyBlbnRlcmluZyBCYWNrRm9yd2FyZENhY2hl
LgogfQogCiBFeGNlcHRpb25Pcjx2b2lkPiBNZWRpYVJlY29yZGVyOjpzdGFydFJlY29yZGluZyhP
cHRpb25hbDxpbnQ+IHRpbWVzbGljZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5oCmluZGV4IDVmZjVkODJjMWQ0N2U2OGQyZTYx
NTc2Y2I2Njk5YzVkZDE4OWRlYTEuLjg0OTZmNWFhZjY0MmRjZjdjZDMzYmVmZjBkYjVkZmEyMzQ2
NmEyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9N
ZWRpYVJlY29yZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVy
L01lZGlhUmVjb3JkZXIuaApAQCAtODgsNyArODgsNyBAQCBwcml2YXRlOgogICAgIC8vIEFjdGl2
ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBzdG9wKCkgZmluYWw7CiAgICAgY29uc3QgY2hhciog
YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwotICAgIGJvb2wgY2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgc2hvdWxkUHJldmVu
dEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QgZmluYWw7CiAgICAg
CiAgICAgdm9pZCBzdG9wUmVjb3JkaW5nSW50ZXJuYWwoKTsKICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKaW5kZXggOGVkZDc3
Y2Q1YmRlMDIwYTRlMmJmNjA5OGNiN2E4ZjU0NjU5MjMzNC4uZjQ1NThjNzMxOTMyOWIzZDQ0NGMy
ZGMzNGJjNGI4MDc3NTc0NmJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5jcHAKQEAgLTk4NywxMSArOTg3LDYgQEAgdm9pZCBNZWRp
YVNvdXJjZTo6c3RvcCgpCiAgICAgbV9wcml2YXRlID0gbnVsbHB0cjsKIH0KIAotYm9vbCBNZWRp
YVNvdXJjZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIHRydWU7Ci19Ci0KIGNvbnN0IGNoYXIqIE1lZGlhU291cmNlOjphY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QKIHsKICAgICByZXR1cm4gIk1lZGlhU291cmNlIjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvTWVkaWFTb3VyY2UuaAppbmRleCA4YTFlZmNh
MjI4ZjFkOTVjODYwN2ZjM2U4OWIzOTkwODJlZWNhMGM1Li45Mjc4ZDdhMjY1YWZkMTFjYThlYjk2
MzUwYTM3MTYyMDY5Mjg2ZGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc291cmNlL01lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9NZWRpYVNvdXJjZS5oCkBAIC0xMjcsNyArMTI3LDYgQEAgcHJpdmF0ZToKICAgICBl
eHBsaWNpdCBNZWRpYVNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKICAgICB2b2lk
IHN0b3AoKSBmaW5hbDsKLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24o
KSBjb25zdCBmaW5hbDsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29u
c3QgZmluYWw7CiAKICAgICB2b2lkIHNldFByaXZhdGVBbmRPcGVuKFJlZjxNZWRpYVNvdXJjZVBy
aXZhdGU+JiYpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9Tb3VyY2VCdWZmZXIuY3BwCmluZGV4IDAzMzY4ZWU3ZmQyNDZmM2E2N2E0ZDdjM2ZhNjc1
NjhkMjExYzZhNmEuLjllMjg3ZTVlZjc2NjFiZDQ2NTBmYjA5OWU1YzVmNGRmNzk0YmFmNDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZl
ci5jcHAKQEAgLTUzOCwxMSArNTM4LDYgQEAgdm9pZCBTb3VyY2VCdWZmZXI6OnN0b3AoKQogICAg
IG1fcmVtb3ZlVGltZXIuc3RvcCgpOwogfQogCi1ib29sIFNvdXJjZUJ1ZmZlcjo6Y2FuU3VzcGVu
ZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
IGNvbnN0IGNoYXIqIFNvdXJjZUJ1ZmZlcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuICJTb3VyY2VCdWZmZXIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyLmgKaW5kZXggN2Q5NTEyMjI4NzdhNGY1YTI4ZmY5
MzAyMjY4ZWE4MjEwN2YzYmE0My4uMTE5ZmZjOGJjMDFlZTJlODA0N2Y2ZTU1YjcyZGQ3OTM2ODUy
NDI3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3Vy
Y2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJj
ZUJ1ZmZlci5oCkBAIC0xNDksNyArMTQ5LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc3RvcCgp
IGZpbmFsOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5h
bDsKLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5h
bDsKIAogICAgIHZvaWQgc291cmNlQnVmZmVyUHJpdmF0ZURpZFJlY2VpdmVJbml0aWFsaXphdGlv
blNlZ21lbnQoY29uc3QgSW5pdGlhbGl6YXRpb25TZWdtZW50JikgZmluYWw7CiAgICAgdm9pZCBz
b3VyY2VCdWZmZXJQcml2YXRlRGlkUmVjZWl2ZVNhbXBsZShNZWRpYVNhbXBsZSYpIGZpbmFsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZm
ZXJMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVm
ZmVyTGlzdC5jcHAKaW5kZXggNDlhN2MzYjIwY2UwMGVmMjlmMWQ5Nzk0MmE3MWI3ZDBkMzBjOTEy
Mi4uMmM0NzhjNTk4NTE1YmUyOGM0NjYyZDhjNjE3Njg1Mzg4MGExYmJjOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3Qu
Y3BwCkBAIC0xMDEsMTEgKzEwMSw2IEBAIHZvaWQgU291cmNlQnVmZmVyTGlzdDo6c2NoZWR1bGVF
dmVudChjb25zdCBBdG9tU3RyaW5nJiBldmVudE5hbWUpCiAgICAgbV9hc3luY0V2ZW50UXVldWUt
PmVucXVldWVFdmVudChXVEZNb3ZlKGV2ZW50KSk7CiB9CiAKLWJvb2wgU291cmNlQnVmZmVyTGlz
dDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KIGNvbnN0IGNoYXIqIFNvdXJjZUJ1ZmZlckxpc3Q6OmFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdAogewogICAgIHJldHVybiAiU291cmNlQnVmZmVyTGlzdCI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlckxpc3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5o
CmluZGV4IGI0MTAwM2EzYjQyNjYyZGU4YjI5NmI5MGZhMzE3MjgwNDM2MWM2YTAuLjljOGFhYTJl
YmIyMjA4MDkwOGRlMjI1MTc3MTdlYmVlYzVmODgzMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5oCkBAIC03OCw3ICs3
OCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIG92ZXJyaWRlIHsgcmVm
KCk7IH0KICAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0K
IAotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFs
OwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKIAog
ICAgIFVuaXF1ZVJlZjxNYWluVGhyZWFkR2VuZXJpY0V2ZW50UXVldWU+IG1fYXN5bmNFdmVudFF1
ZXVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YURldmljZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURl
dmljZXMuY3BwCmluZGV4IDA2ZjE3NTQ2YzdlMGQ0MWEzYjNhMDQ3MzE2MGUyM2Q0YzVjNTEzNGUu
LjMxYjQ1NjUzMjliNmJlNzM4YTEyYmY4MTllZjljNjM2NTRkZDdjYTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5jcHAKQEAgLTIx
OSwxMSArMjE5LDYgQEAgY29uc3QgY2hhciogTWVkaWFEZXZpY2VzOjphY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QKICAgICByZXR1cm4gIk1lZGlhRGV2aWNlcyI7CiB9CiAKLWJvb2wgTWVkaWFE
ZXZpY2VzOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBNZWRpYURldmljZXM6Omxpc3RlbkZvckRldmljZUNoYW5n
ZXMoKQogewogICAgIGlmIChtX2xpc3RlbmluZ0ZvckRldmljZUNoYW5nZXMgfHwgKCFtX2NhbkFj
Y2Vzc0NhbWVyYSAmJiAhbV9jYW5BY2Nlc3NNaWNyb3Bob25lKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCmluZGV4IGU1NGM1YjNiNzNm
YjIyZDg4MTAxNDc2YmRkMWM1YmIxMGFjNGZmMDguLjUzOTVlYjg0ODJmOGM3NGQ1ZGMwZDZjNTkz
MGQ0OWEyMjY3MjBhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFEZXZpY2VzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYURldmljZXMuaApAQCAtMTAwLDcgKzEwMCw2IEBAIHByaXZhdGU6CiAKICAgICAv
LyBBY3RpdmVET01PYmplY3QKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkg
Y29uc3QgZmluYWw7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkg
Y29uc3QgZmluYWw7CiAgICAgdm9pZCBzdG9wKCkgZmluYWw7CiAgICAgYm9vbCBoYXNQZW5kaW5n
QWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcAppbmRleCA4Mjk2ZjMyMWJiNDllZWNlNjU3Y2E3
N2FjNzBiNDZkYmI1NjVlN2I2Li41MDRkMTE3NzFhNjQ2Y2MwMmNjODNlYjcwNGRmNzEwZTRkYTEz
NzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLmNwcApAQCAtNDAwLDkgKzQwMCwxMCBAQCBjb25zdCBjaGFyKiBNZWRpYVN0cmVhbTo6
YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJNZWRpYVN0cmVhbSI7CiB9
CiAKLWJvb2wgTWVkaWFTdHJlYW06OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBj
b25zdAorLy8gRklYTUU6IFRoaXMgc2hvdWxkIG5ldmVyIHByZXZlbnQgZW50ZXJpbmcgdGhlIGJh
Y2svZm9yd2FyZCBjYWNoZS4KK2Jvb2wgTWVkaWFTdHJlYW06OnNob3VsZFByZXZlbnRFbnRlcmlu
Z0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFoYXNQ
ZW5kaW5nQWN0aXZpdHkoKTsKKyAgICByZXR1cm4gaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiB9CiAK
IGJvb2wgTWVkaWFTdHJlYW06Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKaW5kZXggNjY1ZjEw
OWExYjEwZmUwODNmYmEyNDExMjUyOTMxMjNjN2FmNWZhMy4uNDFkYTc2MmU1NDQ4ZGNkMTYwYzVl
MzlmMTQwMWFjYWEyYjExOWMwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0uaApAQCAtMTQ2LDcgKzE0Niw3IEBAIHByaXZhdGU6CiAgICAg
Ly8gQWN0aXZlRE9NT2JqZWN0IEFQSS4KICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKICAgICBjb25z
dCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBjYW5T
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBzaG91
bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdCBmaW5h
bDsKIAogICAgIHZvaWQgdXBkYXRlQWN0aXZlU3RhdGUoKTsKICAgICB2b2lkIGFjdGl2aXR5RXZl
bnRUaW1lckZpcmVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCA5NTUyOTRlZGNmNDNmMzA5NDkxNGY4
N2UzZTFlNzc0YTE1MDJiYjI5Li40NGJmYTliMTZlZWY4MjMzNjk5NTcxN2NiNDZhMTgxODE3MWE0
OWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTU1Niw5ICs1NTYsMTAgQEAgY29uc3QgY2hhciogTWVk
aWFTdHJlYW1UcmFjazo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJN
ZWRpYVN0cmVhbVRyYWNrIjsKIH0KIAotYm9vbCBNZWRpYVN0cmVhbVRyYWNrOjpjYW5TdXNwZW5k
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBuZXZl
ciBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCitib29sIE1lZGlhU3Ry
ZWFtVHJhY2s6OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRF
RCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFoYXNQZW5kaW5nQWN0aXZpdHkoKTsKKyAgICByZXR1
cm4gaGFzUGVuZGluZ0FjdGl2aXR5KCk7CiB9CiAKIGJvb2wgTWVkaWFTdHJlYW1UcmFjazo6aGFz
UGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggNmIxNjY5ZDI2MjNkNDBiMmEy
YTk5OWVkNzQyMDJhYzlmYjdmOTMzOC4uNjkyZjA4M2I5ZWMxNmIyYTA3ZWNmMjJkN2E3NTZmYzUw
ZmQ2Y2I1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTE3Nyw3ICsxNzcsNyBAQCBwcml2YXRlOgogICAgIC8v
IEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBzdG9wKCkgZmluYWw7CiAgICAgY29uc3Qg
Y2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwotICAgIGJvb2wgY2FuU3Vz
cGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgc2hvdWxk
UHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QgZmluYWw7
CiAKICAgICAvLyBFdmVudFRhcmdldAogICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7
IHJlZigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ0RUTUZTZW5kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEVE1GU2VuZGVyLmNwcAppbmRleCA2ZmY0YWE1ZTc3Zjk3ZGRmOTIzZDNiZmI5YTZlNmY3MWM1
ZmY1ODRmLi42ODNiYmJhMDJhMjMwOTMzYmYxMTFmYzhiYjJkZDFjMWFkMTg5ZmNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5j
cHAKQEAgLTE0OCw5ICsxNDgsMTAgQEAgY29uc3QgY2hhciogUlRDRFRNRlNlbmRlcjo6YWN0aXZl
RE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJSVENEVE1GU2VuZGVyIjsKIH0KIAot
Ym9vbCBSVENEVE1GU2VuZGVyOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29u
c3QKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBuZXZlciBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNr
L2ZvcndhcmQgY2FjaGUuCitib29sIFJUQ0RUTUZTZW5kZXI6OnNob3VsZFByZXZlbnRFbnRlcmlu
Z0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICFtX3Nl
bmRlciB8fCBtX3NlbmRlci0+aXNTdG9wcGVkKCk7CisgICAgcmV0dXJuIG1fc2VuZGVyICYmICFt
X3NlbmRlci0+aXNTdG9wcGVkKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRlci5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmgKaW5k
ZXggMzQ1OTU0ZDJiZDFiOTViNjBlZjNhYWQ0ZWUxNGNiYzIyNjg1NWQ4NS4uNzE5YTk5ZDUxOTUy
NGM4MTQ4ZDIxMzc2Y2U0MjNlZTRkYTE0YjQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmgKQEAgLTU4LDcgKzU4LDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgc3RvcCgpIGZpbmFsOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURP
TU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKyAgICBib29sIHNob3VsZFByZXZlbnRFbnRlcmlu
Z0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IGZpbmFsOwogCiAgICAgRXZlbnRU
YXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBSVENEVE1GU2VuZGVyRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAgICAgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmgKaW5k
ZXggNGQzNjYyZDVmYmI5NmY4MmVlNzA4MTIxNDBhODkxZTlmOTUyYzJmMS4uZTM5ZWVkMzQxOGEz
MWJhMDVlYmRkMGVlMjRlZjQzZDA0MDM0ZGExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaApAQCAtOTQsNyArOTQsOSBAQCBw
cml2YXRlOgogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkKICAgICB2b2lkIHN0b3AoKSBmaW5h
bDsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gIlJUQ0RhdGFDaGFubmVsIjsgfQotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50
U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcmVhZHlTdGF0ZSAhPSBSVENEYXRh
Q2hhbm5lbFN0YXRlOjpPcGVuOyB9CisKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgbmV2ZXIg
cHJldmVudCBlbnRlcmluZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlLgorICAgIGJvb2wgc2hvdWxk
UHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9yZWFkeVN0YXRlID09IFJUQ0RhdGFDaGFubmVsU3RhdGU6Ok9wZW47IH0KIAog
ICAgIC8vIFJUQ0RhdGFDaGFubmVsSGFuZGxlckNsaWVudCBBUEkKICAgICB2b2lkIGRpZENoYW5n
ZVJlYWR5U3RhdGUoUlRDRGF0YUNoYW5uZWxTdGF0ZSkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCmlu
ZGV4IGZkMTIwZmE5MmI0YmUyN2NmZDY0NTIxY2Q4NzZhYTQ0MzAzZGViYTQuLjA5YjAzOTY3Njlm
NTk5ZGI5OTA5NDE2ZGM0YTU3Y2Q2MTNjMjg2ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBAIC00OTgs
MTAgKzQ5OCwxMCBAQCBjb25zdCBjaGFyKiBSVENQZWVyQ29ubmVjdGlvbjo6YWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJSVENQZWVyQ29ubmVjdGlvbiI7CiB9CiAKLWJv
b2wgUlRDUGVlckNvbm5lY3Rpb246OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBj
b25zdAorLy8gRklYTUU6IFRoaXMgc2hvdWxkIG5ldmVyIHByZXZlbnQgZW50ZXJpbmcgdGhlIGJh
Y2svZm9yd2FyZCBjYWNoZS4KK2Jvb2wgUlRDUGVlckNvbm5lY3Rpb246OnNob3VsZFByZXZlbnRF
bnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0CiB7Ci0gICAgLy8gRklY
TUU6IEV2YWx1YXRlIHdoZXRoZXIgdG8gZXh0ZW5kIHRoaXMgdG8gY29ubmVjdGVkIGNhc2VzIGFz
IHdlbGwuCi0gICAgcmV0dXJuIG1faWNlQ29ubmVjdGlvblN0YXRlICE9IFJUQ0ljZUNvbm5lY3Rp
b25TdGF0ZTo6Q29tcGxldGVkICYmIG1faWNlQ29ubmVjdGlvblN0YXRlICE9IFJUQ0ljZUNvbm5l
Y3Rpb25TdGF0ZTo6Q29ubmVjdGVkOworICAgIHJldHVybiBtX2ljZUNvbm5lY3Rpb25TdGF0ZSA9
PSBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkNvbXBsZXRlZCB8fCBtX2ljZUNvbm5lY3Rpb25TdGF0
ZSA9PSBSVENJY2VDb25uZWN0aW9uU3RhdGU6OkNvbm5lY3RlZDsKIH0KIAogdm9pZCBSVENQZWVy
Q29ubmVjdGlvbjo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uIHJlYXNvbikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24u
aAppbmRleCA2MDg3MzY2ZjcxYmUxMjg4YTk2OWMzZjAxNGEyYzgwYTJjNGJiMjhmLi4xODcyMDY1
YjgzNTg0YmY5OWUzZWEzMjBlMjc4NmNkYjcyODM1OTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCkBAIC0yMTEs
NyArMjExLDcgQEAgcHJpdmF0ZToKICAgICAvLyBBY3RpdmVET01PYmplY3QKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHN0b3AoKSBmaW5hbDsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNw
ZW5zaW9uKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNr
Rm9yd2FyZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHN1c3BlbmQo
UmVhc29uRm9yU3VzcGVuc2lvbikgZmluYWw7CiAgICAgdm9pZCByZXN1bWUoKSBmaW5hbDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFS
ZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5jcHAKaW5kZXggNzdhNTJkYTZkNWZhYWQ3MzMwZjdkYjFmMDg5MTkzMDlkYWM4N2Vi
ZS4uNWQyYzZmMjQ4ODliMmMwZjAxYWFlZDUyNzIzNGQzMjE5NzIxZTk5ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
Y3BwCkBAIC0zMzYsOSArMzM2LDEwIEBAIGNvbnN0IGNoYXIqIFVzZXJNZWRpYVJlcXVlc3Q6OmFj
dGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogICAgIHJldHVybiAiVXNlck1lZGlhUmVxdWVzdCI7
CiB9CiAKLWJvb2wgVXNlck1lZGlhUmVxdWVzdDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVu
c2lvbigpIGNvbnN0CisvLyBGSVhNRTogVGhpcyBzaG91bGQgbmV2ZXIgcHJldmVudCBlbnRlcmlu
ZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlLgorYm9vbCBVc2VyTWVkaWFSZXF1ZXN0OjpzaG91bGRQ
cmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdAogewotICAg
IHJldHVybiAhaGFzUGVuZGluZ0FjdGl2aXR5KCk7CisgICAgcmV0dXJuIGhhc1BlbmRpbmdBY3Rp
dml0eSgpOwogfQogCiBEb2N1bWVudCogVXNlck1lZGlhUmVxdWVzdDo6ZG9jdW1lbnQoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVk
aWFSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRp
YVJlcXVlc3QuaAppbmRleCBmMmMwZWZjYjJkNTYyZDI1MTIzOWQyODAxZDQyNjFkNzkwOGM4MjMy
Li40NmYxZDQ3ODhhMDMzOGFlNTMzZGQ5ODA0NTMwZTQyNjliZDk4OTk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaApA
QCAtODUsNyArODUsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzdG9wKCkgZmluYWw7CiAgICAg
Y29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwotICAgIGJvb2wg
Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOworICAgIGJvb2wg
c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3Qg
ZmluYWw7CiAKICAgICB2b2lkIG1lZGlhU3RyZWFtRGlkRmFpbChSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmNwcAppbmRleCBmMjlhMTI0OWExMzJjOWQ3N2MwNjRjM2I3Y2FmZTVm
MTRjZjMwYWRhLi4zNmI5OTdmZTkwZjNlYzcwYzI1NzgxMTRkNDc5ZTFjZmYzNWQyZjM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmNwcApAQCAtMTE5LDEwICsxMTksMTAgQEAgY29uc3QgY2hhciogTm90aWZpY2F0aW9uOjph
Y3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIk5vdGlmaWNhdGlvbiI7CiB9
CiAKLWJvb2wgTm90aWZpY2F0aW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkg
Y29uc3QKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBuZXZlciBwcmV2ZW50IGVudGVyaW5nIHRoZSBi
YWNrL2ZvcndhcmQgY2FjaGUuCitib29sIE5vdGlmaWNhdGlvbjo6c2hvdWxkUHJldmVudEVudGVy
aW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QKIHsKLSAgICAvLyBXZSBjYW4g
c3VzcGVuZCBpZiB0aGUgTm90aWZpY2F0aW9uIGlzIG5vdCBzaG93biB5ZXQgb3IgYWZ0ZXIgaXQg
aXMgY2xvc2VkLgotICAgIHJldHVybiBtX3N0YXRlID09IElkbGUgfHwgbV9zdGF0ZSA9PSBDbG9z
ZWQ7CisgICAgcmV0dXJuIG1fc3RhdGUgIT0gSWRsZSAmJiBtX3N0YXRlICE9IENsb3NlZDsKIH0K
IAogdm9pZCBOb3RpZmljYXRpb246OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmluZGV4IDdmZjk4ZDRlNTRjNThmYTIy
NGFkMmU0NWFjNTA4ZjlkMzFhZjBlZTEuLmU5ZDJkNjhjMTI3NDJkNzgwNjcxMmM0MDZlOTYxZDhi
MDk0ZTUxN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlv
bnMvTm90aWZpY2F0aW9uLmgKQEAgLTk3LDcgKzk3LDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFj
dGl2ZURPTU9iamVjdAogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dCBmaW5hbDsKLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25z
dCBmaW5hbDsKKyAgICBib29sIHNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVf
REVQUkVDQVRFRCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgc3RvcCgpIGZpbmFsOwogCiAgICAg
dm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKaW5k
ZXggY2MwNzc0YmM1NzEwNGZmMjA3MjVjYzYzNjBjYjI1ZGQ5MTg4MmQ4OC4uMDBmMTQ5M2M3ZDM2
M2Y5ZDljNjJmMjMwMzE1ZmEwZDcyYWQyNGE2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKQEAgLTUzOSw5
ICs1MzksMTAgQEAgT3B0aW9uYWw8UGF5bWVudFNoaXBwaW5nVHlwZT4gUGF5bWVudFJlcXVlc3Q6
OnNoaXBwaW5nVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAotYm9v
bCBQYXltZW50UmVxdWVzdDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0
CisvLyBGSVhNRTogVGhpcyBzaG91bGQgbmV2ZXIgcHJldmVudCBlbnRlcmluZyB0aGUgYmFjay9m
b3J3YXJkIGNhY2hlLgorYm9vbCBQYXltZW50UmVxdWVzdDo6c2hvdWxkUHJldmVudEVudGVyaW5n
QmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QKIHsKLSAgICByZXR1cm4gIWhhc1Bl
bmRpbmdBY3Rpdml0eSgpOworICAgIHJldHVybiBoYXNQZW5kaW5nQWN0aXZpdHkoKTsKIH0KIAog
dm9pZCBQYXltZW50UmVxdWVzdDo6c2hpcHBpbmdBZGRyZXNzQ2hhbmdlZChSZWY8UGF5bWVudEFk
ZHJlc3M+JiYgc2hpcHBpbmdBZGRyZXNzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCmluZGV4IDdmMWI1MmZhMDJkNGUz
ZjhiMmE0YTViOTJlNDYxMWUzZTg2NTUxYTAuLjQwYTVlYTJmOGRmMWU3N2IxZjVlNmMwZWI4ZTgx
MWYyMjY2YzRiMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJl
cXVlc3QvUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKQEAgLTEyNiw3ICsxMjYsNyBAQCBwcml2YXRlOgog
CiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJQYXltZW50UmVxdWVzdCI7IH0KLSAgICBib29s
IGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKKyAgICBib29s
IHNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0
IGZpbmFsOwogICAgIHZvaWQgc3RvcCgpIGZpbmFsOwogCiAgICAgLy8gRXZlbnRUYXJnZXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
c3BvbnNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dFJlc3BvbnNlLmNwcAppbmRleCA5OGI1ZDZjZjI0MDk3YTBjYzhlMThlMWNjZGQwYjMxOTY4MmZk
ZGZkLi4xNjkyZGMwNjJjMjQxOTQ4OTBiMDNjNWM3ZjhiYTQxNTE0MGZhNTIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVz
cG9uc2UuY3BwCkBAIC0xMjUsMTAgKzEyNSwxMSBAQCB2b2lkIFBheW1lbnRSZXNwb25zZTo6c2V0
dGxlUmV0cnlQcm9taXNlKEV4Y2VwdGlvbk9yPHZvaWQ+JiYgcmVzdWx0KQogICAgIG1fcmV0cnlQ
cm9taXNlID0gbnVsbHB0cjsKIH0KIAotYm9vbCBQYXltZW50UmVzcG9uc2U6OmNhblN1c3BlbmRG
b3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAorLy8gRklYTUU6IFRoaXMgc2hvdWxkIG5ldmVy
IHByZXZlbnQgZW50ZXJpbmcgdGhlIGJhY2svZm9yd2FyZCBjYWNoZS4KK2Jvb2wgUGF5bWVudFJl
c3BvbnNlOjpzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQo
KSBjb25zdAogewogICAgIEFTU0VSVChtX3N0YXRlICE9IFN0YXRlOjpTdG9wcGVkKTsKLSAgICBy
ZXR1cm4gIWhhc1BlbmRpbmdBY3Rpdml0eSgpOworICAgIHJldHVybiBoYXNQZW5kaW5nQWN0aXZp
dHkoKTsKIH0KIAogdm9pZCBQYXltZW50UmVzcG9uc2U6OnN0b3AoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlc3BvbnNlLmgKaW5k
ZXggOWFlOWY4NWMzMzFiZjE4MzFiY2UyMDc1ZDY1YzdkZThhZWI3MzJjYi4uZmU3OWE2ZDc5Y2E5
NmE4ZjAwNTJlOTZmYjRhZDdlZDRiMDE3ZWJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXNwb25zZS5oCkBAIC05OCw3ICs5
OCw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QKICAgICBjb25zdCBjaGFy
KiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWwgeyByZXR1cm4gIlBheW1lbnRSZXNw
b25zZSI7IH0KLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25z
dCBmaW5hbDsKKyAgICBib29sIHNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVf
REVQUkVDQVRFRCgpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgc3RvcCgpIGZpbmFsOwogCiAgICAg
Ly8gRXZlbnRUYXJnZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGljdHVy
ZWlucGljdHVyZS9QaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGljdHVyZWlucGljdHVyZS9QaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAppbmRleCA0
OWVjNzQ3NDg1MDRmZThhMmI2ODJmOTgyOTM4MTY1N2MxNmZmOTg1Li5hMDAwZjE3MzRlZGRjNWVm
ZTJmMDE2NzkxNWIwMmY0ZTJiMmFkOGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUvUGljdHVyZUluUGljdHVyZVdpbmRvdy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL1BpY3R1cmVJblBpY3R1cmVXaW5k
b3cuY3BwCkBAIC01NCwxMSArNTQsNiBAQCBjb25zdCBjaGFyKiBQaWN0dXJlSW5QaWN0dXJlV2lu
ZG93OjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIlBpY3R1cmVJblBp
Y3R1cmVXaW5kb3ciOwogfQogCi1ib29sIFBpY3R1cmVJblBpY3R1cmVXaW5kb3c6OmNhblN1c3Bl
bmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAotewotICAgIHJldHVybiB0cnVlOwotfQot
CiBFdmVudFRhcmdldEludGVyZmFjZSBQaWN0dXJlSW5QaWN0dXJlV2luZG93OjpldmVudFRhcmdl
dEludGVyZmFjZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIFBpY3R1cmVJblBpY3R1cmVXaW5kb3dF
dmVudFRhcmdldEludGVyZmFjZVR5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUvUGljdHVyZUluUGljdHVyZVdpbmRvdy5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuaApp
bmRleCA3YWU1YTZiZDhiZTVjMTIzNGUwNGI3MGJhMTg5NWE1MzJhNTJmNjEzLi4yMzFiZjUzZDBi
ZmE0ZDhiNDFhZTRlNmRiOGNhOTMxOGEyOWIyZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvUGljdHVyZUluUGljdHVyZVdpbmRvdy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGljdHVyZWlucGljdHVyZS9QaWN0dXJlSW5QaWN0dXJl
V2luZG93LmgKQEAgLTQ4LDcgKzQ4LDYgQEAgcHVibGljOgogCiAgICAgLy8gQWN0aXZlRE9NT2Jq
ZWN0CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwot
ICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOwog
CiAgICAgdXNpbmcgUmVmQ291bnRlZDxQaWN0dXJlSW5QaWN0dXJlV2luZG93Pjo6cmVmOwogICAg
IHVzaW5nIFJlZkNvdW50ZWQ8UGljdHVyZUluUGljdHVyZVdpbmRvdz46OmRlcmVmOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCmluZGV4IGRk
MmU1Y2UzNzBkMGYwMjVmNDYxZmExMzM4ZGQ1Yjg3NzllYmQxMTYuLjY2ZjIyMDhkOGM4NzY1MmEz
ODA0MjM4OGZkMTFhZjViZmZmYjJhYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKQEAgLTM0MCwxMCArMzQwLDEwIEBAIHZvaWQgQXVk
aW9Db250ZXh0OjpzdG9wKCkKICAgICBjbGVhcigpOwogfQogCi1ib29sIEF1ZGlvQ29udGV4dDo6
Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Citib29sIEF1ZGlvQ29udGV4
dDo6c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29u
c3QKIHsKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGJlIGFibGUgdG8gc3VzcGVuZCB3aGlsZSBy
ZW5kZXJpbmcgYXMgd2VsbCB3aXRoIHNvbWUgbW9yZSBjb2RlLgotICAgIHJldHVybiBtX3N0YXRl
ID09IFN0YXRlOjpTdXNwZW5kZWQgfHwgbV9zdGF0ZSA9PSBTdGF0ZTo6Q2xvc2VkOworICAgIHJl
dHVybiBtX3N0YXRlICE9IFN0YXRlOjpTdXNwZW5kZWQgJiYgbV9zdGF0ZSAhPSBTdGF0ZTo6Q2xv
c2VkOwogfQogCiBjb25zdCBjaGFyKiBBdWRpb0NvbnRleHQ6OmFjdGl2ZURPTU9iamVjdE5hbWUo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0
LmgKaW5kZXggZTQ2NmY0NTI4MDkwMjRmMzYwNjZkMzI1OWNmNzM5YjYzYTE0Y2JiYS4uNzYyYzEz
YmFkYWJkZWMyNjFmZTk1MmMyNGI1ZjNmM2M2NTk0MGYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCkBAIC0zMzksNyArMzM5LDcgQEAgcHJp
dmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgdm9pZCBzdG9wKCkgb3Zl
cnJpZGU7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qg
b3ZlcnJpZGU7CisgICAgYm9vbCBzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hl
X0RFUFJFQ0FURUQoKSBjb25zdCBvdmVycmlkZTsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICAvLyBXaGVuIHRoZSBjb250ZXh0IGdv
ZXMgYXdheSwgdGhlcmUgbWlnaHQgc3RpbGwgYmUgc29tZSBzb3VyY2VzIHdoaWNoIGhhdmVuJ3Qg
ZmluaXNoZWQgcGxheWluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0LmNwcAppbmRleCAyMDEyZjc1ZDNlMmQyZmMyZGIzNDQ1
YTY0ZmRmNTk5ZDgzYjQ3NTg3Li4xZmIwNjFmOGIzN2FmMmRkYWIwM2M5NjM2MDljOTAxYjZkMGY5
ZDk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZUNvbnRleHQuY3BwCkBAIC0xMzAsMTIgKzEzMCwxMyBAQCB2b2lkIERhdGFiYXNlQ29u
dGV4dDo6c3RvcCgpCiAgICAgc3RvcERhdGFiYXNlcygpOwogfQogCi1ib29sIERhdGFiYXNlQ29u
dGV4dDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CisvLyBGSVhNRTog
VGhpcyBzaG91bGQgbmV2ZXIgcHJldmVudCBlbnRlcmluZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hl
LgorYm9vbCBEYXRhYmFzZUNvbnRleHQ6OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJk
Q2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0CiB7CiAgICAgaWYgKCFoYXNPcGVuRGF0YWJhc2VzKCkg
fHwgIW1fZGF0YWJhc2VUaHJlYWQpCi0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1
cm4gZmFsc2U7CiAKLSAgICByZXR1cm4gIW1fZGF0YWJhc2VUaHJlYWQtPmhhc1BlbmRpbmdEYXRh
YmFzZUFjdGl2aXR5KCk7CisgICAgcmV0dXJuIG1fZGF0YWJhc2VUaHJlYWQtPmhhc1BlbmRpbmdE
YXRhYmFzZUFjdGl2aXR5KCk7CiB9CiAKIERhdGFiYXNlVGhyZWFkKiBEYXRhYmFzZUNvbnRleHQ6
OmRhdGFiYXNlVGhyZWFkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRh
dGFiYXNlL0RhdGFiYXNlQ29udGV4dC5oCmluZGV4IDdkZDRiOWUzZmM0MGE4MWIyMmU2YzJhNjdj
MTMxMTcyMjZmOWU1OTEuLmJlZjU1MjA4MWE0ZTg4MjM0OWU1YTIxNzQxMzVkZmU2NDcwYzFmMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VD
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFz
ZUNvbnRleHQuaApAQCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBjb250ZXh0
RGVzdHJveWVkKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Ci0gICAgYm9v
bCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
Ym9vbCBzaG91bGRQcmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQoKSBj
b25zdCBvdmVycmlkZTsKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gIkRhdGFiYXNlQ29udGV4dCI7IH0KIAogICAgIFJlZlB0cjxE
YXRhYmFzZVRocmVhZD4gbV9kYXRhYmFzZVRocmVhZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViZ3B1L0dQVUNhbnZhc0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZ3B1L0dQVUNhbnZhc0NvbnRleHQuaAppbmRleCBjZDgxOGNlMDk1ODUzYWU4NGVj
ZmI0MTAyM2M3Mjg2YzQ2MTI0Njg2Li4xYmIyNzBiY2IwMTc5OTdjZjc0ZGY0ZDJhM2RkMWRlZGJk
MzA3N2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmdwdS9HUFVDYW52
YXNDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJncHUvR1BVQ2FudmFz
Q29udGV4dC5oCkBAIC02MCw3ICs2MCw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgY2hhciogYWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJHUFVDYW52YXNDb250ZXh0
IjsgfQogICAgIC8vIEZJWE1FOiBTdHVicy4KICAgICB2b2lkIHN0b3AoKSBmaW5hbCB7IH0KLSAg
ICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBmYWxzZTsgfQorICAgIGJvb2wgc2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRD
YWNoZV9ERVBSRUNBVEVEKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfSAvLyBGSVhNRTog
VGhpcyBzaG91bGQgbmV2ZXIgcHJldmVudCBlbnRlcmluZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hl
LgogCiAgICAgUmVmUHRyPFdlYkdQVVN3YXBDaGFpbj4gbV9zd2FwQ2hhaW47CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCBiMzJi
Zjk4YjI1OGRjZWMzOTg4ZWE1YThhMzRiN2JlYzU4MzNmMzk3Li45NDQwM2YyNWI3NmExNjQ2Mjdk
NWE0OTg2ODc1MzM3ODI2YjM5NzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0LmNwcApAQCAtNDk1LDExICs0OTUsNiBAQCB2b2lkIFdlYlNvY2tl
dDo6Y29udGV4dERlc3Ryb3llZCgpCiAgICAgQWN0aXZlRE9NT2JqZWN0Ojpjb250ZXh0RGVzdHJv
eWVkKCk7CiB9CiAKLWJvb2wgV2ViU29ja2V0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5z
aW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBXZWJTb2NrZXQ6OnN1
c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiByZWFzb24pCiB7CiAgICAgaWYgKG1fcmVzdW1lVGlt
ZXIuaXNBY3RpdmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJT
b2NrZXQuaAppbmRleCA4NmVmZmY3NmI2NzdiNmUyMjE5MmY2YWQ4NmE5MzM4MTI0NzMzNTUyLi5h
YmQyMjViZTU4ZmM5OGQyNjI5ZDY2OTdjYmRkOGRhZWY4NTZmM2IzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCkBAIC0xMDYsNyArMTA2LDYgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGRpc3BhdGNoT3JRdWV1ZUV2ZW50KFJlZjxFdmVudD4mJik7CiAK
ICAgICB2b2lkIGNvbnRleHREZXN0cm95ZWQoKSBmaW5hbDsKLSAgICBib29sIGNhblN1c3BlbmRG
b3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHN1c3BlbmQoUmVh
c29uRm9yU3VzcGVuc2lvbikgZmluYWw7CiAgICAgdm9pZCByZXN1bWUoKSBmaW5hbDsKICAgICB2
b2lkIHN0b3AoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
dnIvVlJEaXNwbGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5
LmNwcAppbmRleCA4MDZhN2FiOWE0MDYyM2MwMzJhZGYyN2UzNTI1NmMwNzEyNGI0Zjg1Li5jZjU4
OGVkZmViYzc4NjQwYjA2YTRmYTlhODc0MjEzODIxZWJmMmI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuY3BwCkBAIC0yMzksOSArMjM5LDEwIEBAIGNvbnN0IGNo
YXIqIFZSRGlzcGxheTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJW
UkRpc3BsYXkiOwogfQogCi1ib29sIFZSRGlzcGxheTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3Vz
cGVuc2lvbigpIGNvbnN0CisvLyBGSVhNRTogVGhpcyBzaG91bGQgbmV2ZXIgcHJldmVudCBlbnRl
cmluZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlLgorYm9vbCBWUkRpc3BsYXk6OnNob3VsZFByZXZl
bnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFZSRGlzcGxheTo6c3RvcCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZyL1ZSRGlzcGxheS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ2ci9WUkRpc3BsYXkuaAppbmRleCAxY2Q3NWQ4OTNm
YzI1NDY5NmM0ODRjNzk2YzljZjE3MjdmNmQ2ZGExLi5lMDg4Y2QxZTMyMjE1YzRlNzA5Y2EyODM2
MzViNzRjZjEzMzkyMzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnZy
L1ZSRGlzcGxheS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VidnIvVlJEaXNwbGF5
LmgKQEAgLTEwNiw3ICsxMDYsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0
CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRl
OworICAgIGJvb2wgc2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNB
VEVEKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7CiAKICAgICB2
b2lkIHN0b3BQcmVzZW50aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vV2ViQW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRp
b24uY3BwCmluZGV4IDVmMGM5MDAzZGZmNzdlMDcxN2Q2ZDhmNWJlNjk2ODYyMGZiNTJhYWYuLjM5
ZjZiMzQ0YzdiNDQ1ZTY0NDdmODkyZDY2MzFmZmUyZTUxMTFhMzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwCkBAIC0xMTU3LDEyICsxMTU3LDEzIEBAIGNvbnN0
IGNoYXIqIFdlYkFuaW1hdGlvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0
dXJuICJBbmltYXRpb24iOwogfQogCi1ib29sIFdlYkFuaW1hdGlvbjo6Y2FuU3VzcGVuZEZvckRv
Y3VtZW50U3VzcGVuc2lvbigpIGNvbnN0CisvLyBGSVhNRTogVGhpcyBzaG91bGQgbmV2ZXIgcHJl
dmVudCBlbnRlcmluZyB0aGUgYmFjay9mb3J3YXJkIGNhY2hlLgorYm9vbCBXZWJBbmltYXRpb246
OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0
CiB7CiAgICAgLy8gVXNlIHRoZSBiYXNlIGNsYXNzJ3MgaW1wbGVtZW50YXRpb24gb2YgaGFzUGVu
ZGluZ0FjdGl2aXR5KCkgc2luY2Ugd2Ugd291bGRuJ3Qgd2FudCB0aGUgY3VzdG9tIGltcGxlbWVu
dGF0aW9uCiAgICAgLy8gaW4gdGhpcyBjbGFzcyBkZXNpZ25lZCB0byBrZWVwIEpTIHdyYXBwZXJz
IGFsaXZlIHRvIGludGVyZmVyZSB3aXRoIHRoZSBhYmlsaXR5IGZvciBhIHBhZ2UgdXNpbmcgYW5p
bWF0aW9ucwogICAgIC8vIHRvIGVudGVyIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCi0gICAgcmV0
dXJuICFBY3RpdmVET01PYmplY3Q6Omhhc1BlbmRpbmdBY3Rpdml0eSgpOworICAgIHJldHVybiBB
Y3RpdmVET01PYmplY3Q6Omhhc1BlbmRpbmdBY3Rpdml0eSgpOwogfQogCiB2b2lkIFdlYkFuaW1h
dGlvbjo6c3RvcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5p
bWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKaW5kZXgg
MjBiNGNjYTZjN2E1NDk2NWI2MDBiZmViYTcwNzVkYzMxYWJkNDUxOS4uZDQxNTlkZmFkMjE4YTE4
ZGYwYzE1MmE2YTA1MTQ1NTVjNmQwZTZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL1dlYkFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJB
bmltYXRpb24uaApAQCAtMTk3LDcgKzE5Nyw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBBY3RpdmVE
T01PYmplY3QuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZp
bmFsOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZp
bmFsOworICAgIGJvb2wgc2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBS
RUNBVEVEKCkgY29uc3QgZmluYWw7CiAKICAgICAvLyBFdmVudFRhcmdldAogICAgIEV2ZW50VGFy
Z2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
V2ViQW5pbWF0aW9uRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRG
YWNlU2V0LmNwcAppbmRleCBkZWYzYTk0YmViOTdlMmYwMmJjN2Q3NjM3MDBlM2YzNjExZjNiZTJk
Li5jNjI1ZmJlYTczOTNiOWFmYWEwN2RmMDgwOTA1MGVkZDY2ZjU3Y2VhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VTZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Gb250RmFjZVNldC5jcHAKQEAgLTE5MiwxMSArMTkyLDYgQEAgYXV0byBGb250RmFjZVNldDo6
c3RhdHVzKCkgY29uc3QgLT4gTG9hZFN0YXR1cwogICAgIHJldHVybiBMb2FkU3RhdHVzOjpMb2Fk
ZWQ7CiB9CiAKLWJvb2wgRm9udEZhY2VTZXQ6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNp
b24oKSBjb25zdAotewotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIEZvbnRGYWNlU2V0Ojpz
dGFydGVkTG9hZGluZygpCiB7CiAgICAgLy8gRklYTUU6IEZpcmUgYSAibG9hZGluZyIgZXZlbnQg
YXN5bmNocm9ub3VzbHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhY2VT
ZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5oCmluZGV4IDlmNzI4ZWZjMzY2
MzY5OGRmYzgxNTI3ZDExM2I1M2U0NGU5MjlmMWUuLmExMDJmODAzZGU5ZGRiY2E4MzUyNDg3YjEx
MDlhMDc5ZTIwOTQwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNl
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFjZVNldC5oCkBAIC0xMDUsNyArMTA1
LDYgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdAogICAgIGNvbnN0IGNoYXIq
IGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAiRm9udEZhY2VTZXQi
OyB9Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmlu
YWw7CiAKICAgICAvLyBFdmVudFRhcmdldAogICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50
VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gRm9udEZhY2VTZXRFdmVudFRh
cmdldEludGVyZmFjZVR5cGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BY3Rp
dmVET01PYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BY3RpdmVET01PYmplY3QuaAppbmRl
eCA2YjhiOTg2ZjM3OTZjNzQ4OWQwYWYyYzk1NzUzY2JiNjkwZGMyNjdjLi41YWE1OTU0ZjdmY2Ix
ZjIxNDVmZGNlODllYWY3Y2UzMzNlYTQ4MDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vQWN0aXZlRE9NT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0FjdGl2ZURPTU9i
amVjdC5oCkBAIC01MiwxMCArNTIsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaGFz
UGVuZGluZ0FjdGl2aXR5KCkgY29uc3Q7CiAKLSAgICAvLyBUaGUgY2FuU3VzcGVuZEZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpIGZ1bmN0aW9uIGlzIHVzZWQgYnkgdGhlIGNhbGxlciBpZiB0aGVyZSBp
cyBhIGNob2ljZSBiZXR3ZWVuIHN1c3BlbmRpbmcKLSAgICAvLyBhbmQgc3RvcHBpbmcuIEZvciBl
eGFtcGxlLCBhIHBhZ2Ugd29uJ3QgYmUgc3VzcGVuZGVkIGFuZCBwbGFjZWQgaW4gdGhlIGJhY2sv
Zm9yd2FyZAotICAgIC8vIGNhY2hlIGlmIGl0IGNvbnRhaW5zIGFueSBvYmplY3RzIHRoYXQgY2Fu
bm90IGJlIHN1c3BlbmRlZC4KLQogICAgIC8vIEhvd2V2ZXIsIHRoZSBzdXNwZW5kIGZ1bmN0aW9u
IHdpbGwgc29tZXRpbWVzIGJlIGNhbGxlZCBldmVuIGlmIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1
c3BlbnNpb24oKSByZXR1cm5zIGZhbHNlLgogICAgIC8vIFRoYXQgaGFwcGVucyBpbiBzdGVwLWJ5
LXN0ZXAgSlMgZGVidWdnaW5nIGZvciBleGFtcGxlIC0gaW4gdGhpcyBjYXNlIGl0IHdvdWxkIGJl
IGluY29ycmVjdAogICAgIC8vIHRvIHN0b3AgdGhlIG9iamVjdC4gRXhhY3Qgc2VtYW50aWNzIG9m
IHN1c3BlbmQgaXMgdXAgdG8gdGhlIG9iamVjdCBpbiBjYXNlcyBsaWtlIHRoYXQuCkBAIC02NCw3
ICs2MCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFRoZXNlIHRocmVlIGZ1bmN0aW9ucyBtdXN0IG5v
dCBoYXZlIGEgc2lkZSBlZmZlY3Qgb2YgY3JlYXRpbmcgb3IgZGVzdHJveWluZwogICAgIC8vIGFu
eSBBY3RpdmVET01PYmplY3QuIFRoYXQgbWVhbnMgdGhleSBtdXN0IG5vdCByZXN1bHQgaW4gY2Fs
bHMgdG8gYXJiaXRyYXJ5IEphdmFTY3JpcHQuCi0gICAgdmlydHVhbCBib29sIGNhblN1c3BlbmRG
b3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCA9IDA7IC8vIFJldHVybmluZyBmYWxzZSBpbiBj
YW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgd2lsbCBwcmV2ZW50IHRoZSBwYWdlIGZy
b20gZW50ZXJpbmcgdGhlIEJhY2tGb3J3YXJkQ2FjaGUuCisgICAgdmlydHVhbCBib29sIHNob3Vs
ZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9IC8vIFBsZWFzZSBkbyBub3QgYWRkIG5ldyBvdmVycmlkZXMgZm9yIHRoaXMg
ZnVuY3Rpb24uCiAgICAgdmlydHVhbCB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbik7
CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0dlbmVyaWNF
dmVudFF1ZXVlLmNwcAppbmRleCAyMjExYjliNjI3NzE2NDFkMzU5Y2MwZjU1NjZjOWYwNDk4M2Nk
ZWEwLi44MmMyYjhmYmQxYmIwYzI1NjY0NzQ3YWVhMDBmMzA4MGZmMTVkMjRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vR2VuZXJpY0V2ZW50UXVldWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5jcHAKQEAgLTEzMiwxMiArMTMyLDYgQEAgdm9p
ZCBHZW5lcmljRXZlbnRRdWV1ZUJhc2U8VD46OnNldFBhdXNlZChib29sIHNob3VsZFBhdXNlKQog
ICAgICAgICByZXNjaGVkdWxlQWxsRXZlbnRzSWZOZWVkZWQoKTsKIH0KIAotdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KLWJvb2wgR2VuZXJpY0V2ZW50UXVldWVCYXNlPFQ+OjpjYW5TdXNwZW5kRm9yRG9j
dW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdGVtcGxh
dGU8dHlwZW5hbWUgVD4KIHZvaWQgR2VuZXJpY0V2ZW50UXVldWVCYXNlPFQ+OjpzdXNwZW5kKFJl
YXNvbkZvclN1c3BlbnNpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vR2Vu
ZXJpY0V2ZW50UXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5o
CmluZGV4IGNjZDEwNjQ5YmNkOWRiYzcyZTRkNGI4YjNkMWRmOTZhMGRjZjg2NGQuLjUzNzVkNTVj
NTM1ZTVmYzM4ZDRmMGJlZDIzNTc3MTE5NmY5NTZkMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9HZW5lcmljRXZlbnRRdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9HZW5l
cmljRXZlbnRRdWV1ZS5oCkBAIC02MSw3ICs2MSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaXNw
YXRjaE9uZUV2ZW50KCk7CiAKICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkg
Y29uc3QgZmluYWw7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkg
Y29uc3QgZmluYWw7CiAgICAgdm9pZCBzdG9wKCkgZmluYWw7CiAgICAgdm9pZCBzdXNwZW5kKFJl
YXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1lKCkgZmluYWw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL01lc3NhZ2VQb3J0LmNwcAppbmRleCAxZDUwNDAyZDc3YzUxYTAyMGY0MzUwZjhmOWZh
ZjZiNDkyMDQxZDZkLi4zNjk1NjJjOTEyNzViZTQxNDNjYWEyMGZlYzhiY2Y2MzU4MWU2MjFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5jcHAKQEAgLTQxMyw5ICs0MTMsNCBAQCBjb25zdCBj
aGFyKiBNZXNzYWdlUG9ydDo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJu
ICJNZXNzYWdlUG9ydCI7CiB9CiAKLWJvb2wgTWVzc2FnZVBvcnQ6OmNhblN1c3BlbmRGb3JEb2N1
bWVudFN1c3BlbnNpb24oKSBjb25zdAotewotICAgIHJldHVybiB0cnVlOwotfQotCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBv
cnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCmluZGV4IDBiNWYzZDg3YzAx
NTg0NTU2MmJjOTI5YzdjZjhmOGViNzRkZjQ5NzcuLmExMzZhNTZkYmUwNTAwNGZlYjFkZTRhNzJi
ZmUyZDkzYjVlYjFlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9y
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCkBAIC04NSw3ICs4NSw2
IEBAIHB1YmxpYzoKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdAogICAgIGNvbnN0IGNoYXIqIGFj
dGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIGNvbnRleHREZXN0cm95
ZWQoKSBmaW5hbDsKICAgICB2b2lkIHN0b3AoKSBmaW5hbCB7IGNsb3NlKCk7IH0KICAgICBib29s
IGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IDNlYTliMzhkZDIzMzgwNWU3NjU0ZjQ0
NGMxMjliMjdjN2VmYjMwZGMuLmNhNWM1YTJkMDg5MTY3OWI4NDcwNjAxZDYyYjcyZGNlMDNiZDE0
MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAK
QEAgLTIyOSw3ICsyMjksNyBAQCBib29sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmNhblN1c3Bl
bmRBY3RpdmVET01PYmplY3RzRm9yRG9jdW1lbnRTdXNwZW5zaW9uKFZlYwogICAgIGJvb2wgY2Fu
U3VzcGVuZCA9IHRydWU7CiAKICAgICBmb3JFYWNoQWN0aXZlRE9NT2JqZWN0KFsmXShhdXRvJiBh
Y3RpdmVET01PYmplY3QpIHsKLSAgICAgICAgaWYgKCFhY3RpdmVET01PYmplY3QuY2FuU3VzcGVu
ZEZvckRvY3VtZW50U3VzcGVuc2lvbigpKSB7CisgICAgICAgIGlmIChhY3RpdmVET01PYmplY3Qu
c2hvdWxkUHJldmVudEVudGVyaW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkpIHsKICAg
ICAgICAgICAgIGNhblN1c3BlbmQgPSBmYWxzZTsKICAgICAgICAgICAgIGlmICh1bnN1c3BlbmRh
YmxlT2JqZWN0cykKICAgICAgICAgICAgICAgICB1bnN1c3BlbmRhYmxlT2JqZWN0cy0+YXBwZW5k
KCZhY3RpdmVET01PYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9G
aWxlUmVhZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5jcHAKaW5k
ZXggOTlhN2I1YzZmOTg3YTE0YmExOTA5NDU4OTg3YWU4NGVjZmM0ZjA4MC4uNjI0MzhjZDg5MDNk
ZTNkOGRlNDhjODQ3ZmI5ZjA4ODQwYTgzNTQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlUmVhZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVS
ZWFkZXIuY3BwCkBAIC02NSw5ICs2NSwxMCBAQCBGaWxlUmVhZGVyOjp+RmlsZVJlYWRlcigpCiAg
ICAgICAgIG1fbG9hZGVyLT5jYW5jZWwoKTsKIH0KIAotYm9vbCBGaWxlUmVhZGVyOjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKKy8vIEZJWE1FOiBUaGlzIHNob3VsZCBu
ZXZlciBwcmV2ZW50IGVudGVyaW5nIHRoZSBiYWNrL2ZvcndhcmQgY2FjaGUuCitib29sIEZpbGVS
ZWFkZXI6OnNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJkQ2FjaGVfREVQUkVDQVRFRCgp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuICFoYXNQZW5kaW5nQWN0aXZpdHkoKTsKKyAgICByZXR1cm4g
aGFzUGVuZGluZ0FjdGl2aXR5KCk7CiB9CiAKIGNvbnN0IGNoYXIqIEZpbGVSZWFkZXI6OmFjdGl2
ZURPTU9iamVjdE5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9GaWxlUmVhZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaAppbmRl
eCBlZmZkYjI5MGYzZjA0M2VlN2Y2ODg4YmU4NGZjNjIxMjk4OGIzNjdlLi5jMGI3ZGY3YWFjNjc3
MWExZTI3N2E3YjA2NGZiMTVkZGU3OTBiMjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0ZpbGVSZWFkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFk
ZXIuaApAQCAtNzgsNyArNzgsNyBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IEZpbGVSZWFkZXIo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOwogCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IGZpbmFsOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3Vz
cGVuc2lvbigpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgc2hvdWxkUHJldmVudEVudGVyaW5nQmFj
a0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzdG9wKCkg
ZmluYWw7CiAKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIEZpbGVSZWFkZXJFdmVudFRhcmdldEludGVyZmFjZVR5cGU7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmNwcAppbmRleCAxNjc5
ZTliMjJkOGY1MjE2NmVjYTk0ZmRhZjc2NGM0MDAyYjZjNDc0Li4wYWRmN2QxNjRlMmU0ZTJiMGZi
MTEzZjAzYTFiZDNhNzNjMjcxMjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNYXJxdWVlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFycXVl
ZUVsZW1lbnQuY3BwCkBAIC0xNTksMTEgKzE1OSw2IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEhUTUxN
YXJxdWVlRWxlbWVudDo6c2V0TG9vcChpbnQgbG9vcCkKICAgICByZXR1cm4geyB9OwogfQogCi1i
b29sIEhUTUxNYXJxdWVlRWxlbWVudDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgSFRNTE1hcnF1ZWVFbGVtZW50
OjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pCiB7CiAgICAgaWYgKFJlbmRlck1hcnF1ZWUq
IG1hcnF1ZWVSZW5kZXJlciA9IHJlbmRlck1hcnF1ZWUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNYXJxdWVlRWxlbWVudC5oCmluZGV4IDA1ODE4YTU2YTIwYmE4MzZjY2YyMWM5ZTU5Yzg3NTkx
MDI2MDYzZmQuLmEyZjJlNTQ0ZTk1YmI0Njk3NDFkNGIzNDRlMTM2MjcyZDVjYThhMDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuaApAQCAtNTcsNyArNTcsNiBAQCBw
cml2YXRlOgogICAgIGJvb2wgaXNQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgY29sbGVjdFN0eWxlRm9yUHJlc2VudGF0aW9u
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9tU3RyaW5nJiwgTXV0YWJs
ZVN0eWxlUHJvcGVydGllcyYpIGZpbmFsOwogCi0gICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1l
bnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1
c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1lKCkgZmluYWw7CiAgICAgY29uc3QgY2hh
ciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJIVE1MTWFycXVl
ZUVsZW1lbnQiOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRl
eCA5ZmE3MzhhYmM3MTEwNmQ3NmFjNDk0YjhkNmU1ZjhiMDc3ZWUwNzA5Li5mZGVjYjg3ZWNjZWUx
MjlmZTMzMzU3YzFjM2E1ODNlODE0YTNmZmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKQEAgLTU2NjMsMTEgKzU2NjMsNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OmNsZWFyTWVkaWFQbGF5ZXIoKQogICAgIHVwZGF0ZVNsZWVwRGlzYWJsaW5nKCk7CiB9CiAK
LWJvb2wgSFRNTE1lZGlhRWxlbWVudDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGNvbnN0IGNoYXIqIEhUTUxNZWRpYUVs
ZW1lbnQ6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogewogICAgIHJldHVybiAiSFRNTE1l
ZGlhRWxlbWVudCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDMy
YTI0MGEwOWM5NjQ1MTQ3OGFkYzIwN2QzZDkwMDAxOGVlNjU1NjcuLmY0ODJkMjFiNGU0ZGQ0OGQ2
MWI3MzcyZTlmNGY3ZDhlZWViMDJmZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oCkBAIC02MzMsNyArNjMzLDYgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9i
amVjdCBBUEkuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92
ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKSBvdmVycmlk
ZTsKICAgICB2b2lkIHJlc3VtZSgpIG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcAppbmRleCBkZDVkODVj
NTRiOTFmZmJjZmIyMDRlY2ZkNmI3NGI0YjQyM2YzYWJjLi40MjE2ZTk3NmI0ODIwYjc4YzEzNDVi
MzY0ZjhlZDQwNzI3YmUwMTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxT
b3VyY2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVt
ZW50LmNwcApAQCAtMTI3LDExICsxMjcsNiBAQCBjb25zdCBjaGFyKiBIVE1MU291cmNlRWxlbWVu
dDo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJIVE1MU291cmNlRWxl
bWVudCI7CiB9CiAKLWJvb2wgSFRNTFNvdXJjZUVsZW1lbnQ6OmNhblN1c3BlbmRGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKSBjb25zdAotewotICAgIHJldHVybiB0cnVlOwotfQotCiB2b2lkIEhUTUxT
b3VyY2VFbGVtZW50OjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24gcmVhc29uKQogewogICAg
IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBhbHNvIHN0b3AgdGhlIHRpbWVyIGZvciBQYWdlV2ls
bEJlU3VzcGVuZGVkPwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNl
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oCmluZGV4
IDg3NjU4NzFjMTJhNjcwODljMGVmYTIyMzg3ZTVhM2Y0YTM1NzgxOTQuLjRkZjBhZjU0MmQzNTNj
NDIxMWIwMzg4YTgyNTYzZDQ1YmYxMmNkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3Vy
Y2VFbGVtZW50LmgKQEAgLTUyLDcgKzUyLDYgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURP
TU9iamVjdC4KICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmlu
YWw7Ci0gICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmlu
YWw7CiAgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZv
aWQgcmVzdW1lKCkgZmluYWw7CiAgICAgdm9pZCBzdG9wKCkgZmluYWw7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlQml0bWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SW1hZ2VCaXRtYXAuY3BwCmluZGV4IGJhNGJmMWVkYzE2YzJmZTVkNGE3MDY4YWNkMWI2MjEwZDVi
MzY5NTYuLmYyZTYzNDAxOWNhZThlZDQyMDU2NjYzNTE4Y2NiMWYwYjY2NjgxM2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSW1hZ2VCaXRtYXAuY3BwCkBAIC01NjEsMTEgKzU2MSw2IEBAIHByaXZhdGU6CiAg
ICAgICAgIHJldHVybiAiUGVuZGluZ0ltYWdlQml0bWFwIjsKICAgICB9CiAKLSAgICBib29sIGNh
blN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbAotICAgIHsKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCiAgICAgdm9pZCBzdG9wKCkgZmluYWwKICAgICB7CiAg
ICAgICAgIGRlbGV0ZSB0aGlzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9QdWJs
aWNVUkxNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUHVibGljVVJMTWFuYWdlci5j
cHAKaW5kZXggZDJmOTZkNGY1ZDdmNDUzNGVkMjM1NWQ5YTdlZTllZGNlMWVmODZmNC4uOGY1ZmNm
NWY2MjQ2YmE3YmQyNjZhMzE5Y2M5ZWQ4MmVmNDVmYWMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9QdWJsaWNVUkxNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L1B1YmxpY1VSTE1hbmFnZXIuY3BwCkBAIC04MSwxMiArODEsNiBAQCB2b2lkIFB1YmxpY1VSTE1h
bmFnZXI6OnN0b3AoKQogICAgIG1fcmVnaXN0cnlUb1VSTC5jbGVhcigpOwogfQogCi1ib29sIFB1
YmxpY1VSTE1hbmFnZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAot
ewotICAgIC8vIFN1c3BlbmRpbmcgYW4gUHVibGljVVJMTWFuYWdlciBpcyBzYWZlIGFzIGl0IGRv
ZXMgbm90IGNhdXNlIGFueSBKUyB0byBiZSBleGVjdXRlZC4KLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQogY29uc3QgY2hhciogUHVibGljVVJMTWFuYWdlcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuICJQdWJsaWNVUkxNYW5hZ2VyIjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvUHVibGljVVJMTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Q
dWJsaWNVUkxNYW5hZ2VyLmgKaW5kZXggOWJmZTczZTYyODBiOTQ0YzY1ZDBkZGQ4MTFjNmYxN2E3
NDIxOWZkNy4uMGVjYjdlZGUxMjA4OWNjMTgwNjBmZTAxMDYzODlkOWM2ZjljYzFiZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9QdWJsaWNVUkxNYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9QdWJsaWNVUkxNYW5hZ2VyLmgKQEAgLTUwLDcgKzUwLDYgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICAvLyBBY3RpdmVET01PYmplY3QgQVBJLgogICAgIHZvaWQgc3RvcCgp
IG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0IG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dCBvdmVycmlkZTsKICAgICAKICAgICB0eXBlZGVmIEhhc2hTZXQ8U3RyaW5nPiBVUkxTZXQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dEJhc2UuY3BwCmluZGV4IGRlNDdhZTc0ZDdkNTlkYjA5NWM0MzdjNGU5ZDU5NzdhODZkZGUw
ODYuLjYyNjI0NmYyMzQzMGM5MjMzMWM2OTBkZTE3NTc4ZWEwNDExOWRkNGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2UuY3BwCkBAIC01MjA4LDExICs1MjA4LDYgQEAgY29uc3QgY2hhciogV2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuICJXZWJH
TFJlbmRlcmluZ0NvbnRleHQiOwogfQogCi1ib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6
OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAotewotICAgIHJldHVybiB0
cnVlOwotfQotCiB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OnN1c3BlbmQoUmVhc29u
Rm9yU3VzcGVuc2lvbikKIHsKICAgICBtX2lzU3VzcGVuZGVkID0gdHJ1ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaApp
bmRleCBiMTcyNTM4NWY5ZTlkMzg3N2NiZGI5MTQ2NWRjNWUzYTE1YTc2ZjU4Li42Y2EyYWM2OGI1
NDg1MzQxNDBhMGUyOGJiOGZjYjBjMGYwMjA3MjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCkBAIC0zOTMsNyAr
MzkzLDYgQEAgcHJvdGVjdGVkOgogICAgIC8vIEFjdGl2ZURPTU9iamVjdAogICAgIHZvaWQgc3Rv
cCgpIG92ZXJyaWRlOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dCBvdmVycmlkZTsKLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBj
b25zdCBvdmVycmlkZTsKICAgICB2b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikgb3Zl
cnJpZGU7CiAgICAgdm9pZCByZXN1bWUoKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0xpc3RCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5jcHAKaW5kZXggOTAwM2U5YzFiMjJkMmQzZWUzNzkxNTAy
NTg5YzNmMjY4N2U4MjE5Zi4uNDUxOGQ3ZjhkM2ViN2NjZTZiMmVjZThkYTM4MDNlYjQ3ZTQwMzM1
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0xpc3RCYXNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrTGlzdEJhc2UuY3BwCkBAIC0x
NzgsMTEgKzE3OCw2IEBAIGJvb2wgVHJhY2tMaXN0QmFzZTo6aXNBbnlUcmFja0VuYWJsZWQoKSBj
b25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBUcmFja0xpc3RCYXNlOjpjYW5TdXNw
ZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UcmFja0xpc3RCYXNlLmgKaW5kZXggNDI1NWJjMTYwOTVjODIyMDkwNGIxNDNjOGQ5Njc4
MzllNTQxNWQyYy4uYTNiMWFhNzMxMGYzM2VlMDA2MjkyNzhmYjdkZmY0ZTMyZmRkMzJhNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0xpc3RCYXNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0xpc3RCYXNlLmgKQEAgLTc1LDggKzc1LDYg
QEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlVHJhY2tFdmVudChjb25z
dCBBdG9tU3RyaW5nJiBldmVudE5hbWUsIFJlZjxUcmFja0Jhc2U+JiYpOwogCi0gICAgYm9vbCBj
YW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7Ci0KICAgICAvLyBF
dmVudFRhcmdldAogICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CiAg
ICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4IGYxZjViMzJiMDY2NzcwM2YyMTM0M2FmYzhmNTI3NTc0
NjFhZWRmNTYuLjc1Nzc2NWMzYjQ4NzJkNWE2ZjkyYjM0ZTNmMmFjNjdlYWFmMmRkODIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCkBAIC00MDMsMTEgKzQwMyw2IEBAIGNvbnN0IGNo
YXIqIEV2ZW50U291cmNlOjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4g
IkV2ZW50U291cmNlIjsKIH0KIAotYm9vbCBFdmVudFNvdXJjZTo6Y2FuU3VzcGVuZEZvckRvY3Vt
ZW50U3VzcGVuc2lvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgRXZl
bnRTb3VyY2U6OnN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbiByZWFzb24pCiB7CiAgICAgaWYg
KHJlYXNvbiAhPSBSZWFzb25Gb3JTdXNwZW5zaW9uOjpCYWNrRm9yd2FyZENhY2hlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IDM1NTkxNDRmN2VkMjI5YWFjNTBmMDdhNGI1NGI1NzQ4
Y2VlYjM3MDcuLmNlMjUzMGZjMTNlOWZhMjQxMWI5MmJlMWQ3YTZmMGNlNDgzMTUxMGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTkxLDcgKzkxLDYgQEAgcHJpdmF0ZToKICAgICAv
LyBBY3RpdmVET01PYmplY3QKICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKICAgICBjb25zdCBjaGFy
KiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBjYW5TdXNwZW5k
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzdXNwZW5kKFJl
YXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1lKCkgZmluYWw7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW50ZXJzZWN0aW9uT2JzZXJ2ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5jcHAKaW5kZXggZjlmYjI4
N2U2NzllZGQ4NDZlNzViMzc5MTJjMTVhMzhlNDEyMzM2OC4uY2VhNDg3ZmU5MTQyY2E3ODU4OTQ5
M2Q0NjE1N2QxZmJmYTJlNTcyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRl
cnNlY3Rpb25PYnNlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rp
b25PYnNlcnZlci5jcHAKQEAgLTI3OSwxMSArMjc5LDYgQEAgY29uc3QgY2hhciogSW50ZXJzZWN0
aW9uT2JzZXJ2ZXI6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdAogICAgIHJldHVybiAiSW50
ZXJzZWN0aW9uT2JzZXJ2ZXIiOwogfQogCi1ib29sIEludGVyc2VjdGlvbk9ic2VydmVyOjpjYW5T
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQogdm9pZCBJbnRlcnNlY3Rpb25PYnNlcnZlcjo6c3RvcCgpCiB7CiAgICAgZGlzY29ubmVj
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbnRlcnNlY3Rpb25PYnNlcnZlci5oCmluZGV4IDdj
OTg1NGI4YTVkYjQ2Y2YwNTU0NGNmOTg3Yjk2YjhlMWQwMTg1ZGIuLmQ0YjkwMmU3NDUwODI0MDhm
ZDg0OWViYTgyOWRiMWQyOTg5MzM0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
SW50ZXJzZWN0aW9uT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ludGVyc2Vj
dGlvbk9ic2VydmVyLmgKQEAgLTEwMSw3ICsxMDEsNiBAQCBwdWJsaWM6CiAgICAgLy8gQWN0aXZl
RE9NT2JqZWN0LgogICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRl
OwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1Jlc2l6ZU9ic2VydmVyLmNwcAppbmRleCBjYmU1MTY4ZThiN2ZkYmY4ODA0NDYzN2JkNDk4YjZi
M2JjYzcyZDRhLi5jZjYxZjhjZmM2MGQyMDkwYTBjMzMyMDQzMjA2ZmM3ZDM2Njg0MTg1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmNwcApAQCAtMTcxLDExICsxNzEsNiBAQCBj
b25zdCBjaGFyKiBSZXNpemVPYnNlcnZlcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0CiAg
ICAgcmV0dXJuICJSZXNpemVPYnNlcnZlciI7CiB9CiAKLWJvb2wgUmVzaXplT2JzZXJ2ZXI6OmNh
blN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAotewotICAgIHJldHVybiB0cnVl
OwotfQotCiB2b2lkIFJlc2l6ZU9ic2VydmVyOjpzdG9wKCkKIHsKICAgICBkaXNjb25uZWN0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1Jlc2l6ZU9ic2VydmVyLmgKaW5kZXggZWVlYmY5YjllNjFiZDU4OGZk
M2JhOTlmYWIxNTAxOTFjYzhmNjcwZS4uNjljYWM4OGM4YzFhZWE0YWMxNDJhNGZlYmJmYTM5ZGQ2
MWRjYzFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SZXNpemVPYnNlcnZlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUmVzaXplT2JzZXJ2ZXIuaApAQCAtNjcsNyArNjcs
NiBAQCBwdWJsaWM6CiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0LgogICAgIGJvb2wgaGFzUGVuZGlu
Z0FjdGl2aXR5KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50
U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwog
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRp
bWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU3VzcGVuZGFibGVUaW1lci5jcHAKaW5kZXgg
ZTdlNTE3YjMzYWE2MTVjYWZiNzUyZWI5MDg1YzIwOWQxMTgyNGQ1NS4uODQ0ZTAwMWFjYTZjNDZm
N2VmNWM0ZDczOWY4MDUyMDlmYjA5NzEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TdXNwZW5kYWJsZVRpbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRh
YmxlVGltZXIuY3BwCkBAIC03OCwxMSArNzgsNiBAQCB2b2lkIFN1c3BlbmRhYmxlVGltZXJCYXNl
OjpyZXN1bWUoKQogICAgICAgICBzdGFydChtX3NhdmVkTmV4dEZpcmVJbnRlcnZhbCwgbV9zYXZl
ZFJlcGVhdEludGVydmFsKTsKIH0KIAotYm9vbCBTdXNwZW5kYWJsZVRpbWVyQmFzZTo6Y2FuU3Vz
cGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19
Ci0KIHZvaWQgU3VzcGVuZGFibGVUaW1lckJhc2U6OmRpZFN0b3AoKQogewogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TdXNwZW5kYWJsZVRpbWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAppbmRleCBmM2VmMTIzMDBlNWE1NjU5ZDg4NTE4MWZj
MDgzNjU2ODliMDYxZDI4Li4zYmU2MmU0ZjBhNWJlYzczZmYyNzU3ODQ5ZmUwNWVlMzY3YzExMWQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1N1c3BlbmRhYmxlVGltZXIuaApAQCAtNjcsNyArNjcsNiBA
QCBwcml2YXRlOgogICAgIC8vIEFjdGl2ZURPTU9iamVjdCBBUEkuCiAgICAgYm9vbCBoYXNQZW5k
aW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKICAgICB2b2lkIHN0b3AoKSBmaW5hbDsKLSAgICBi
b29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKICAgICB2
b2lkIHN1c3BlbmQoUmVhc29uRm9yU3VzcGVuc2lvbikgZmluYWw7CiAgICAgdm9pZCByZXN1bWUo
KSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3VzcGVuZGFi
bGVUYXNrUXVldWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU3VzcGVuZGFibGVUYXNr
UXVldWUuY3BwCmluZGV4IDljZWU0ZjQ3ZmVkYmRhMjc2ZjExYWVjZTFiM2M0NTVmMWIwNGM0OTEu
LjA0NmFhYWIwZWZkYjIzODI3YzYxYjA2NjM2NDA4YWI3NWI4NzAwMDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1c3BlbmRhYmxlVGFza1F1ZXVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TdXNwZW5kYWJsZVRhc2tRdWV1ZS5jcHAKQEAgLTgxLDExICs4
MSw2IEBAIGNvbnN0IGNoYXIqIFN1c3BlbmRhYmxlVGFza1F1ZXVlOjphY3RpdmVET01PYmplY3RO
YW1lKCkgY29uc3QKICAgICByZXR1cm4gIlN1c3BlbmRhYmxlVGFza1F1ZXVlIjsKIH0KIAotYm9v
bCBTdXNwZW5kYWJsZVRhc2tRdWV1ZTo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgU3VzcGVuZGFibGVUYXNrUXVl
dWU6OnN0b3AoKQogewogICAgIGNsb3NlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TdXNwZW5kYWJsZVRhc2tRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U3VzcGVuZGFibGVUYXNrUXVldWUuaAppbmRleCBiMTI4OTkxN2UxNmNhODlhOTA1MjkyYTEwYTkw
N2QyNWRiOTAzMTAyLi5iMzI2MGY0MzNlNTE3OWNiOTI0NTg3Y2QxODJkZmRkZDhjMThkNzI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TdXNwZW5kYWJsZVRhc2tRdWV1ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1N1c3BlbmRhYmxlVGFza1F1ZXVlLmgKQEAg
LTcwLDcgKzcwLDYgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdC4KICAgICBj
b25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBj
YW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBz
dG9wKCkgZmluYWw7CiAgICAgdm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFs
OwogICAgIHZvaWQgcmVzdW1lKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKaW5kZXggZjNjN2UzZTQyZjFiNzkwNDJlYzg5MzRhZWQ1NDQ2ZTI3ZGI3ZTcxMi4uOTczODlk
MzVjMzBhMmRlOTFkMzcwNjRhNzBlNjQ1MDljMjdhZDdhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcApAQCAtOTQ0LDcgKzk0NCw3IEBAIHByaXZhdGU6CiAgICAgICAgIHN1c3Bl
bmRJZk5lZWRlZCgpOwogICAgIH0KIAotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3Vz
cGVuc2lvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBzaG91bGRQ
cmV2ZW50RW50ZXJpbmdCYWNrRm9yd2FyZENhY2hlX0RFUFJFQ0FURUQoKSBjb25zdCBmaW5hbCB7
IHJldHVybiB0cnVlOyB9CiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0IHsgcmV0dXJuICJVbnN1c3BlbmRhYmxlQWN0aXZlRE9NT2JqZWN0IjsgfQogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IGUzOGVlZTM1N2ZlYTk1MzMxOTY0NjdhNGJjNjAw
ODc3MDgwOTZjYmUuLjBmNTA3OGU4ODJlYTQ3MGYxNTUxNGQ4MmY5NmEyMTY2OTcxZTg4M2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTE1MCwxMSArMTUwLDYgQEAgdm9pZCBXb3Jr
ZXI6OnRlcm1pbmF0ZSgpCiAgICAgbV9ldmVudFF1ZXVlLT5jYW5jZWxBbGxFdmVudHMoKTsKIH0K
IAotYm9vbCBXb3JrZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAot
ewotICAgIHJldHVybiB0cnVlOwotfQotCiBjb25zdCBjaGFyKiBXb3JrZXI6OmFjdGl2ZURPTU9i
amVjdE5hbWUoKSBjb25zdAogewogICAgIHJldHVybiAiV29ya2VyIjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5oCmluZGV4IDhlM2JmYTg3ZWM1OGYwNjhhMzI5ODQwOWFhNTZiMTRmOWMwMDYwZDkuLjRj
NTQxMzlhZjhkNTQ1NjJjNTA0YjNmMmZlMTM2MTYwNzVjZDc3YWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuaApAQCAtODMsNyArODMsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZVJl
c3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYp
IGZpbmFsOwogICAgIHZvaWQgbm90aWZ5RmluaXNoZWQoKSBmaW5hbDsKIAotICAgIGJvb2wgY2Fu
U3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgc3Rv
cCgpIGZpbmFsOwogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBm
aW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXIuY3BwCmluZGV4IGQ0MDFhNWQxYzBiN2IwNTg4YWNlZjY4NjUwNzZiYWFhOWUyMTI2NWQuLjQy
YTVhYjAzOGM1ZWQ5ZTc3ZDQyOTIwNjAwYjg4MzMyODkyMGIxOTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5jcHAKQEAgLTE0NCwxMSArMTQ0
LDYgQEAgY29uc3QgY2hhciogU2VydmljZVdvcmtlcjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNv
bnN0CiAgICAgcmV0dXJuICJTZXJ2aWNlV29ya2VyIjsKIH0KIAotYm9vbCBTZXJ2aWNlV29ya2Vy
OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
dHJ1ZTsKLX0KLQogdm9pZCBTZXJ2aWNlV29ya2VyOjpzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNp
b24pCiB7CiAgICAgbV9pc1N1c3BlbmRlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaAppbmRleCA0N2VjMGNhYzU4Y2JjN2YwYjUwZWFl
Mjk5YWJjYTNhMWFhZTRhZjgzLi42NzU2N2U1NDA4YzM2MTRmZWNjOTRiYTJmYWQwZDU3ODkyMDQy
MTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
LmgKQEAgLTc2LDcgKzc2LDYgQEAgcHJpdmF0ZToKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdC4K
ICAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAg
Ym9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CiAgICAg
dm9pZCBzdXNwZW5kKFJlYXNvbkZvclN1c3BlbnNpb24pIGZpbmFsOwogICAgIHZvaWQgcmVzdW1l
KCkgZmluYWw7CiAgICAgdm9pZCBzdG9wKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKaW5kZXgg
ZWEyM2ZlOWJmODE2MzIyYTIwYzljZmQxNTU3MjMzNDBmZjY1ZDllZS4uZWY5ZmYzZTBhYjQ5MTli
NDc4M2FmZjJiZDVhNDY1NTcyNmFiMjQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcApAQCAtNTEzLDEx
ICs1MTMsNiBAQCBjb25zdCBjaGFyKiBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjphY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3QKICAgICByZXR1cm4gIlNlcnZpY2VXb3JrZXJDb250YWluZXIiOwog
fQogCi1ib29sIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1
c3BlbnNpb24oKSBjb25zdAotewotICAgIHJldHVybiB0cnVlOwotfQotCiBTV0NsaWVudENvbm5l
Y3Rpb24mIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmVuc3VyZVNXQ2xpZW50Q29ubmVjdGlvbigp
CiB7CiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaApp
bmRleCA0NjFlNzBlYjNkMzNlY2NkNzg4ZTkzNjk1MjYyYjYyZTQ2ZDJjNzFkLi5kMTFkYjRlYWM3
MjE1OGMwMjAzYzlkODA2OThmODRkYTE5OTFlZTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKQEAgLTExMyw3
ICsxMTMsNiBAQCBwcml2YXRlOgogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0LgogICAgIGNvbnN0
IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblN1
c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKICAgICAKICAgICBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwg
eyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KICAg
ICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIFNlcnZpY2VXb3JrZXJDb250YWluZXJFdmVudFRhcmdldEludGVyZmFjZVR5cGU7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAppbmRleCA0ZDNiYzZmNjRlY2RlZjg2MWRmYzE5OWM0
ZjJjYWUzOTM2NmMzMTAyLi5mMjE4OTA3MGVhYjc4ZDhjNTI3OTFiM2I1ZGUzMDRjMGY1M2QyM2M3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCkBAIC0yMzgsMTEgKzIzOCw2IEBAIGNvbnN0IGNo
YXIqIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dAogICAgIHJldHVybiAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiI7CiB9CiAKLWJvb2wgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbjo6c3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9uKQogewogICAgIG1faXNTdXNwZW5k
ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKaW5kZXggMDUyNjY1YzY4ODhmOTNlMTcxOGQw
ZmU3OThmOWQ1ZGJmYTMxZDg1NC4uMTkxZmE0MGI4ZmE3N2QyOTJiMTNkY2QxZjJhZDVkZjcxYWM0
ZjcwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCkBAIC05MSw3ICs5MSw2IEBAIHByaXZhdGU6CiAK
ICAgICAvLyBBY3RpdmVET01PYmplY3QuCiAgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0IGZpbmFsOwotICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVu
c2lvbigpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgc3VzcGVuZChSZWFzb25Gb3JTdXNwZW5zaW9u
KSBmaW5hbDsKICAgICB2b2lkIHJlc3VtZSgpIGZpbmFsOwogICAgIHZvaWQgc3RvcCgpIGZpbmFs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggNTNjNDgwNzFiZTk1ZGMx
NWI4Y2Q4MDE3OGM4MDdhOTI4ZTMyYTM3Ni4uNjdhZDI5M2JkNzJmNWQ1YjFmMDRiNDc4NmYxMDA0
YmQxYmYyZWRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0xMTQx
LDEyICsxMTQxLDEzIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmRpZFJlYWNoVGltZW91dCgpCiAg
ICAgZGlzcGF0Y2hFcnJvckV2ZW50cyhldmVudE5hbWVzKCkudGltZW91dEV2ZW50KTsKIH0KIAot
Ym9vbCBYTUxIdHRwUmVxdWVzdDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0CisvLyBGSVhNRTogVGhpcyBzaG91bGQgbmV2ZXIgcHJldmVudCBlbnRlcmluZyB0aGUgYmFj
ay9mb3J3YXJkIGNhY2hlLgorYm9vbCBYTUxIdHRwUmVxdWVzdDo6c2hvdWxkUHJldmVudEVudGVy
aW5nQmFja0ZvcndhcmRDYWNoZV9ERVBSRUNBVEVEKCkgY29uc3QKIHsKICAgICAvLyBJZiB0aGUg
bG9hZCBldmVudCBoYXMgbm90IGZpcmVkIHlldCwgY2FuY2VsbGluZyB0aGUgbG9hZCBpbiBzdXNw
ZW5kKCkgbWF5IGNhdXNlCiAgICAgLy8gdGhlIGxvYWQgZXZlbnQgdG8gYmUgZmlyZWQgYW5kIGFy
Yml0cmFyeSBKUyBleGVjdXRpb24sIHdoaWNoIHdvdWxkIGJlIHVuc2FmZS4KICAgICAvLyBUaGVy
ZWZvcmUsIHdlIHByZXZlbnQgc3VzcGVuZGluZyBpbiB0aGlzIGNhc2UuCi0gICAgcmV0dXJuICFt
X2xvYWRlciB8fCBkb2N1bWVudCgpLT5sb2FkRXZlbnRGaW5pc2hlZCgpOworICAgIHJldHVybiBt
X2xvYWRlciAmJiAhZG9jdW1lbnQoKS0+bG9hZEV2ZW50RmluaXNoZWQoKTsKIH0KIAogY29uc3Qg
Y2hhciogWE1MSHR0cFJlcXVlc3Q6OmFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuaAppbmRleCBkNzBkM2U5YzVkNDg5YjIxM2U2YWY5NzM1MWU0
ZDYyYjhmZjA2OTM0Li41MjAwOGM3ZWI3YTQwZjMyMTUwZTkzNjYwZGUwZGVkYTNiNzZhMzc0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaApAQCAtMTM3LDcgKzEzNyw3IEBAIHByaXZh
dGU6CiAKICAgICAvLyBBY3RpdmVET01PYmplY3QKICAgICB2b2lkIGNvbnRleHREZXN0cm95ZWQo
KSBvdmVycmlkZTsKLSAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBj
b25zdCBvdmVycmlkZTsKKyAgICBib29sIHNob3VsZFByZXZlbnRFbnRlcmluZ0JhY2tGb3J3YXJk
Q2FjaGVfREVQUkVDQVRFRCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc3VzcGVuZChSZWFz
b25Gb3JTdXNwZW5zaW9uKSBvdmVycmlkZTsKICAgICB2b2lkIHJlc3VtZSgpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>