<?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>142398</bug_id>
          
          <creation_ts>2015-03-06 09:00:57 -0800</creation_ts>
          <short_desc>Remove unused C++ DOM event handler attribute functions</short_desc>
          <delta_ts>2019-02-06 09:03:44 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1074949</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-03-06 09:00:57 -0800</bug_when>
    <thetext>Remove unused C++ DOM event handler attribute functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074951</commentid>
    <comment_count>1</comment_count>
      <attachid>248065</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-03-06 09:08:00 -0800</bug_when>
    <thetext>Created attachment 248065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074956</commentid>
    <comment_count>2</comment_count>
      <attachid>248067</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-03-06 09:18:09 -0800</bug_when>
    <thetext>Created attachment 248067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075014</commentid>
    <comment_count>3</comment_count>
      <attachid>248067</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-06 10:46:15 -0800</bug_when>
    <thetext>Comment on attachment 248067
Patch

Clearing flags on attachment: 248067

Committed r181169: &lt;http://trac.webkit.org/changeset/181169&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075015</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-06 10:46:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1503027</commentid>
    <comment_count>5</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:03:44 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248065</attachid>
            <date>2015-03-06 09:08:00 -0800</date>
            <delta_ts>2015-03-06 09:18:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142398-20150306090739.patch</filename>
            <type>text/plain</type>
            <size>52647</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE1MTY3MjQzMzA3Yjc4
Y2FhNjYyZjBiZjBmZTNiY2MzZWIyZWMwMy4uMzZmNTdlMzgyYjdiYzU2YTg5MjkxZWVkMzRjOTU5
N2FjYmRmZGM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDE1LTAzLTA2ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW51c2VkIEMrKyBE
T00gZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGUgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIzOTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOiBSZW1vdmVk
IG5vdy11bm5lZWRlZCBtYWNyb3M6IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIsCisg
ICAgICAgIERFQ0xBUkVfVklSVFVBTF9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIsIERFRklORV9W
SVJUVUFMX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUiwKKyAgICAgICAgREVGSU5FX1dJTkRPV19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIsIERFRklORV9NQVBQRURfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSLAorICAgICAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSLCBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIuCisKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OnNldE9uZW5kZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpmaW5pc2gp
OiBSZXdyb3RlIHRoaXMgdG8gdXNlIGRpc3BhdGNoRXZlbnQKKyAgICAgICAgaW5zdGVhZCBvZiBv
bmUtb2ZmIGV2ZW50LXNlbmRpbmcgY29kZS4gQWxzbyB1c2UgYSBsYW1iZGEgdG8gYXZvaWQgbmVl
ZGluZyB0d28KKyAgICAgICAgYWRkaXRpb25hbCBtZW1iZXIgZnVuY3Rpb25zIHRvIGltcGxlbWVu
dCB0aGlzLgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpub3Rp
ZnlFbmRlZERpc3BhdGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2NoZWR1
bGVkU291cmNlTm9kZTo6bm90aWZ5RW5kZWQpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmg6IFVwZGF0ZWQgZm9yIGFib3ZlLgor
CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDogUmVt
b3ZlZCBvbnh4eCBhbmQgc2V0T254eHggZnVuY3Rpb25zLAorICAgICAgICBpbmNsdWRpbmcgb25l
cyBjcmVhdGVkIHdpdGggbWFjcm9zIGZyb20gRXZlbnRUYXJnZXQuaC4KKyAgICAgICAgKiBNb2R1
bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5oOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0Lmg6IERpdHRvLgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQlJlcXVlc3QuaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCVHJhbnNhY3Rpb24uaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbS5oOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtVHJhY2suaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENE
VE1GU2VuZGVyLmg6IERpdHRvLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0
YUNoYW5uZWwuaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVy
Q29ubmVjdGlvbi5oOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmg6IERpdHRvLgorICAgICAgICAqIE1vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRo
ZXNpc1V0dGVyYW5jZS5oOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlv
Q29udGV4dC5oOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nl
c3Nvck5vZGUuY3BwOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFBy
b2Nlc3Nvck5vZGUuaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5oOiBEaXR0by4KKyAgICAgICAgKiBjc3MvRm9udExvYWRlci5oOiBEaXR0by4KKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDogRGl0dG8uCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOiBE
aXR0by4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBkb20vTWVz
c2FnZVBvcnQuaDogRGl0dG8uCisgICAgICAgICogZmlsZWFwaS9GaWxlUmVhZGVyLmg6IERpdHRv
LgorICAgICAgICAqIGh0bWwvSFRNTEJvZHlFbGVtZW50Lmg6IERpdHRvLgorICAgICAgICAqIGh0
bWwvSFRNTEZvcm1FbGVtZW50Lmg6IERpdHRvLgorICAgICAgICAqIGh0bWwvSFRNTEZyYW1lU2V0
RWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuaDogRGl0
dG8uCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6IERpdHRvLgorICAgICAgICAq
IGh0bWwvSFRNTFZpZGVvRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBodG1sL3RyYWNrL1Rl
eHRUcmFjay5oOiBEaXR0by4KKyAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0N1ZS5oOiBE
aXR0by4KKyAgICAgICAgKiBodG1sL3RyYWNrL1RyYWNrTGlzdEJhc2UuaDogRGl0dG8uCisgICAg
ICAgICogbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaDogRGl0dG8uCisgICAg
ICAgICogcGFnZS9ET01XaW5kb3cuaDogRGl0dG8uCisgICAgICAgICogcGFnZS9FdmVudFNvdXJj
ZS5oOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlLmg6IERpdHRvLgorICAgICAg
ICAqIHdvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaDogRGl0dG8uCisgICAgICAgICogd29ya2Vycy9E
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oOiBEaXR0by4KKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlci5oOiBEaXR0by4KKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmg6IERp
dHRvLgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5oOiBEaXR0by4KKyAgICAgICAgKiB4
bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuaDogRGl0dG8uCisKIDIwMTUtMDMtMDUgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgSmF2YVNjcmlwdCBiaW5kaW5n
IGdldCBhbmQgc2V0IGxlZ2FjeSBldmVudCBsaXN0ZW5lciBhdHRyaWJ1dGVzIGRpcmVjdGx5CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVNlc3Npb24uaAppbmRleCA3ODM1YzQ5ZjQzNTAxMmVmOWI4ZTA1MmU4ZjdiNTc4ZTU3MzFiY2Ix
Li5lZDRjODBhNmVkNDRlYmRhNzYyNTBkODM3NzEwNTEwZmE0OTQ5M2I0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmgKQEAgLTczLDEwICs3Myw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZW5xdWV1ZUV2ZW50KFBh
c3NSZWZQdHI8RXZlbnQ+KTsKIAotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
d2Via2l0a2V5YWRkZWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Vi
a2l0a2V5ZXJyb3IpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0
a2V5bWVzc2FnZSk7Ci0KICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFy
Z2V0SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gTWVkaWFLZXlTZXNzaW9uRXZl
bnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQWN0
aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmgKaW5kZXggMDNlNWVlYTM4M2Mz
YWUxY2NiMTAzNDE3OTVmZTVlYTViMDgxMTQ2ZS4uMWNiMTFiNWIwMGUxMTFkOGNiYzQyZTYzZjRk
ZjgyMmZhOTU2NzZmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJEYXRhYmFzZS5oCkBAIC03MSwxMCArNzEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZWxldGVP
YmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lk
IGNsb3NlKCk7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFib3J0KTsK
LSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVycm9yKTsKLSAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHZlcnNpb25jaGFuZ2UpOwotCiAgICAgLy8gSURCRGF0
YWJhc2VDYWxsYmFja3MKICAgICB2aXJ0dWFsIHZvaWQgb25WZXJzaW9uQ2hhbmdlKHVpbnQ2NF90
IG9sZFZlcnNpb24sIHVpbnQ2NF90IG5ld1ZlcnNpb24sIEluZGV4ZWREQjo6VmVyc2lvbk51bGxu
ZXNzIG5ld1ZlcnNpb25OdWxsbmVzcyk7CiAgICAgdmlydHVhbCB2b2lkIG9uQWJvcnQoaW50NjRf
dCwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmgKaW5kZXggODZiMWEwZmJiYWRl
Mzk3YWYyYzU3OGRkNmMwMmVjMzIyODFiZGI3Mi4uMzMzOWZhMzU4OGQyYTU3ZmQxNDg1YTMxOThi
MGJiOWYyNTdlZDY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCT3BlbkRCUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQk9wZW5EQlJlcXVlc3QuaApAQCAtNTAsOSArNTAsNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRjaEV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+KSBvdmVycmlk
ZTsKIAotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmxvY2tlZCk7Ci0gICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih1cGdyYWRlbmVlZGVkKTsKLQogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRFbnF1ZXVlRXZlbnQoKSBjb25zdCBvdmVycmlk
ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVx
dWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCmlu
ZGV4IDM0MjVjN2I0YTNhOGQ0ZmU3OTlmZGMwYzdhZTYwNzIxZTE5YzY0OGMuLjUxMmIwNGRmNTZm
YjRjM2I1MGZlNDY4NzUxZjg0ZWJkYzRiMjcyOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgKQEAgLTczLDkgKzczLDYgQEAgcHVibGljOgogCiAg
ICAgY29uc3QgU3RyaW5nJiByZWFkeVN0YXRlKCkgY29uc3Q7CiAKLSAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHN1Y2Nlc3MpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoZXJyb3IpOwotCiAgICAgdm9pZCBtYXJrRWFybHlEZWF0aCgpOwogICAgIHZvaWQg
c2V0Q3Vyc29yRGV0YWlscyhJbmRleGVkREI6OkN1cnNvclR5cGUsIEluZGV4ZWREQjo6Q3Vyc29y
RGlyZWN0aW9uKTsKICAgICB2b2lkIHNldFBlbmRpbmdDdXJzb3IoUGFzc1JlZlB0cjxJREJDdXJz
b3I+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbi5oCmluZGV4IDVlOWUwNDJhMWZhZWY0ZWYzODI5YmViYzI2OWEyNjY4ZWRhNGJkYzIuLmZj
Y2VjODY1MDIxNTlhMmNkNWI3N2FhOTkxMTAxYjA2YzM4MDBkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaApAQCAtOTYsMTAgKzk2
LDYgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWN0aXZlKGJvb2wpOwogICAgIHZvaWQgc2V0RXJy
b3IoUGFzc1JlZlB0cjxET01FcnJvcj4sIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKTsKIAot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWJvcnQpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29tcGxldGUpOwotICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoZXJyb3IpOwotCiAgICAgdm9pZCBvbkFib3J0KFBhc3NSZWZQdHI8SURC
RGF0YWJhc2VFcnJvcj4pOwogICAgIHZvaWQgb25Db21wbGV0ZSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKaW5kZXggYWFmNmZlNGI4
ZDYzZWFiMDY4ZDEyYzVhZjhkZjczYzc1ZjFkZjI4My4uZTdmZDUwMmI3YmU1NzEzNmQyZmU3MWU2
YjU3ZWUyYjBlMjQ3YzY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0uaApAQCAtNzEsMTUgKzcxLDkgQEAgcHVibGljOgogCiAgICAgUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbT4gY2xvbmUoKTsKIAotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoYWRkdHJhY2spOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIocmVtb3ZldHJhY2spOwotCiAgICAgYm9vbCBhY3RpdmUoKSBjb25zdDsKICAgICB2b2lkIHNl
dEFjdGl2ZShib29sKTsKIAotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWN0
aXZlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGluYWN0aXZlKTsKLQog
ICAgIE1lZGlhU3RyZWFtUHJpdmF0ZSogcHJpdmF0ZVN0cmVhbSgpIGNvbnN0IHsgcmV0dXJuIG1f
cHJpdmF0ZS5nZXQoKTsgfQogCiAgICAgLy8gRXZlbnRUYXJnZXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKaW5kZXggNjRi
MzkzNDVmYTA4ZWY0YWIwOWVhMWI1ZjkzMTgxYjYxYjk4YzlkYy4uNzA4ZjBhZjdkYzUyZThlOGQw
OWNlZDYyZjA2OGYxYmY1MDkyZThlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTg0LDEyICs4NCw2IEBAIHB1
YmxpYzoKICAgICBSZWZQdHI8TWVkaWFTdHJlYW1UcmFjaz4gY2xvbmUoKTsKICAgICB2b2lkIHN0
b3BQcm9kdWNpbmdEYXRhKCk7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KG11dGUpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodW5tdXRlKTsKLSAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHN0YXJ0ZWQpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZW5kZWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIob3ZlcmNvbnN0cmFpbmVkKTsKLQogICAgIFJlYWx0aW1lTWVkaWFTb3VyY2Uq
IHNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpdmF0ZVRyYWNrLT5zb3VyY2UoKTsgfQogICAg
IE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiBwcml2YXRlVHJhY2soKSB7IHJldHVybiBtX3ByaXZh
dGVUcmFjay5nZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDRFRNRlNlbmRlci5oCmluZGV4IGQyZGYxZTUzZjNjNDYwMWZlYjA0M2FjMzk1MGFi
NTY3NTJjZmEwYjcuLjQyOGE2ZDliMjA5MWE1Njc2NTIzYTc1ZTViNmE2ZTI0NGVmYTVkNjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNlbmRl
ci5oCkBAIC01Niw4ICs1Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGluc2VydERUTUYoY29uc3Qg
U3RyaW5nJiB0b25lcywgbG9uZyBkdXJhdGlvbiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQg
aW5zZXJ0RFRNRihjb25zdCBTdHJpbmcmIHRvbmVzLCBsb25nIGR1cmF0aW9uLCBsb25nIGludGVy
VG9uZUdhcCwgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUih0b25lY2hhbmdlKTsKLQogICAgIC8vIEV2ZW50VGFyZ2V0CiAgICAgdmlydHVhbCBF
dmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIFJUQ0RUTUZTZW5kZXJFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KICAgICB2
aXJ0dWFsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENEYXRhQ2hhbm5lbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENEYXRhQ2hhbm5lbC5oCmluZGV4IDU2ZTIwMWZhMDgxNTQ0MGI2YmZjNDIwNDBlOGIyYWFkNWYx
ZjdkMGMuLjUzNzJlNzhjMWE4MjBlOThiOTY4YzZmN2M0OWE0NWU2NTEzYTdmN2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmgK
QEAgLTcxLDExICs3MSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xvc2UoKTsKIAotICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIob3Blbik7Ci0gICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihlcnJvcik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihjbG9zZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtZXNzYWdl
KTsKLQogICAgIHZvaWQgc3RvcCgpOwogCiAgICAgLy8gRXZlbnRUYXJnZXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaApp
bmRleCBkZWVmNjAxMTk2ZWEyMGJjZWQ1ZGFlZGRlYzkzODU5MjlkYTc0NmRlLi5kM2QzMzlmOTcw
YzJlYzcyN2NlZDE5NmQxZWRlZDg4YzAyYmQxNDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5oCkBAIC0xMDMsMTQg
KzEwMyw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xvc2UoRXhjZXB0aW9uQ29kZSYpOwogCi0g
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihuZWdvdGlhdGlvbm5lZWRlZCk7Ci0g
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihpY2VjYW5kaWRhdGUpOwotICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoc2lnbmFsaW5nc3RhdGVjaGFuZ2UpOwotICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWRkc3RyZWFtKTsKLSAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlbW92ZXN0cmVhbSk7Ci0gICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihpY2Vjb25uZWN0aW9uc3RhdGVjaGFuZ2UpOwotICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZGF0YWNoYW5uZWwpOwotCiAgICAgLy8gUlRDUGVl
ckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50CiAgICAgdmlydHVhbCB2b2lkIG5lZ290aWF0aW9uTmVl
ZGVkKCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRpZEdlbmVyYXRlSWNlQ2FuZGlkYXRl
KFBhc3NSZWZQdHI8UlRDSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcj4pIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCmlu
ZGV4IDM4OTRiZTI2ZjczNTFmMmVlNDVjMGY0NTk4YjM3ZGZjN2ZiOTRlYWUuLmNkMjZkMDVkYWQ2
NDM5NDVjYmE2YTNlMjI5YmFmNjg4MTQzZjQ1MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKQEAgLTEwMiwxNSArMTAyLDYg
QEAgcHVibGljOgogCiAgICAgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24oKSBjb25zdCB7IHJldHVy
biBkaXIoKSA9PSAicnRsIiA/IFJUTCA6IExUUjsgfQogCi0jaWYgRU5BQkxFKExFR0FDWV9OT1RJ
RklDQVRJT05TKQotICAgIEV2ZW50TGlzdGVuZXIqIG9uZGlzcGxheSgpIHsgcmV0dXJuIGdldEF0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnNob3dFdmVudCk7IH0KLSAgICB2b2lk
IHNldE9uZGlzcGxheShQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyKSB7IHNldEF0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLnNob3dFdmVudCwgbGlzdGVuZXIpOyB9
Ci0jZW5kaWYKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHNob3cpOwotICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwotICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoY2xvc2UpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoY2xpY2spOwotICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZGlzcGF0Y2hD
bGlja0V2ZW50KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkaXNwYXRjaENsb3NlRXZlbnQo
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpc3BhdGNoRXJyb3JFdmVudCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJh
bmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRl
cmFuY2UuaAppbmRleCA2OWQ0ZmI1MmQxYjAwZDdiOWYwY2NjMTNkNGU2YWI2YTU3MTU4ZWY3Li4x
Y2Q4ZTVhNTJiYzhhNTY1NDNmOTkyNzk0NTk3OGFlZTRjYjBhMDIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2Uu
aApAQCAtNjQsMTQgKzY0LDYgQEAgcHVibGljOgogICAgIGRvdWJsZSBzdGFydFRpbWUoKSBjb25z
dCB7IHJldHVybiBtX3BsYXRmb3JtVXR0ZXJhbmNlLT5zdGFydFRpbWUoKTsgfQogICAgIHZvaWQg
c2V0U3RhcnRUaW1lKGRvdWJsZSBzdGFydFRpbWUpIHsgbV9wbGF0Zm9ybVV0dGVyYW5jZS0+c2V0
U3RhcnRUaW1lKHN0YXJ0VGltZSk7IH0KICAgICAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKHN0YXJ0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVu
ZCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlcnJvcik7Ci0gICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihwYXVzZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihyZXN1bWUpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIobWFyayk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihib3VuZGFy
eSk7Ci0KICAgICB1c2luZyBSZWZDb3VudGVkPFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZT46OnJl
ZjsKICAgICB1c2luZyBSZWZDb3VudGVkPFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZT46OmRlcmVm
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29u
dGV4dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaApp
bmRleCBkZDk5NjhjYjQ5Mjg0NDNkYjc4MDljYjlmY2M1YmVjNWEwOWUyNjJjLi5hZTg3NzJiYTBi
NTNkNzk3NzhiYjJlZjM1OThjYjAwMGFkMThiNDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKQEAgLTIyNyw4ICsyMjcsNiBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgp
IGNvbnN0IG92ZXJyaWRlIGZpbmFsIHsgcmV0dXJuIEF1ZGlvQ29udGV4dEV2ZW50VGFyZ2V0SW50
ZXJmYWNlVHlwZTsgfQogICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsOwogCi0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihjb21wbGV0ZSk7Ci0KICAgICAvLyBSZWNvbmNpbGUgcmVm
L2RlcmVmIHdoaWNoIGFyZSBkZWZpbmVkIGJvdGggaW4gVGhyZWFkU2FmZVJlZkNvdW50ZWQgYW5k
IEV2ZW50VGFyZ2V0LgogICAgIHVzaW5nIFRocmVhZFNhZmVSZWZDb3VudGVkPEF1ZGlvQ29udGV4
dD46OnJlZjsKICAgICB1c2luZyBUaHJlYWRTYWZlUmVmQ291bnRlZDxBdWRpb0NvbnRleHQ+Ojpk
ZXJlZjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9T
Y2hlZHVsZWRTb3VyY2VOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmNwcAppbmRleCA0YzEyMDcxMjlhMjAyM2Q1ZjI5M2Ux
NjEwMDE1M2FjNmFlNzgxZDQyLi5mZTZhMzRkMWE0N2FjNTc5ODNkMDEyYmZlMzgzZDBlZTU4YTkx
ZTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2No
ZWR1bGVkU291cmNlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwCkBAIC0xOTYsMTEgKzE5Niw2IEBAIHZvaWQg
QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpub3RlT2ZmKGRvdWJsZSB3aGVuLCBFeGNlcHRpb25D
b2RlJiBlYykKIH0KICNlbmRpZgogCi12b2lkIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6c2V0
T25lbmRlZChQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyKQotewotICAgIHNldEF0
dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmVuZGVkRXZlbnQsIGxpc3RlbmVyKTsK
LX0KLQogdm9pZCBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OmZpbmlzaCgpCiB7CiAgICAgaWYg
KG1fcGxheWJhY2tTdGF0ZSAhPSBGSU5JU0hFRF9TVEFURSkgewpAQCAtMjEwLDI0ICsyMDUsMTEg
QEAgdm9pZCBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OmZpbmlzaCgpCiAgICAgICAgIGNvbnRl
eHQoKS0+ZGVjcmVtZW50QWN0aXZlU291cmNlQ291bnQoKTsKICAgICB9CiAKLSAgICBpZiAobV9o
YXNFbmRlZExpc3RlbmVyKQotICAgICAgICBjYWxsT25NYWluVGhyZWFkKCZBdWRpb1NjaGVkdWxl
ZFNvdXJjZU5vZGU6Om5vdGlmeUVuZGVkRGlzcGF0Y2gsIHRoaXMpOwotfQotCi12b2lkIEF1ZGlv
U2NoZWR1bGVkU291cmNlTm9kZTo6bm90aWZ5RW5kZWREaXNwYXRjaCh2b2lkKiB1c2VyRGF0YSkK
LXsKLSAgICBzdGF0aWNfY2FzdDxBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUqPih1c2VyRGF0YSkt
Pm5vdGlmeUVuZGVkKCk7Ci19Ci0KLXZvaWQgQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpub3Rp
ZnlFbmRlZCgpCi17Ci0gICAgRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIgPSBvbmVuZGVkKCk7Ci0g
ICAgaWYgKCFsaXN0ZW5lcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgUmVmUHRyPEV2ZW50PiBl
dmVudCA9IEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVuZGVkRXZlbnQsIEZBTFNFLCBGQUxT
RSk7Ci0gICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKLSAgICBsaXN0ZW5lci0+aGFuZGxlRXZl
bnQoY29udGV4dCgpLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIGV2ZW50LmdldCgpKTsKKyAg
ICBpZiAobV9oYXNFbmRlZExpc3RlbmVyKSB7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3Ro
aXNdIHsKKyAgICAgICAgICAgIGRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkuZW5kZWRFdmVudCwgZmFsc2UsIGZhbHNlKSk7CisgICAgICAgIH0pOworICAgIH0KIH0KIAog
Ym9vbCBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRv
bWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIs
IGJvb2wgdXNlQ2FwdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oCmluZGV4IDkxNGU0ODkxOWNiNzhl
NTIyMDJiODk3YThhOTg0NTg3ZjM0MDc1Y2IuLjY4MGFmNDY3ODBjN2JmNzFiZDM2YjEzMzk2YmYx
ZmIzYzcwZDZmYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuaApAQCAtNzIsOSArNzIsNiBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc1BsYXlpbmdPclNjaGVkdWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcGxh
eWJhY2tTdGF0ZSA9PSBQTEFZSU5HX1NUQVRFIHx8IG1fcGxheWJhY2tTdGF0ZSA9PSBTQ0hFRFVM
RURfU1RBVEU7IH0KICAgICBib29sIGhhc0ZpbmlzaGVkKCkgY29uc3QgeyByZXR1cm4gbV9wbGF5
YmFja1N0YXRlID09IEZJTklTSEVEX1NUQVRFOyB9CiAKLSAgICBFdmVudExpc3RlbmVyKiBvbmVu
ZGVkKCkgeyByZXR1cm4gZ2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuZW5k
ZWRFdmVudCk7IH0KLSAgICB2b2lkIHNldE9uZW5kZWQoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVy
PiBsaXN0ZW5lcik7Ci0KIHByb3RlY3RlZDoKICAgICAvLyBHZXQgZnJhbWUgaW5mb3JtYXRpb24g
Zm9yIHRoZSBjdXJyZW50IHRpbWUgcXVhbnR1bS4KICAgICAvLyBXZSBoYW5kbGUgdGhlIHRyYW5z
aXRpb24gaW50byBQTEFZSU5HX1NUQVRFIGFuZCBGSU5JU0hFRF9TVEFURSBoZXJlLApAQCAtOTEs
OSArODgsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gQ2FsbGVkIHdoZW4gd2UgaGF2ZSBubyBtb3Jl
IHNvdW5kIHRvIHBsYXkgb3IgdGhlIG5vdGVPZmYoKSB0aW1lIGhhcyBiZWVuIHJlYWNoZWQuCiAg
ICAgdmlydHVhbCB2b2lkIGZpbmlzaCgpOwogCi0gICAgc3RhdGljIHZvaWQgbm90aWZ5RW5kZWRE
aXNwYXRjaCh2b2lkKik7Ci0gICAgdm9pZCBub3RpZnlFbmRlZCgpOwotCiAgICAgUGxheWJhY2tT
dGF0ZSBtX3BsYXliYWNrU3RhdGU7CiAKICAgICAvLyBtX3N0YXJ0VGltZSBpcyB0aGUgdGltZSB0
byBzdGFydCBwbGF5aW5nIGJhc2VkIG9uIHRoZSBjb250ZXh0J3MgdGltZWxpbmUgKDAgb3IgYSB0
aW1lIGxlc3MgdGhhbiB0aGUgY29udGV4dCdzIGN1cnJlbnQgdGltZSBtZWFucyAibm93IikuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nv
ck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNz
b3JOb2RlLmNwcAppbmRleCBmYjM0Njk3NTMwYTg5YjEzNzViYTk5OTAwYzQ5NjJjODhiMDRmMmVm
Li45MGE2ZDE3YmRiZTdkZjM5M2QxYTQyOGJhYWNlOGE0NDZhMGNhYjc3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5j
cHAKQEAgLTIxNywxMSArMjE3LDYgQEAgdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpwcm9jZXNz
KHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpCiAgICAgfQogfQogCi12b2lkIFNjcmlwdFByb2Nlc3Nv
ck5vZGU6OnNldE9uYXVkaW9wcm9jZXNzKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVu
ZXIpCi17Ci0gICAgc2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXVkaW9w
cm9jZXNzRXZlbnQsIGxpc3RlbmVyKTsKLX0KLQogdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpm
aXJlUHJvY2Vzc0V2ZW50RGlzcGF0Y2godm9pZCogdXNlckRhdGEpCiB7CiAgICAgU2NyaXB0UHJv
Y2Vzc29yTm9kZSoganNBdWRpb05vZGUgPSBzdGF0aWNfY2FzdDxTY3JpcHRQcm9jZXNzb3JOb2Rl
Kj4odXNlckRhdGEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9TY3JpcHRQcm9jZXNzb3JOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L1NjcmlwdFByb2Nlc3Nvck5vZGUuaAppbmRleCAzZjAyYmZiNTVmM2NiYmUzN2MzMjBjYzM0NzM0
YzkzYjFmMjQ2MzYzLi4yYmFiZjM1YTM3YTIwYmE2YTI1M2FlZmE2ODEwN2JmZWNkNjFiMTY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nv
ck5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nl
c3Nvck5vZGUuaApAQCAtNjUsOSArNjUsNiBAQCBwdWJsaWM6CiAKICAgICBzaXplX3QgYnVmZmVy
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyU2l6ZTsgfQogCi0gICAgRXZlbnRMaXN0ZW5l
ciogb25hdWRpb3Byb2Nlc3MoKSB7IHJldHVybiBnZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2
ZW50TmFtZXMoKS5hdWRpb3Byb2Nlc3NFdmVudCk7IH0KLSAgICB2b2lkIHNldE9uYXVkaW9wcm9j
ZXNzKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4pOwotICAgIAogcHJpdmF0ZToKICAgICB2aXJ0
dWFsIGRvdWJsZSB0YWlsVGltZSgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgZG91Ymxl
IGxhdGVuY3lUaW1lKCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnNvY2tldHMvV2ViU29ja2V0LmgKaW5kZXggODZiZTJiYjQxNzc3NjE3ZmU2ZjFlZGZlMGYx
OGEwNzhkMDNmMmMyNS4uZDNjM2JhYTVkNWFkZDcwYzAzMjQ2Y2Q2YTE1Y2Q4MTZlNTY5YmNiNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaApAQCAt
ODksMTEgKzg5LDYgQEAgcHVibGljOgogICAgIFN0cmluZyBiaW5hcnlUeXBlKCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRCaW5hcnlUeXBlKGNvbnN0IFN0cmluZyYpOwogCi0gICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihvcGVuKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKG1lc3NhZ2UpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJy
b3IpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY2xvc2UpOwotCiAgICAg
Ly8gRXZlbnRUYXJnZXQgZnVuY3Rpb25zLgogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRJbnRlcmZh
Y2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBvdmVy
cmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udExvYWRlci5oCmluZGV4IDYyNGQxNjFiN2ZlMGMzNmU5MDFlNjEz
OGE1YmM1YWYzN2QzMTUyMjUuLjQxNzFkNmM2ZjRkYzIxNWQ1MGRhMmRkYjY2YTRlMjNiMDkzYzhm
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0ZvbnRMb2FkZXIuaApAQCAtNTcsMTIgKzU3LDYgQEAgcHVibGljOgog
ICAgIH0KICAgICB2aXJ0dWFsIH5Gb250TG9hZGVyKCk7CiAKLSAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGxvYWRpbmcpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIobG9hZGluZ2RvbmUpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
bG9hZHN0YXJ0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWQpOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwotCiAgICAgYm9vbCBj
aGVja0ZvbnQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBsb2FkRm9u
dChjb25zdCBEaWN0aW9uYXJ5Jik7CiAgICAgdm9pZCBsb2FkRm9udERvbmUoY29uc3QgTG9hZEZv
bnRDYWxsYmFjayYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAzZjExMzE5NDlkMjVmZWVmNjhh
NWVkNjA2MjVlMTBhMWM1NTZkZmY2Li41OTI2MzQ0NzgxNzYyZWU3YjBiYjQ4OTY5YzZhZDZiNWIx
MzY4YmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMzI0LDgyICszMjQsNiBAQCBwdWJsaWM6
CiAKICAgICAvLyBET00gbWV0aG9kcyAmIGF0dHJpYnV0ZXMgZm9yIERvY3VtZW50CiAKLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFib3J0KTsKLSAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKGNoYW5nZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihjbGljayk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb250
ZXh0bWVudSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkYmxjbGljayk7
Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkcmFnZW50ZXIpOwotICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZ292ZXIpOwotICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZ2xlYXZlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGRyb3ApOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
ZHJhZ3N0YXJ0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRyYWcpOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZ2VuZCk7Ci0gICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihpbnB1dCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihpbnZhbGlkKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGtleWRvd24pOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoa2V5cHJl
c3MpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoa2V5dXApOwotICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2Vkb3duKTsKLSAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNlZW50ZXIpOwotICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIobW91c2VsZWF2ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihtb3VzZW1vdmUpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
bW91c2VvdXQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2VvdmVy
KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNldXApOwotICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2V3aGVlbCk7Ci0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihzY3JvbGwpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoc2VsZWN0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHN1Ym1pdCk7Ci0jaWYgRU5BQkxFKFdJTExfUkVWRUFMX0VER0VfRVZFTlRTKQotICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0d2lsbHJldmVhbGJvdHRvbSk7Ci0gICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR3aWxscmV2ZWFsbGVmdCk7Ci0g
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR3aWxscmV2ZWFscmlnaHQp
OwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0d2lsbHJldmVhbHRv
cCk7Ci0jZW5kaWYKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdoZWVsKTsK
LQotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmx1cik7Ci0gICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlcnJvcik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihmb2N1cyk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uihsb2FkKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlYWR5c3RhdGVj
aGFuZ2UpOwotCi0gICAgLy8gV2ViS2l0IGV4dGVuc2lvbnMKLSAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGJlZm9yZWN1dCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihjdXQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmVmb3Jl
Y29weSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjb3B5KTsKLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9yZXBhc3RlKTsKLSAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBhc3RlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHJlc2V0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHNlYXJjaCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzZWxlY3RzdGFy
dCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzZWxlY3Rpb25jaGFuZ2Up
OwotI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUih0b3VjaHN0YXJ0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHRvdWNobW92ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGVu
ZCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaGNhbmNlbCk7Ci0j
ZW5kaWYKLSNpZiBFTkFCTEUoSU9TX0dFU1RVUkVfRVZFTlRTKQotICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoZ2VzdHVyZXN0YXJ0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGdlc3R1cmVjaGFuZ2UpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoZ2VzdHVyZWVuZCk7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkp
Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRmdWxsc2NyZWVuY2hh
bmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxzY3Jl
ZW5lcnJvcik7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoUE9JTlRFUl9MT0NLKQotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIocG9pbnRlcmxvY2tjaGFuZ2UpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIocG9pbnRlcmxvY2tlcnJvcik7Ci0jZW5kaWYKLSNpZiBF
TkFCTEUoQ1NQX05FWFQpCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzZWN1
cml0eXBvbGljeXZpb2xhdGlvbik7Ci0jZW5kaWYKLQogICAgIHZvaWQgc2V0Vmlld3BvcnRBcmd1
bWVudHMoY29uc3QgVmlld3BvcnRBcmd1bWVudHMmIHZpZXdwb3J0QXJndW1lbnRzKSB7IG1fdmll
d3BvcnRBcmd1bWVudHMgPSB2aWV3cG9ydEFyZ3VtZW50czsgfQogICAgIFZpZXdwb3J0QXJndW1l
bnRzIHZpZXdwb3J0QXJndW1lbnRzKCkgY29uc3QgeyByZXR1cm4gbV92aWV3cG9ydEFyZ3VtZW50
czsgfQogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA3ZGZlY2JkNWU1
ZWE2MmM0MDdiYjVkOGQxN2EyNTMxNmZhMWIzNWFmLi4wYzgyN2M4YjNlMmUyMGIwYjBiMDRmNjFi
YjYwOTM4MTVlNDBhZjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0yOTcsMTEgKzI5Nyw2
IEBAIHZvaWQgRWxlbWVudDo6ZGlzcGF0Y2hTaW11bGF0ZWRDbGljayhFdmVudCogdW5kZXJseWlu
Z0V2ZW50LCBTaW11bGF0ZWRDbGlja01vdXNlCiAgICAgRXZlbnREaXNwYXRjaGVyOjpkaXNwYXRj
aFNpbXVsYXRlZENsaWNrKHRoaXMsIHVuZGVybHlpbmdFdmVudCwgZXZlbnRPcHRpb25zLCB2aXN1
YWxPcHRpb25zKTsKIH0KIAotREVGSU5FX1ZJUlRVQUxfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KEVsZW1lbnQsIGJsdXIpOwotREVGSU5FX1ZJUlRVQUxfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KEVsZW1lbnQsIGVycm9yKTsKLURFRklORV9WSVJUVUFMX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihFbGVtZW50LCBmb2N1cyk7Ci1ERUZJTkVfVklSVFVBTF9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoRWxlbWVudCwgbG9hZCk7Ci0KIFJlZlB0cjxOb2RlPiBFbGVtZW50OjpjbG9uZU5vZGVJbnRl
cm5hbChEb2N1bWVudCYgdGFyZ2V0RG9jdW1lbnQsIENsb25pbmdPcGVyYXRpb24gdHlwZSkKIHsK
ICAgICBzd2l0Y2ggKHR5cGUpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGY5MTE1YmZkNDAxMjA0
NzhlMDMwNjJiYTEwYzA5YjY5MWMzN2I5NmMuLjE3Y2FlMzg3NWI1OTM1Y2Y2NjU3MjkxMGUzNTRk
MThhMTk5N2NjM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNjIsNzUgKzYyLDYgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwogICAgIHZpcnR1YWwgfkVsZW1lbnQoKTsKIAotICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoYWJvcnQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoY2hhbmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNsaWNr
KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvbnRleHRtZW51KTsKLSAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRibGNsaWNrKTsKLSAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRyYWdlbnRlcik7Ci0gICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihkcmFnb3Zlcik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihkcmFnbGVhdmUpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
ZHJvcCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkcmFnc3RhcnQpOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZyk7Ci0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihkcmFnZW5kKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGlucHV0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGludmFsaWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoa2V5ZG93bik7
Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihrZXlwcmVzcyk7Ci0gICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihrZXl1cCk7Ci0gICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihtb3VzZWRvd24pOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIobW91c2VlbnRlcik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uihtb3VzZWxlYXZlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNl
bW92ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtb3VzZW91dCk7Ci0g
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtb3VzZW92ZXIpOwotICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2V1cCk7Ci0gICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihtb3VzZXdoZWVsKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKHNjcm9sbCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihz
ZWxlY3QpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoc3VibWl0KTsKLSNp
ZiBFTkFCTEUoV0lMTF9SRVZFQUxfRURHRV9FVkVOVFMpCi0gICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUih3ZWJraXR3aWxscmV2ZWFsYm90dG9tKTsKLSAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHdpbGxyZXZlYWxsZWZ0KTsKLSAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHdpbGxyZXZlYWxyaWdodCk7Ci0gICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR3aWxscmV2ZWFsdG9wKTsKLSNlbmRpZgot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2hlZWwpOwotCi0gICAgLy8gVGhl
c2UgZm91ciBhdHRyaWJ1dGUgZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGVzIGFyZSBvdmVycmlkZGVu
IGJ5IEhUTUxCb2R5RWxlbWVudAotICAgIC8vIGFuZCBIVE1MRnJhbWVTZXRFbGVtZW50IHRvIGZv
cndhcmQgdG8gdGhlIERPTVdpbmRvdy4KLSAgICBERUNMQVJFX1ZJUlRVQUxfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGJsdXIpOwotICAgIERFQ0xBUkVfVklSVFVBTF9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoZXJyb3IpOwotICAgIERFQ0xBUkVfVklSVFVBTF9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoZm9jdXMpOwotICAgIERFQ0xBUkVfVklSVFVBTF9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIobG9hZCk7Ci0KLSAgICAvLyBXZWJLaXQgZXh0ZW5zaW9ucwotICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoYmVmb3JlY3V0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGN1dCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihiZWZv
cmVjb3B5KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvcHkpOwotICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmVmb3JlcGFzdGUpOwotICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocGFzdGUpOwotICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIocmVzZXQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoc2VhcmNoKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHNlbGVjdHN0
YXJ0KTsKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIodG91Y2hzdGFydCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUih0b3VjaG1vdmUpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91
Y2hlbmQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hjYW5jZWwp
OwotI2VuZGlmCi0jaWYgRU5BQkxFKElPU19HRVNUVVJFX0VWRU5UUykKLSAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKGdlc3R1cmVzdGFydCk7Ci0gICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihnZXN0dXJlY2hhbmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGdlc3R1cmVlbmQpOwotI2VuZGlmCi0jaWYgRU5BQkxFKEZVTExTQ1JFRU5f
QVBJKQotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZnVsbHNjcmVl
bmNoYW5nZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRmdWxs
c2NyZWVuZXJyb3IpOwotI2VuZGlmCi0KICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGhhc0F0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgY29u
c3QgQXRvbWljU3RyaW5nJiBnZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgK
aW5kZXggNTU0MmFhOTE0MGNkMGU4YjA5OWRjODdlZGE0NzJjNjM1NDkzM2ZmYy4uZjY0ODBkYTcy
ZmRjNzgxMjE0MjI5ZWZjMTIwMWRhOTMyNzJlYzMwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
LmgKQEAgLTE2NywzNiArMTY3LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBFdmVu
dFRhcmdldERhdGEgbV9ldmVudFRhcmdldERhdGE7CiAgICAgfTsKIAotICAgIC8vIEZJWE1FOiBU
aGVzZSBtYWNyb3Mgc2hvdWxkIGJlIHNwbGl0IGludG8gc2VwYXJhdGUgREVGSU5FIGFuZCBERUNM
QVJFCi0gICAgLy8gbWFjcm9zIHRvIGF2b2lkIGNhdXNpbmcgc28gbWFueSBoZWFkZXIgaW5jbHVk
ZXMuCi0gICAgI2RlZmluZSBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGF0dHJpYnV0
ZSkgXAotICAgICAgICBFdmVudExpc3RlbmVyKiBvbiMjYXR0cmlidXRlKCkgeyByZXR1cm4gZ2V0
QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXR0cmlidXRlIyNFdmVudCk7IH0g
XAotICAgICAgICB2b2lkIHNldE9uIyNhdHRyaWJ1dGUoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVy
PiBsaXN0ZW5lcikgeyBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5hdHRy
aWJ1dGUjI0V2ZW50LCBsaXN0ZW5lcik7IH0gXAotCi0gICAgI2RlZmluZSBERUNMQVJFX1ZJUlRV
QUxfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGF0dHJpYnV0ZSkgXAotICAgICAgICB2aXJ0dWFs
IEV2ZW50TGlzdGVuZXIqIG9uIyNhdHRyaWJ1dGUoKTsgXAotICAgICAgICB2aXJ0dWFsIHZvaWQg
c2V0T24jI2F0dHJpYnV0ZShQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyKTsgXAot
Ci0gICAgI2RlZmluZSBERUZJTkVfVklSVFVBTF9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHlw
ZSwgYXR0cmlidXRlKSBcCi0gICAgICAgIEV2ZW50TGlzdGVuZXIqIHR5cGU6Om9uIyNhdHRyaWJ1
dGUoKSB7IHJldHVybiBnZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5hdHRy
aWJ1dGUjI0V2ZW50KTsgfSBcCi0gICAgICAgIHZvaWQgdHlwZTo6c2V0T24jI2F0dHJpYnV0ZShQ
YXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyKSB7IHNldEF0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIoZXZlbnROYW1lcygpLmF0dHJpYnV0ZSMjRXZlbnQsIGxpc3RlbmVyKTsgfSBcCi0KLSAg
ICAjZGVmaW5lIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGF0dHJpYnV0
ZSkgXAotICAgICAgICBFdmVudExpc3RlbmVyKiBvbiMjYXR0cmlidXRlKCkgeyByZXR1cm4gZG9j
dW1lbnQoKS5nZXRXaW5kb3dBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5hdHRy
aWJ1dGUjI0V2ZW50KTsgfSBcCi0gICAgICAgIHZvaWQgc2V0T24jI2F0dHJpYnV0ZShQYXNzUmVm
UHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyKSB7IGRvY3VtZW50KCkuc2V0V2luZG93QXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXR0cmlidXRlIyNFdmVudCwgbGlzdGVuZXIp
OyB9IFwKLQotICAgICNkZWZpbmUgREVGSU5FX01BUFBFRF9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoYXR0cmlidXRlLCBldmVudE5hbWUpIFwKLSAgICAgICAgRXZlbnRMaXN0ZW5lciogb24jI2F0
dHJpYnV0ZSgpIHsgcmV0dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygp
LmV2ZW50TmFtZSMjRXZlbnQpOyB9IFwKLSAgICAgICAgdm9pZCBzZXRPbiMjYXR0cmlidXRlKFBh
c3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpIHsgc2V0QXR0cmlidXRlRXZlbnRMaXN0
ZW5lcihldmVudE5hbWVzKCkuZXZlbnROYW1lIyNFdmVudCwgbGlzdGVuZXIpOyB9IFwKLQotICAg
ICNkZWZpbmUgREVDTEFSRV9GT1JXQVJESU5HX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZWNp
cGllbnQsIGF0dHJpYnV0ZSkgXAotICAgICAgICBFdmVudExpc3RlbmVyKiBvbiMjYXR0cmlidXRl
KCk7IFwKLSAgICAgICAgdm9pZCBzZXRPbiMjYXR0cmlidXRlKFBhc3NSZWZQdHI8RXZlbnRMaXN0
ZW5lcj4gbGlzdGVuZXIpOwotCi0gICAgI2RlZmluZSBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIodHlwZSwgcmVjaXBpZW50LCBhdHRyaWJ1dGUpIFwKLSAgICAgICAg
RXZlbnRMaXN0ZW5lciogdHlwZTo6b24jI2F0dHJpYnV0ZSgpIHsgcmV0dXJuIHJlY2lwaWVudCA/
IHJlY2lwaWVudC0+Z2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXR0cmli
dXRlIyNFdmVudCkgOiAwOyB9IFwKLSAgICAgICAgdm9pZCB0eXBlOjpzZXRPbiMjYXR0cmlidXRl
KFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpIHsgaWYgKHJlY2lwaWVudCkgcmVj
aXBpZW50LT5zZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5hdHRyaWJ1dGUj
I0V2ZW50LCBsaXN0ZW5lcik7IH0KLQogICAgIGlubGluZSB2b2lkIEV2ZW50VGFyZ2V0Ojp2aXNp
dEpTRXZlbnRMaXN0ZW5lcnMoSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB7CiAgICAg
ICAgIEV2ZW50TGlzdGVuZXJJdGVyYXRvciBpdGVyYXRvcih0aGlzKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lc3Nh
Z2VQb3J0LmgKaW5kZXggYmM3YTQ1NzgxMzRiMTI2ODA1N2NkOWM1ZDA0MjU2NDA3NGZhZGY0OC4u
OTc0NDVkNWI0ZGE2MTAxNmFlZDBjOWFmYzVmMzdmMDFlMTA1YzUwNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01l
c3NhZ2VQb3J0LmgKQEAgLTgyLDEyICs4Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAg
ICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpOwogCi0gICAgICAgIHZvaWQgc2V0T25tZXNz
YWdlKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLm1lc3NhZ2VFdmVu
dCwgbGlzdGVuZXIpOwotICAgICAgICB9Ci0gICAgICAgIEV2ZW50TGlzdGVuZXIqIG9ubWVzc2Fn
ZSgpIHsgcmV0dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLm1lc3Nh
Z2VFdmVudCk7IH0KLQogICAgICAgICAvLyBSZXR1cm5zIG51bGwgaWYgdGhlcmUgaXMgbm8gZW50
YW5nbGVkIHBvcnQsIG9yIGlmIHRoZSBlbnRhbmdsZWQgcG9ydCBpcyBydW4gYnkgYSBkaWZmZXJl
bnQgdGhyZWFkLgogICAgICAgICAvLyBUaGlzIGlzIHVzZWQgc29sZWx5IHRvIGVuYWJsZSBhIEdD
IG9wdGltaXphdGlvbi4gU29tZSBwbGF0Zm9ybXMgbWF5IG5vdCBiZSBhYmxlIHRvIGRldGVybWlu
ZSBvd25lcnNoaXAKICAgICAgICAgLy8gb2YgdGhlIHJlbW90ZSBwb3J0IChzaW5jZSBpdCBtYXkg
bGl2ZSBjcm9zcy1wcm9jZXNzKSAtIHRob3NlIHBsYXRmb3JtcyBtYXkgYWx3YXlzIHJldHVybiBu
dWxsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaAppbmRleCA4OWZjYjJhMGI3ZjgzN2Yz
MGZhN2U1ODRiYTEzYTU2MTNjMDVmN2VkLi4wMGRjOWU5MTJkZjUyYWY0ZDExNmY2NzY3MzAwODg5
NDkxZWEyN2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaApAQCAtOTIsMTMgKzky
LDYgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZkNvdW50ZWQ8RmlsZVJlYWRlcj46OnJlZjsKICAg
ICB1c2luZyBSZWZDb3VudGVkPEZpbGVSZWFkZXI+OjpkZXJlZjsKIAotICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIobG9hZHN0YXJ0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHByb2dyZXNzKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGxvYWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWJvcnQpOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIobG9hZGVuZCk7Ci0KIHByaXZhdGU6CiAgICAgZXhwbGlj
aXQgRmlsZVJlYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCb2R5RWxlbWVudC5oCmluZGV4IDliZGRjOTY1NDg3NDZiZjcwOGUzMjliZjRlMjJkZGNh
NWJmM2I4MzcuLjI4Mzk4ZDMzZDljNjNjN2FlYjJjNGVkMTM2MDhkMWY3YTFhMDQ5MDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaApAQCAtMzYsMjYgKzM2LDYgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8SFRNTEJvZHlFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Jik7CiAgICAgdmlydHVhbCB+SFRNTEJvZHlFbGVtZW50KCk7CiAKLSAg
ICAvLyBEZWNsYXJlZCB2aXJ0dWFsIGluIEVsZW1lbnQKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihibHVyKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihlcnJvcik7Ci0gICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoZm9jdXMpOwotICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGxvYWQpOwotCi0gICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
YmVmb3JldW5sb2FkKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihoYXNoY2hhbmdlKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihtZXNzYWdlKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihv
ZmZsaW5lKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihvbmxp
bmUpOwotICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBvcHN0YXRl
KTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZXNpemUpOwot
ICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHN0b3JhZ2UpOwotICAg
IERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHVubG9hZCk7Ci0KLSNpZiBF
TkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQotICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKG9yaWVudGF0aW9uY2hhbmdlKTsKLSNlbmRpZgotCiBwcml2YXRlOgogICAg
IEhUTUxCb2R5RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKaW5kZXggNzEyNWVlMzA3MzdiNzRlMmJiZjQz
MzMwOGI3M2M1ODFmODhlYjU2OS4uMDA1MTVhM2I0MDg5YTlhZDM3ZGM3MjhiYjQ2MGI0NDliYWU3
Mjk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5oCkBAIC0xMjUsOSArMTI1
LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXF1ZXN0QXV0b2NvbXBsZXRlKCk7CiAgICAgdm9p
ZCBmaW5pc2hSZXF1ZXN0QXV0b2NvbXBsZXRlKEF1dG9jb21wbGV0ZVJlc3VsdCk7Ci0KLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGF1dG9jb21wbGV0ZSk7Ci0gICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihhdXRvY29tcGxldGVlcnJvcik7CiAjZW5kaWYKIAog
ICAgIENoZWNrZWRSYWRpb0J1dHRvbnMmIGNoZWNrZWRSYWRpb0J1dHRvbnMoKSB7IHJldHVybiBt
X2NoZWNrZWRSYWRpb0J1dHRvbnM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEZyYW1lU2V0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRF
bGVtZW50LmgKaW5kZXggMjg5M2E0Y2Y3YmZjODVhM2RkYjc3NzYxZGZmZjUzODcyMDEwOWI3Mi4u
ZmJiM2NhMDZiYWVjYzNkNDZkN2Y0NmIzOTUyYzQ1MzkwZjc1YmRhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmgKQEAgLTQ3LDI1ICs0Nyw2IEBAIHB1YmxpYzoK
IAogICAgIHN0YXRpYyBIVE1MRnJhbWVTZXRFbGVtZW50KiBmaW5kQ29udGFpbmluZyhFbGVtZW50
KiBkZXNjZW5kYW50KTsKIAotICAgIC8vIERlY2xhcmVkIHZpcnR1YWwgaW4gRWxlbWVudAotICAg
IERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJsdXIpOwotICAgIERFRklO
RV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVycm9yKTsKLSAgICBERUZJTkVfV0lO
RE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihmb2N1cyk7Ci0gICAgREVGSU5FX1dJTkRPV19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIobG9hZCk7Ci0KLSAgICBERUZJTkVfV0lORE9XX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihiZWZvcmV1bmxvYWQpOwotICAgIERFRklORV9XSU5ET1dfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKGhhc2hjaGFuZ2UpOwotICAgIERFRklORV9XSU5ET1dfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKG1lc3NhZ2UpOwotICAgIERFRklORV9XSU5ET1dfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKG9mZmxpbmUpOwotICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKG9ubGluZSk7Ci0gICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIocG9wc3RhdGUpOwotICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKHJlc2l6ZSk7Ci0gICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoc3RvcmFnZSk7Ci0gICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIodW5sb2FkKTsKLSNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQotICAgIERFRklORV9X
SU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG9yaWVudGF0aW9uY2hhbmdlKTsKLSNlbmRp
ZgotCiBwcml2YXRlOgogICAgIEhUTUxGcmFtZVNldEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElu
cHV0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5k
ZXggMGEzOGVhNDA2M2Y1NzFmZGFiZDI1Yzc0ZDcwMmIyZGYzMDQ3ZjdmYy4uOWNkODI4Y2ZiMzA3
ODFhZGVkODdkZDliNTQyN2RmNzA1MzIwMWI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmgKQEAgLTY2LDggKzY2LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8SFRN
TElucHV0RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIEhU
TUxGb3JtRWxlbWVudCosIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKTsKICAgICB2aXJ0dWFsIH5IVE1M
SW5wdXRFbGVtZW50KCk7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdl
YmtpdHNwZWVjaGNoYW5nZSk7Ci0KICAgICB2aXJ0dWFsIEhUTUxJbnB1dEVsZW1lbnQqIHRvSW5w
dXRFbGVtZW50KCkgb3ZlcnJpZGUgZmluYWwgeyByZXR1cm4gdGhpczsgfQogCiAgICAgV0VCQ09S
RV9FWFBPUlQgdmlydHVhbCBib29sIHNob3VsZEF1dG9jb21wbGV0ZSgpIGNvbnN0IG92ZXJyaWRl
IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCAyNDE5NDE2
MWZiZWI5ZjAxYTE4MDJlNjE3ZjJmZDE1MmE3YTg4YzU4Li4xZGZmOGIwNDI5N2I3NzQ1MGI3ZWNh
MWUyMjUyMjZkYWJkMjg4YTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aApAQCAtMjMyLDEzICsyMzIsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB3ZWJraXRBZGRLZXkoY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0sIFBhc3NSZWZQdHI8VWludDhBcnJheT4ga2V5LCBQYXNzUmVm
UHRyPFVpbnQ4QXJyYXk+IGluaXREYXRhLCBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCwgRXhjZXB0
aW9uQ29kZSYpOwogICAgIHZvaWQgd2Via2l0QWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lzdGVt
LCBQYXNzUmVmUHRyPFVpbnQ4QXJyYXk+IGtleSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQg
d2Via2l0Q2FuY2VsS2V5UmVxdWVzdChjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3Ry
aW5nJiBzZXNzaW9uSWQsIEV4Y2VwdGlvbkNvZGUmKTsKLQotICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIod2Via2l0a2V5YWRkZWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIod2Via2l0a2V5ZXJyb3IpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIod2Via2l0a2V5bWVzc2FnZSk7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoRU5DUllQVEVE
X01FRElBKSB8fCBFTkFCTEUoRU5DUllQVEVEX01FRElBX1YyKQotICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIod2Via2l0bmVlZGtleSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUFfVjIpCkBAIC0yNjgsMjEgKzI2MSw2IEBAIHB1YmxpYzoKIAogICAgIGRv
dWJsZSBwZXJjZW50TG9hZGVkKCkgY29uc3Q7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGVtcHRpZWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
bG9hZGVkbWV0YWRhdGEpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobG9h
ZGVkZGF0YSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjYW5wbGF5KTsK
LSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNhbnBsYXl0aHJvdWdoKTsKLSAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBsYXlpbmcpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZW5kZWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIod2FpdGluZyk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihkdXJhdGlvbmNoYW5nZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0
aW1ldXBkYXRlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBsYXkpOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocGF1c2UpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIocmF0ZWNoYW5nZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih2b2x1bWVjaGFuZ2UpOwotCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNL
KQogICAgIFBhc3NSZWZQdHI8VGV4dFRyYWNrPiBhZGRUZXh0VHJhY2soY29uc3QgU3RyaW5nJiBr
aW5kLCBjb25zdCBTdHJpbmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlLCBFeGNlcHRp
b25Db2RlJik7CiAgICAgUGFzc1JlZlB0cjxUZXh0VHJhY2s+IGFkZFRleHRUcmFjayhjb25zdCBT
dHJpbmcmIGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIEV4Y2VwdGlvbkNvZGUmIGVjKSB7IHJl
dHVybiBhZGRUZXh0VHJhY2soa2luZCwgbGFiZWwsIGVtcHR5U3RyaW5nKCksIGVjKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaAppbmRleCA3MGYzNDBjY2NmNjVlYTIxNmMx
N2VmYjc4YWE4MzU2MTA2MzNjMjM1Li45ZjNkMTljYzQyYzMzNDA3YWM0YTM4YmM5MmYxZjlmNzI3
NWY1NjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxWaWRlb0VsZW1lbnQuaApAQCAtODMsOCAr
ODMsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB3ZWJraXRTZXRQcmVzZW50YXRpb25Nb2RlKGNvbnN0
IFN0cmluZyYpOwogICAgIFN0cmluZyB3ZWJraXRQcmVzZW50YXRpb25Nb2RlKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCB2b2lkIGZ1bGxzY3JlZW5Nb2RlQ2hhbmdlZChWaWRlb0Z1bGxzY3JlZW5Nb2Rl
KSBvdmVycmlkZTsKLQotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0
cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQpOwogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC90cmFjay9UZXh0VHJhY2suaAppbmRleCBiOWNkOTdmZWI5NjdhNGJiMWNiMTFjMjA0MGNh
NGFjYWFlNzRiNDhjLi40MDM5NzI1Mjg0NTVkMGU1MWM3NjYwMmJiODQ3MzY2MmQ2ODg4YTNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrLmgKQEAgLTEyMyw4ICsxMjMsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCBjdWVXaWxsQ2hhbmdlKFRleHRUcmFja0N1ZSopOwogICAgIHZvaWQg
Y3VlRGlkQ2hhbmdlKFRleHRUcmFja0N1ZSopOwogCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihjdWVjaGFuZ2UpOwotCiAgICAgZW51bSBUZXh0VHJhY2tUeXBlIHsgVHJhY2tF
bGVtZW50LCBBZGRUcmFjaywgSW5CYW5kIH07CiAgICAgVGV4dFRyYWNrVHlwZSB0cmFja1R5cGUo
KSBjb25zdCB7IHJldHVybiBtX3RyYWNrVHlwZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFj
ay9UZXh0VHJhY2tDdWUuaAppbmRleCA5NTFmZThjN2I1MWMzNGJmYWQ1YjZkNjg2NGNlYmU0MzQ0
YTVhMDAwLi5lYzJhYjIyZTJmNzYzZTg0MDdmYTNkMTg5ZDk2ZGJjMGU4ZDZjYjgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmgKQEAgLTExMSw5ICsxMTEsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCB3aWxsQ2hhbmdlKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5n
ZSgpOwogCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlbnRlcik7Ci0gICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihleGl0KTsKLQogICAgIHVzaW5nIFJlZkNv
dW50ZWQ8VGV4dFRyYWNrQ3VlPjo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ8VGV4dFRyYWNr
Q3VlPjo6ZGVyZWY7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJh
Y2tMaXN0QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UcmFja0xpc3RCYXNlLmgK
aW5kZXggMDI3MjZjMzA2ZWE3YzYxY2I3NmU4MTAxZDY4NmIyODMyMGRkMGFlNC4uNjc5OWY0NWNi
YWQxOTkxM2VhNGQ5ZmJlNjFmNGVmMGQzMWVjOTZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9UcmFja0xpc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UcmFja0xpc3RCYXNlLmgKQEAgLTU2LDEwICs1Niw2IEBAIHB1YmxpYzoKICAgICB1c2lu
ZyBSZWZDb3VudGVkPFRyYWNrTGlzdEJhc2U+OjpkZXJlZjsKICAgICB2aXJ0dWFsIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBvdmVycmlkZSBm
aW5hbCB7IHJldHVybiBtX2NvbnRleHQ7IH0KIAotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoYWRkdHJhY2spOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
Y2hhbmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlbW92ZXRyYWNr
KTsKLQogICAgIHZvaWQgY2xlYXJFbGVtZW50KCkgeyBtX2VsZW1lbnQgPSAwOyB9CiAgICAgRWxl
bWVudCogZWxlbWVudCgpIGNvbnN0OwogICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fZWxlbWVudDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxpY2F0aW9uQ2FjaGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmgKaW5kZXggY2RkZjc0ZGVhYmIz
N2EwMjVmYTdkN2Y5YWJkYzlmMzdkMWE3M2I0Zi4uNDRmMTIxODRlN2QwZmY2OGI0NGU5MWNhMzM1
NGQ1Yzk3ZDk5NWZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hl
L0RPTUFwcGxpY2F0aW9uQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2Fj
aGUvRE9NQXBwbGljYXRpb25DYWNoZS5oCkBAIC01OCwxNyArNTgsNiBAQCBwdWJsaWM6CiAgICAg
dXNpbmcgUmVmQ291bnRlZDxET01BcHBsaWNhdGlvbkNhY2hlPjo6cmVmOwogICAgIHVzaW5nIFJl
ZkNvdW50ZWQ8RE9NQXBwbGljYXRpb25DYWNoZT46OmRlcmVmOwogCi0gICAgLy8gRXhwbGljaXRs
eSBuYW1lZCBhdHRyaWJ1dGUgZXZlbnQgbGlzdGVuZXIgaGVscGVycwotCi0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihjaGVja2luZyk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihlcnJvcik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uihub3VwZGF0ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkb3dubG9h
ZGluZyk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihwcm9ncmVzcyk7Ci0g
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih1cGRhdGVyZWFkeSk7Ci0gICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjYWNoZWQpOwotICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIob2Jzb2xldGUpOwotCiAgICAgdmlydHVhbCBFdmVudFRhcmdldElu
dGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIERP
TUFwcGxpY2F0aW9uQ2FjaGVFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KICAgICB2aXJ0dWFs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBv
dmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggNGJiOTFkZGNkNjFmOGUyYmQ2
YTgwNTdlMTg5NDE1MTk0ZTM2YTgxZC4uZDM5YzU2MzI2ZmRkM2NiYmEzYjY0MDU4MDBhOWY1Mjcx
OTE3ZDA3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0yODIsOTAgKzI4Miw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2b2lkIGRpc3BhdGNoTG9hZEV2ZW50KCk7CiAK
LSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihhYm9ydCk7Ci0gICAgICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmVmb3JldW5sb2FkKTsKLSAgICAgICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihibHVyKTsKLSAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihjYW5wbGF5KTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihjYW5wbGF5dGhyb3VnaCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoY2hhbmdlKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihjbGljayk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoY29udGV4dG1lbnUpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGRibGNsaWNrKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkcmFn
KTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkcmFnZW5kKTsKLSAg
ICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkcmFnZW50ZXIpOwotICAgICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRyYWdsZWF2ZSk7Ci0gICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZ292ZXIpOwotICAgICAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRyYWdzdGFydCk7Ci0gICAgICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoZHJvcCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoZHVyYXRpb25jaGFuZ2UpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGVtcHRpZWQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGVuZGVkKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihl
cnJvcik7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZm9jdXMpOwot
ICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGhhc2hjaGFuZ2UpOwotICAg
ICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGlucHV0KTsKLSAgICAgICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihpbnZhbGlkKTsKLSAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihrZXlkb3duKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihrZXlwcmVzcyk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoa2V5dXApOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGxvYWQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWRl
ZGRhdGEpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWRlZG1l
dGFkYXRhKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2Fkc3Rh
cnQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1lc3NhZ2UpOwot
ICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNlZG93bik7Ci0gICAg
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2VlbnRlcik7Ci0gICAgICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2VsZWF2ZSk7Ci0gICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2Vtb3ZlKTsKLSAgICAgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtb3VzZW91dCk7Ci0gICAgICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIobW91c2VvdmVyKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihtb3VzZXVwKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihtb3VzZXdoZWVsKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihvZmZsaW5lKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihvbmxpbmUpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBhZ2Vo
aWRlKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihwYWdlc2hvdyk7
Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocGF1c2UpOwotICAgICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBsYXkpOwotICAgICAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBsYXlpbmcpOwotICAgICAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHBvcHN0YXRlKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihwcm9ncmVzcyk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIocmF0ZWNoYW5nZSk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIocmVzZXQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJl
c2l6ZSk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoc2Nyb2xsKTsK
LSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzZWFyY2gpOwotICAgICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHNlZWtlZCk7Ci0gICAgICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoc2Vla2luZyk7Ci0gICAgICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoc2VsZWN0KTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihzdGFsbGVkKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihzdG9yYWdlKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihzdWJtaXQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHN1c3Bl
bmQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRpbWV1cGRhdGUp
OwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHVubG9hZCk7Ci0gICAg
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodm9sdW1lY2hhbmdlKTsKLSAgICAg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3YWl0aW5nKTsKLSAgICAgICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRiZWdpbmZ1bGxzY3JlZW4pOwotICAg
ICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGVuZGZ1bGxzY3JlZW4p
OwotI2lmIEVOQUJMRShXSUxMX1JFVkVBTF9FREdFX0VWRU5UUykKLSAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR3aWxscmV2ZWFsYm90dG9tKTsKLSAgICAgICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR3aWxscmV2ZWFsbGVmdCk7Ci0g
ICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0d2lsbHJldmVhbHJp
Z2h0KTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR3aWxs
cmV2ZWFsdG9wKTsKLSNlbmRpZgotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKHdoZWVsKTsKLQotICAgICAgICBERUZJTkVfTUFQUEVEX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUih3ZWJraXRhbmltYXRpb25zdGFydCwgd2Via2l0QW5pbWF0aW9uU3RhcnQpOwotICAgICAg
ICBERUZJTkVfTUFQUEVEX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRhbmltYXRpb25p
dGVyYXRpb24sIHdlYmtpdEFuaW1hdGlvbkl0ZXJhdGlvbik7Ci0gICAgICAgIERFRklORV9NQVBQ
RURfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGFuaW1hdGlvbmVuZCwgd2Via2l0QW5p
bWF0aW9uRW5kKTsKLSAgICAgICAgREVGSU5FX01BUFBFRF9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoYW5pbWF0aW9uc3RhcnQsIGFuaW1hdGlvbnN0YXJ0KTsKLSAgICAgICAgREVGSU5FX01BUFBF
RF9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYW5pbWF0aW9uaXRlcmF0aW9uLCBhbmltYXRpb25p
dGVyYXRpb24pOwotICAgICAgICBERUZJTkVfTUFQUEVEX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihhbmltYXRpb25lbmQsIGFuaW1hdGlvbmVuZCk7Ci0gICAgICAgIERFRklORV9NQVBQRURfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHRyYW5zaXRpb25lbmQsIHdlYmtpdFRyYW5zaXRp
b25FbmQpOwotICAgICAgICBERUZJTkVfTUFQUEVEX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0
cmFuc2l0aW9uZW5kLCB0cmFuc2l0aW9uZW5kKTsKLQogICAgICAgICB2b2lkIGNhcHR1cmVFdmVu
dHMoKTsKICAgICAgICAgdm9pZCByZWxlYXNlRXZlbnRzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuaAppbmRleCA5ZTRmNTU3MDk1ZWQ2NmIyNGU0Y2I3MmRkY2NmNGZmNGY0ODI0N2ViLi41
YWU1NTYwYWE3OWE0NDE3NmM0N2NjYjljZDZiZjM4OTQwNjJjMDc1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5oCkBAIC02NiwxMCArNjYsNiBAQCBwdWJsaWM6CiAKICAgICBTdGF0ZSByZWFk
eVN0YXRlKCkgY29uc3Q7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG9w
ZW4pOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobWVzc2FnZSk7Ci0gICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlcnJvcik7Ci0KICAgICB2b2lkIGNsb3Nl
KCk7CiAKICAgICB1c2luZyBSZWZDb3VudGVkPEV2ZW50U291cmNlPjo6cmVmOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZS5oCmluZGV4IDE5Yzk5NWJhZTkyYjg1NDlkODhiMThmMzcxMGZhZDE4OTA3
Zjk2ZWUuLmUwNjBjNWQzYmU1OTRhYjAxZDkzMmQ4N2NkOTE3OWNmZWRmYjIwNjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmgKQEAgLTc0LDggKzc0LDYgQEAgcHVibGljOgogICAgIHZvaWQg
d2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3MoKTsKICAgICB2b2lkIHdlYmtpdFNldFJlc291cmNl
VGltaW5nQnVmZmVyU2l6ZSh1bnNpZ25lZCBpbnQpOwogCi0gICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUih3ZWJraXRyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwpOwotCiAgICAgdm9p
ZCBhZGRSZXNvdXJjZVRpbWluZyhjb25zdCBTdHJpbmcmIGluaXRpYXRvck5hbWUsIERvY3VtZW50
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGRvdWJs
ZSBpbml0aWF0aW9uVGltZSwgZG91YmxlIGZpbmlzaFRpbWUpOwogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaAppbmRleCBiZThkMWM0OTMyOTgwMmNjMmFmYjc2
MGI5ZWI0MmFjNjI5M2Y3YmIyLi43YmY2MTdmYTRhZDM0OGE5MzY5ZmIzMjhkM2QxMWRjYTI3YWYw
MmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Fic3RyYWN0V29ya2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9BYnN0cmFjdFdvcmtlci5oCkBAIC00NSw4ICs0
NSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEFic3RyYWN0V29ya2VyIDog
cHVibGljIFJlZkNvdW50ZWQ8QWJzdHJhY3RXb3JrZXI+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRo
SW5saW5lRGF0YSB7CiAgICAgcHVibGljOgotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGVycm9yKTsKLQogICAgICAgICB1c2luZyBSZWZDb3VudGVkPEFic3RyYWN0V29y
a2VyPjo6cmVmOwogICAgICAgICB1c2luZyBSZWZDb3VudGVkPEFic3RyYWN0V29ya2VyPjo6ZGVy
ZWY7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuaAppbmRleCAyNDQ5NTFmZGViMWFjYzA4NDM0NjQ1NzQyMzM0NWVjZTFjNmVhOTA4
Li5mMWZkOTY5Y2M4NjEwNjJjNzFjMjk5MzJjZWMyN2E1MjhkNzIyZmYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC01
Nyw4ICs1Nyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gTmVlZGVkIGZvciBP
YmplY3RpdmUtQyBiaW5kaW5ncyAoc2VlIGJ1ZyAyODc3NCkuCiAgICAgICAgIHZvaWQgcG9zdE1l
c3NhZ2UoUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBNZXNzYWdlUG9ydCosIEV4
Y2VwdGlvbkNvZGUmKTsKIAotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KG1lc3NhZ2UpOwotCiAgICAgICAgIERlZGljYXRlZFdvcmtlclRocmVhZCYgdGhyZWFkKCk7CiAK
ICAgICBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggZGIxYTgyOWE5N2YwZWFi
N2MzZjY1ZjA5YzEyN2ZhNmNlZmM3ODlmOS4uMGFkYTBhNzg3YzA4YTM2ZDJlYjRlNDU2ZWI4Yjk5
NmQwYjlkNjdmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC01OCw4ICs1OCw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4gbWVzc2FnZSwgTWVzc2FnZVBvcnQqLCBFeGNlcHRpb25Db2Rl
Jik7CiAKICAgICAgICAgdm9pZCB0ZXJtaW5hdGUoKTsKLSAgICAKLSAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihtZXNzYWdlKTsKIAogICAgICAgICAvLyBFdmVudFRhcmdl
dCBBUEkuCiAgICAgICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsIHsgcmV0dXJuIEFjdGl2ZURPTU9i
amVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggZDU0ZjdjNDEyYTUyNzlmMWYxODc1NTZlMjgyNTc2
YzBiYTgxZDYyYS4uNWZhNWU4NzQwNzZiYWUyZGViNjg2NDQyMWQzYmMzZGUwYjE1YTE0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtODIsMTAgKzgy
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBXb3JrZXJMb2NhdGlvbiogbG9jYXRp
b24oKSBjb25zdDsKICAgICAgICAgdm9pZCBjbG9zZSgpOwogCi0gICAgICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKG9mZmxpbmUpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKG9ubGluZSk7Ci0KICAgICAgICAgLy8gV29ya2VyVXRpbHMKICAgICAgICAgdmlydHVh
bCB2b2lkIGltcG9ydFNjcmlwdHMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMsIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICAgICAgV29ya2VyTmF2aWdhdG9yKiBuYXZpZ2F0b3IoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5oIGIvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKaW5kZXggZjVlYjc3ZmMwNGVmMTg2MTI5Y2U1MGZi
ZGYyZjUwMWY4N2QxMzM4NC4uMTg0MDliNDgzMzc2OTA1ZmRiNzg4MWRjZDMwZDUwNmNlNGU3ZmJm
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmgKQEAgLTE0NCwxNyArMTQ0LDYgQEAg
cHVibGljOgogCiAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVzcG9uc2U7IH0KIAotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIocmVhZHlzdGF0ZWNoYW5nZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihhYm9ydCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihl
cnJvcik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkKTsKLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWRlbmQpOwotICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIobG9hZHN0YXJ0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHByb2dyZXNzKTsKLSNpZiBFTkFCTEUoWEhSX1RJTUVPVVQpCi0gICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0aW1lb3V0KTsKLSNlbmRpZgotCiAgICAgdXNp
bmcgUmVmQ291bnRlZDxYTUxIdHRwUmVxdWVzdD46OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVk
PFhNTEh0dHBSZXF1ZXN0Pjo6ZGVyZWY7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3ht
bC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5oIGIvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1
ZXN0VXBsb2FkLmgKaW5kZXggM2MxNWUzYjgyZjgyZDI2YWM2YTFhZDI5YjBiNzI1ZjAzYmFlZWM5
MC4uZTY2YTRhNzEwZGFiYWZkMmUwZDdlOGFjNjM5MWQzMmE5Zjc0NzA2NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmgKQEAgLTQ4LDEzICs0OCw2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBFdmVudFRhcmdldEludGVyZmFjZSBldmVu
dFRhcmdldEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFhNTEh0dHBSZXF1ZXN0
VXBsb2FkRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAgICAgICAgIHZpcnR1YWwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIG1feG1sSHR0cFJlcXVlc3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQog
Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWJvcnQpOwotICAgICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVycm9yKTsKLSAgICAgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihsb2FkZW5kKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihsb2Fkc3RhcnQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKHByb2dyZXNzKTsKLQogICAgICAgICB2b2lkIGRpc3BhdGNoVGhyb3R0bGVkUHJvZ3Jl
c3NFdmVudChib29sIGxlbmd0aENvbXB1dGFibGUsIHVuc2lnbmVkIGxvbmcgbG9uZyBsb2FkZWQs
IHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbCk7CiAgICAgICAgIHZvaWQgZGlzcGF0Y2hQcm9ncmVz
c0V2ZW50KGNvbnN0IEF0b21pY1N0cmluZyAmdHlwZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248067</attachid>
            <date>2015-03-06 09:18:09 -0800</date>
            <delta_ts>2015-03-06 10:46:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142398-20150306091748.patch</filename>
            <type>text/plain</type>
            <size>55364</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjE1MTY3MjQzMzA3Yjc4
Y2FhNjYyZjBiZjBmZTNiY2MzZWIyZWMwMy4uNjA3OGFlOWU2ZmYzNGU0M2YwNzc5NjVhYmExMmM1
YTk1ZmFlMTM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDE1LTAzLTA2ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW51c2VkIEMrKyBE
T00gZXZlbnQgaGFuZGxlciBhdHRyaWJ1dGUgZnVuY3Rpb25zCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDIzOTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOiBSZW1vdmVk
IG5vdy11bm5lZWRlZCBtYWNyb3M6IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIsCisg
ICAgICAgIERFQ0xBUkVfVklSVFVBTF9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIsIERFRklORV9W
SVJUVUFMX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUiwKKyAgICAgICAgREVGSU5FX1dJTkRPV19B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIsIERFRklORV9NQVBQRURfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSLAorICAgICAgICBERUNMQVJFX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSLCBERUZJTkVfRk9SV0FSRElOR19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIuCisKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OnNldE9uZW5kZWQpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpmaW5pc2gp
OiBSZXdyb3RlIHRoaXMgdG8gdXNlIGRpc3BhdGNoRXZlbnQKKyAgICAgICAgaW5zdGVhZCBvZiBv
bmUtb2ZmIGV2ZW50LXNlbmRpbmcgY29kZS4gQWxzbyB1c2UgYSBsYW1iZGEgdG8gYXZvaWQgbmVl
ZGluZyB0d28KKyAgICAgICAgYWRkaXRpb25hbCBtZW1iZXIgZnVuY3Rpb25zIHRvIGltcGxlbWVu
dCB0aGlzLgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpub3Rp
ZnlFbmRlZERpc3BhdGNoKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2NoZWR1
bGVkU291cmNlTm9kZTo6bm90aWZ5RW5kZWQpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMv
d2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmg6IFVwZGF0ZWQgZm9yIGFib3ZlLgor
CisgICAgICAgICogTW9kdWxlcy9iYXR0ZXJ5L0JhdHRlcnlNYW5hZ2VyLmg6IFJlbW92ZWQgb254
eHggYW5kIHNldE9ueHh4IGZ1bmN0aW9ucywKKyAgICAgICAgaW5jbHVkaW5nIG9uZXMgY3JlYXRl
ZCB3aXRoIG1hY3JvcyBmcm9tIEV2ZW50VGFyZ2V0LmguCisgICAgICAgICogTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvSURCRGF0YWJhc2UuaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCT3BlbkRCUmVxdWVzdC5oOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJSZXF1ZXN0Lmg6IERpdHRvLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRy
YW5zYWN0aW9uLmg6IERpdHRvLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW0uaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmg6IERpdHRvLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRFRNRlNl
bmRlci5oOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFu
bmVsLmg6IERpdHRvLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5l
Y3Rpb24uaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNh
dGlvbi5oOiBEaXR0by4KKyAgICAgICAgKiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNV
dHRlcmFuY2UuaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuaDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JO
b2RlLmNwcDogRGl0dG8uCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNz
b3JOb2RlLmg6IERpdHRvLgorICAgICAgICAqIE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQu
aDogRGl0dG8uCisgICAgICAgICogY3NzL0ZvbnRMb2FkZXIuaDogRGl0dG8uCisgICAgICAgICog
ZG9tL0RvY3VtZW50Lmg6IERpdHRvLgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDogRGl0dG8u
CisgICAgICAgICogZG9tL0VsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogZG9tL01lc3NhZ2VQ
b3J0Lmg6IERpdHRvLgorICAgICAgICAqIGZpbGVhcGkvRmlsZVJlYWRlci5oOiBEaXR0by4KKyAg
ICAgICAgKiBodG1sL0hUTUxCb2R5RWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBodG1sL0hU
TUxGb3JtRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBodG1sL0hUTUxGcmFtZVNldEVsZW1l
bnQuaDogRGl0dG8uCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVtZW50Lmg6IERpdHRvLgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOiBEaXR0by4KKyAgICAgICAgKiBodG1s
L0hUTUxWaWRlb0VsZW1lbnQuaDogRGl0dG8uCisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJh
Y2suaDogRGl0dG8uCisgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuaDogRGl0dG8u
CisgICAgICAgICogaHRtbC90cmFjay9UcmFja0xpc3RCYXNlLmg6IERpdHRvLgorICAgICAgICAq
IGxvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmg6IERpdHRvLgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93Lmg6IERpdHRvLgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDog
RGl0dG8uCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZS5oOiBEaXR0by4KKyAgICAgICAgKiB3
b3JrZXJzL0Fic3RyYWN0V29ya2VyLmg6IERpdHRvLgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUuaDogRGl0dG8uCisgICAgICAgICogd29ya2Vycy9Xb3JrZXIu
aDogRGl0dG8uCisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oOiBEaXR0by4K
KyAgICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuaDogRGl0dG8uCisgICAgICAgICogeG1sL1hN
TEh0dHBSZXF1ZXN0VXBsb2FkLmg6IERpdHRvLgorCiAyMDE1LTAzLTA1ICBEYXJpbiBBZGxlciAg
PGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIEphdmFTY3JpcHQgYmluZGluZyBnZXQg
YW5kIHNldCBsZWdhY3kgZXZlbnQgbGlzdGVuZXIgYXR0cmlidXRlcyBkaXJlY3RseQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9iYXR0ZXJ5L0JhdHRlcnlNYW5hZ2VyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2JhdHRlcnkvQmF0dGVyeU1hbmFnZXIuaAppbmRleCA1NmNj
ODEyM2E0MDBlNTkzY2VjMzhjNWE3NGM1NjFmM2Q4YzUxMDcwLi40NWZlNTJlM2ExZmY3NjM0NDI5
YTE1NjFjZmNiNzViZTk5NGU5NzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2JhdHRlcnkvQmF0dGVyeU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Jh
dHRlcnkvQmF0dGVyeU1hbmFnZXIuaApAQCAtNDYsMTEgKzQ2LDYgQEAgcHVibGljOgogICAgIGRv
dWJsZSBkaXNjaGFyZ2luZ1RpbWUoKTsKICAgICBkb3VibGUgbGV2ZWwoKTsKIAotICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY2hhcmdpbmdjaGFuZ2UpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY2hhcmdpbmd0aW1lY2hhbmdlKTsKLSAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRpc2NoYXJnaW5ndGltZWNoYW5nZSk7Ci0gICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsZXZlbGNoYW5nZSk7Ci0KICAgICB2b2lkIGRp
ZENoYW5nZUJhdHRlcnlTdGF0dXMoUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8QmF0dGVy
eVN0YXR1cz4pOwogICAgIHZvaWQgdXBkYXRlQmF0dGVyeVN0YXR1cyhQYXNzUmVmUHRyPEJhdHRl
cnlTdGF0dXM+KTsKICAgICB2b2lkIGJhdHRlcnlDb250cm9sbGVyRGVzdHJveWVkKCkgeyBtX2Jh
dHRlcnlDb250cm9sbGVyID0gbnVsbHB0cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKaW5kZXggNzgzNWM0OWY0
MzUwMTJlZjliOGUwNTJlOGY3YjU3OGU1NzMxYmNiMS4uZWQ0YzgwYTZlZDQ0ZWJkYTc2MjUwZDgz
NzcxMDUxMGZhNDk0OTNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC03MywxMCArNzMsNiBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIGVucXVldWVFdmVudChQYXNzUmVmUHRyPEV2ZW50Pik7CiAKLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGtleWFkZGVkKTsKLSAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGtleWVycm9yKTsKLSAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGtleW1lc3NhZ2UpOwotCiAgICAgdmlydHVh
bCBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIE1lZGlhS2V5U2Vzc2lvbkV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsgfQog
ICAgIHZpcnR1YWwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkRhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJEYXRhYmFzZS5oCmluZGV4IDAzZTVlZWEzODNjM2FlMWNjYjEwMzQxNzk1ZmU1ZWE1YjA4MTE0
NmUuLjFjYjExYjViMDBlMTExZDhjYmM0MmU2M2Y0ZGY4MjJmYTk1Njc2ZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuaApAQCAtNzEsMTAgKzcx
LDYgQEAgcHVibGljOgogICAgIHZvaWQgZGVsZXRlT2JqZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBu
YW1lLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBjbG9zZSgpOwogCi0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihhYm9ydCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihlcnJvcik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih2
ZXJzaW9uY2hhbmdlKTsKLQogICAgIC8vIElEQkRhdGFiYXNlQ2FsbGJhY2tzCiAgICAgdmlydHVh
bCB2b2lkIG9uVmVyc2lvbkNoYW5nZSh1aW50NjRfdCBvbGRWZXJzaW9uLCB1aW50NjRfdCBuZXdW
ZXJzaW9uLCBJbmRleGVkREI6OlZlcnNpb25OdWxsbmVzcyBuZXdWZXJzaW9uTnVsbG5lc3MpOwog
ICAgIHZpcnR1YWwgdm9pZCBvbkFib3J0KGludDY0X3QsIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VF
cnJvcj4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
T3BlbkRCUmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3Bl
bkRCUmVxdWVzdC5oCmluZGV4IDg2YjFhMGZiYmFkZTM5N2FmMmM1NzhkZDZjMDJlYzMyMjgxYmRi
NzIuLjMzMzlmYTM1ODhkMmE1N2ZkMTQ4NWEzMTk4YjBiYjlmMjU3ZWQ2NTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9wZW5EQlJlcXVlc3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmgKQEAg
LTUwLDkgKzUwLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRJbnRlcmZhY2Ug
ZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hF
dmVudChQYXNzUmVmUHRyPEV2ZW50Pikgb3ZlcnJpZGU7CiAKLSAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGJsb2NrZWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIodXBncmFkZW5lZWRlZCk7Ci0KIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgc2hv
dWxkRW5xdWV1ZUV2ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAppbmRleCAzNDI1YzdiNGEzYThkNGZlNzk5ZmRj
MGM3YWU2MDcyMWUxOWM2NDhjLi41MTJiMDRkZjU2ZmI0YzNiNTBmZTQ2ODc1MWY4NGViZGM0YjI3
MjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1
ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5o
CkBAIC03Myw5ICs3Myw2IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgcmVhZHlTdGF0
ZSgpIGNvbnN0OwogCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzdWNjZXNz
KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVycm9yKTsKLQogICAgIHZv
aWQgbWFya0Vhcmx5RGVhdGgoKTsKICAgICB2b2lkIHNldEN1cnNvckRldGFpbHMoSW5kZXhlZERC
OjpDdXJzb3JUeXBlLCBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbik7CiAgICAgdm9pZCBzZXRQ
ZW5kaW5nQ3Vyc29yKFBhc3NSZWZQdHI8SURCQ3Vyc29yPik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaAppbmRleCA1ZTllMDQyYTFmYWVm
NGVmMzgyOWJlYmMyNjlhMjY2OGVkYTRiZGMyLi5mY2NlYzg2NTAyMTU5YTJjZDViNzdhYTk5MTEw
MWIwNmMzODAwZGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQlRyYW5zYWN0aW9uLmgKQEAgLTk2LDEwICs5Niw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dEFjdGl2ZShib29sKTsKICAgICB2b2lkIHNldEVycm9yKFBhc3NSZWZQdHI8RE9NRXJyb3I+LCBj
b25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGFib3J0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNv
bXBsZXRlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVycm9yKTsKLQog
ICAgIHZvaWQgb25BYm9ydChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KTsKICAgICB2b2lk
IG9uQ29tcGxldGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbS5oCmluZGV4IGFhZjZmZTRiOGQ2M2VhYjA2OGQxMmM1YWY4ZGY3M2M3NWYx
ZGYyODMuLmU3ZmQ1MDJiN2JlNTcxMzZkMmZlNzFlNmI1N2VlMmIwZTI0N2M2NDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmgKQEAgLTcx
LDE1ICs3MSw5IEBAIHB1YmxpYzoKIAogICAgIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IGNsb25l
KCk7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFkZHRyYWNrKTsKLSAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlbW92ZXRyYWNrKTsKLQogICAgIGJv
b2wgYWN0aXZlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCk7CiAKLSAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFjdGl2ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihpbmFjdGl2ZSk7Ci0KICAgICBNZWRpYVN0cmVhbVByaXZhdGUqIHBy
aXZhdGVTdHJlYW0oKSBjb25zdCB7IHJldHVybiBtX3ByaXZhdGUuZ2V0KCk7IH0KIAogICAgIC8v
IEV2ZW50VGFyZ2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1UcmFjay5oCmluZGV4IDY0YjM5MzQ1ZmEwOGVmNGFiMDllYTFiNWY5MzE4
MWI2MWI5OGM5ZGMuLjcwOGYwYWY3ZGM1MmU4ZThkMDljZWQ2MmYwNjhmMWJmNTA5MmU4ZTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5oCkBAIC04NCwxMiArODQsNiBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPE1lZGlhU3Ry
ZWFtVHJhY2s+IGNsb25lKCk7CiAgICAgdm9pZCBzdG9wUHJvZHVjaW5nRGF0YSgpOwogCi0gICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtdXRlKTsKLSAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHVubXV0ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihzdGFydGVkKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVu
ZGVkKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG92ZXJjb25zdHJhaW5l
ZCk7Ci0KICAgICBSZWFsdGltZU1lZGlhU291cmNlKiBzb3VyY2UoKSBjb25zdCB7IHJldHVybiBt
X3ByaXZhdGVUcmFjay0+c291cmNlKCk7IH0KICAgICBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYg
cHJpdmF0ZVRyYWNrKCkgeyByZXR1cm4gbV9wcml2YXRlVHJhY2suZ2V0KCk7IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENEVE1GU2VuZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaAppbmRl
eCBkMmRmMWU1M2YzYzQ2MDFmZWIwNDNhYzM5NTBhYjU2NzUyY2ZhMGI3Li40MjhhNmQ5YjIwOTFh
NTY3NjUyM2E3NWU1YjZhNmUyNDRlZmE1ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0RUTUZTZW5kZXIuaApAQCAtNTYsOCArNTYsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBpbnNlcnREVE1GKGNvbnN0IFN0cmluZyYgdG9uZXMsIGxvbmcgZHVyYXRp
b24sIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIGluc2VydERUTUYoY29uc3QgU3RyaW5nJiB0
b25lcywgbG9uZyBkdXJhdGlvbiwgbG9uZyBpbnRlclRvbmVHYXAsIEV4Y2VwdGlvbkNvZGUmKTsK
IAotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG9uZWNoYW5nZSk7Ci0KICAg
ICAvLyBFdmVudFRhcmdldAogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRU
YXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBSVENEVE1GU2VuZGVyRXZl
bnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQWN0
aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRGF0YUNoYW5uZWwuaAppbmRleCA1NmUy
MDFmYTA4MTU0NDBiNmJmYzQyMDQwZThiMmFhZDVmMWY3ZDBjLi41MzcyZTc4YzFhODIwZTk4Yjk2
OGM2ZjdjNDlhNDVlNjUxM2E3ZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ0RhdGFDaGFubmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENEYXRhQ2hhbm5lbC5oCkBAIC03MSwxMSArNzEsNiBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIGNsb3NlKCk7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKG9wZW4pOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY2xvc2UpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIobWVzc2FnZSk7Ci0KICAgICB2b2lkIHN0b3AoKTsKIAog
ICAgIC8vIEV2ZW50VGFyZ2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uLmgKaW5kZXggZGVlZjYwMTE5NmVhMjBiY2VkNWRh
ZWRkZWM5Mzg1OTI5ZGE3NDZkZS4uZDNkMzM5Zjk3MGMyZWM3MjdjZWQxOTZkMWVkZWQ4OGMwMmJk
MTQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQ
ZWVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUGVlckNvbm5lY3Rpb24uaApAQCAtMTAzLDE0ICsxMDMsNiBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIGNsb3NlKEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIobmVnb3RpYXRpb25uZWVkZWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIoaWNlY2FuZGlkYXRlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKHNpZ25hbGluZ3N0YXRlY2hhbmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGFkZHN0cmVhbSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihy
ZW1vdmVzdHJlYW0pOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoaWNlY29u
bmVjdGlvbnN0YXRlY2hhbmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGRhdGFjaGFubmVsKTsKLQogICAgIC8vIFJUQ1BlZXJDb25uZWN0aW9uSGFuZGxlckNsaWVudAog
ICAgIHZpcnR1YWwgdm9pZCBuZWdvdGlhdGlvbk5lZWRlZCgpIG92ZXJyaWRlOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRHZW5lcmF0ZUljZUNhbmRpZGF0ZShQYXNzUmVmUHRyPFJUQ0ljZUNhbmRpZGF0
ZURlc2NyaXB0b3I+KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAppbmRleCAzODk0YmUyNmY3MzUxZjJlZTQ1YzBm
NDU5OGIzN2RmYzdmYjk0ZWFlLi5jZDI2ZDA1ZGFkNjQzOTQ1Y2JhNmEzZTIyOWJhZjY4ODE0M2Y0
NTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5oCkBAIC0xMDIsMTUgKzEwMiw2IEBAIHB1YmxpYzoKIAogICAgIFRleHREaXJl
Y3Rpb24gZGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gZGlyKCkgPT0gInJ0bCIgPyBSVEwgOiBM
VFI7IH0KIAotI2lmIEVOQUJMRShMRUdBQ1lfTk9USUZJQ0FUSU9OUykKLSAgICBFdmVudExpc3Rl
bmVyKiBvbmRpc3BsYXkoKSB7IHJldHVybiBnZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5zaG93RXZlbnQpOyB9Ci0gICAgdm9pZCBzZXRPbmRpc3BsYXkoUGFzc1JlZlB0cjxF
dmVudExpc3RlbmVyPiBsaXN0ZW5lcikgeyBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5zaG93RXZlbnQsIGxpc3RlbmVyKTsgfQotI2VuZGlmCi0gICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihzaG93KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGVycm9yKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNsb3Nl
KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNsaWNrKTsKLSAgICAKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpc3BhdGNoQ2xpY2tFdmVudCgpOwogICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgZGlzcGF0Y2hDbG9zZUV2ZW50KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBkaXNwYXRjaEVycm9yRXZlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmgKaW5kZXggNjlkNGZiNTJkMWIw
MGQ3YjlmMGNjYzEzZDRlNmFiNmE1NzE1OGVmNy4uMWNkOGU1YTUyYmM4YTU2NTQzZjk5Mjc5NDU5
NzhhZWU0Y2IwYTAyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zcGVlY2gv
U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
cGVlY2gvU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlLmgKQEAgLTY0LDE0ICs2NCw2IEBAIHB1Ymxp
YzoKICAgICBkb3VibGUgc3RhcnRUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybVV0dGVy
YW5jZS0+c3RhcnRUaW1lKCk7IH0KICAgICB2b2lkIHNldFN0YXJ0VGltZShkb3VibGUgc3RhcnRU
aW1lKSB7IG1fcGxhdGZvcm1VdHRlcmFuY2UtPnNldFN0YXJ0VGltZShzdGFydFRpbWUpOyB9CiAg
ICAgCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzdGFydCk7Ci0gICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlbmQpOwotICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoZXJyb3IpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIocGF1c2UpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocmVzdW1lKTsK
LSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1hcmspOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYm91bmRhcnkpOwotCiAgICAgdXNpbmcgUmVmQ291bnRl
ZDxTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+OjpyZWY7CiAgICAgdXNpbmcgUmVmQ291bnRlZDxT
cGVlY2hTeW50aGVzaXNVdHRlcmFuY2U+OjpkZXJlZjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmgKaW5kZXggZGQ5OTY4Y2I0OTI4NDQzZGI3ODA5
Y2I5ZmNjNWJlYzVhMDllMjYyYy4uYWU4NzcyYmEwYjUzZDc5Nzc4YmIyZWYzNTk4Y2IwMDBhZDE4
YjQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0Nv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQ29udGV4
dC5oCkBAIC0yMjcsOCArMjI3LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRJ
bnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSBmaW5hbCB7IHJl
dHVybiBBdWRpb0NvbnRleHRFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KICAgICB2aXJ0dWFs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBv
dmVycmlkZSBmaW5hbDsKIAotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29t
cGxldGUpOwotCiAgICAgLy8gUmVjb25jaWxlIHJlZi9kZXJlZiB3aGljaCBhcmUgZGVmaW5lZCBi
b3RoIGluIFRocmVhZFNhZmVSZWZDb3VudGVkIGFuZCBFdmVudFRhcmdldC4KICAgICB1c2luZyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxBdWRpb0NvbnRleHQ+OjpyZWY7CiAgICAgdXNpbmcgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8QXVkaW9Db250ZXh0Pjo6ZGVyZWY7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5j
cHAKaW5kZXggNGMxMjA3MTI5YTIwMjNkNWYyOTNlMTYxMDAxNTNhYzZhZTc4MWQ0Mi4uZmU2YTM0
ZDFhNDdhYzU3OTgzZDAxMmJmZTM4M2QwZWU1OGE5MWU1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2Rl
LmNwcApAQCAtMTk2LDExICsxOTYsNiBAQCB2b2lkIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6
bm90ZU9mZihkb3VibGUgd2hlbiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB9CiAjZW5kaWYKIAotdm9p
ZCBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6OnNldE9uZW5kZWQoUGFzc1JlZlB0cjxFdmVudExp
c3RlbmVyPiBsaXN0ZW5lcikKLXsKLSAgICBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50
TmFtZXMoKS5lbmRlZEV2ZW50LCBsaXN0ZW5lcik7Ci19Ci0KIHZvaWQgQXVkaW9TY2hlZHVsZWRT
b3VyY2VOb2RlOjpmaW5pc2goKQogewogICAgIGlmIChtX3BsYXliYWNrU3RhdGUgIT0gRklOSVNI
RURfU1RBVEUpIHsKQEAgLTIxMCwyNCArMjA1LDExIEBAIHZvaWQgQXVkaW9TY2hlZHVsZWRTb3Vy
Y2VOb2RlOjpmaW5pc2goKQogICAgICAgICBjb250ZXh0KCktPmRlY3JlbWVudEFjdGl2ZVNvdXJj
ZUNvdW50KCk7CiAgICAgfQogCi0gICAgaWYgKG1faGFzRW5kZWRMaXN0ZW5lcikKLSAgICAgICAg
Y2FsbE9uTWFpblRocmVhZCgmQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlOjpub3RpZnlFbmRlZERp
c3BhdGNoLCB0aGlzKTsKLX0KLQotdm9pZCBBdWRpb1NjaGVkdWxlZFNvdXJjZU5vZGU6Om5vdGlm
eUVuZGVkRGlzcGF0Y2godm9pZCogdXNlckRhdGEpCi17Ci0gICAgc3RhdGljX2Nhc3Q8QXVkaW9T
Y2hlZHVsZWRTb3VyY2VOb2RlKj4odXNlckRhdGEpLT5ub3RpZnlFbmRlZCgpOwotfQotCi12b2lk
IEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZTo6bm90aWZ5RW5kZWQoKQotewotICAgIEV2ZW50TGlz
dGVuZXIqIGxpc3RlbmVyID0gb25lbmRlZCgpOwotICAgIGlmICghbGlzdGVuZXIpCi0gICAgICAg
IHJldHVybjsKLQotICAgIFJlZlB0cjxFdmVudD4gZXZlbnQgPSBFdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS5lbmRlZEV2ZW50LCBGQUxTRSwgRkFMU0UpOwotICAgIGV2ZW50LT5zZXRUYXJnZXQo
dGhpcyk7Ci0gICAgbGlzdGVuZXItPmhhbmRsZUV2ZW50KGNvbnRleHQoKS0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLCBldmVudC5nZXQoKSk7CisgICAgaWYgKG1faGFzRW5kZWRMaXN0ZW5lcikg
eworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzXSB7CisgICAgICAgICAgICBkaXNwYXRj
aEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVuZGVkRXZlbnQsIGZhbHNlLCBmYWxz
ZSkpOworICAgICAgICB9KTsKKyAgICB9CiB9CiAKIGJvb2wgQXVkaW9TY2hlZHVsZWRTb3VyY2VO
b2RlOjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNz
UmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNl
Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1NjaGVkdWxlZFNv
dXJjZU5vZGUuaAppbmRleCA5MTRlNDg5MTljYjc4ZTUyMjAyYjg5N2E4YTk4NDU4N2YzNDA3NWNi
Li42ODBhZjQ2NzgwYzdiZjcxYmQzNmIxMzM5NmJmMWZiM2M3MGQ2ZmIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9TY2hlZHVsZWRTb3Vy
Y2VOb2RlLmgKQEAgLTcyLDkgKzcyLDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNQbGF5aW5nT3JT
Y2hlZHVsZWQoKSBjb25zdCB7IHJldHVybiBtX3BsYXliYWNrU3RhdGUgPT0gUExBWUlOR19TVEFU
RSB8fCBtX3BsYXliYWNrU3RhdGUgPT0gU0NIRURVTEVEX1NUQVRFOyB9CiAgICAgYm9vbCBoYXNG
aW5pc2hlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWJhY2tTdGF0ZSA9PSBGSU5JU0hFRF9TVEFU
RTsgfQogCi0gICAgRXZlbnRMaXN0ZW5lciogb25lbmRlZCgpIHsgcmV0dXJuIGdldEF0dHJpYnV0
ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmVuZGVkRXZlbnQpOyB9Ci0gICAgdm9pZCBzZXRP
bmVuZGVkKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpOwotCiBwcm90ZWN0ZWQ6
CiAgICAgLy8gR2V0IGZyYW1lIGluZm9ybWF0aW9uIGZvciB0aGUgY3VycmVudCB0aW1lIHF1YW50
dW0uCiAgICAgLy8gV2UgaGFuZGxlIHRoZSB0cmFuc2l0aW9uIGludG8gUExBWUlOR19TVEFURSBh
bmQgRklOSVNIRURfU1RBVEUgaGVyZSwKQEAgLTkxLDkgKzg4LDYgQEAgcHJvdGVjdGVkOgogICAg
IC8vIENhbGxlZCB3aGVuIHdlIGhhdmUgbm8gbW9yZSBzb3VuZCB0byBwbGF5IG9yIHRoZSBub3Rl
T2ZmKCkgdGltZSBoYXMgYmVlbiByZWFjaGVkLgogICAgIHZpcnR1YWwgdm9pZCBmaW5pc2goKTsK
IAotICAgIHN0YXRpYyB2b2lkIG5vdGlmeUVuZGVkRGlzcGF0Y2godm9pZCopOwotICAgIHZvaWQg
bm90aWZ5RW5kZWQoKTsKLQogICAgIFBsYXliYWNrU3RhdGUgbV9wbGF5YmFja1N0YXRlOwogCiAg
ICAgLy8gbV9zdGFydFRpbWUgaXMgdGhlIHRpbWUgdG8gc3RhcnQgcGxheWluZyBiYXNlZCBvbiB0
aGUgY29udGV4dCdzIHRpbWVsaW5lICgwIG9yIGEgdGltZSBsZXNzIHRoYW4gdGhlIGNvbnRleHQn
cyBjdXJyZW50IHRpbWUgbWVhbnMgIm5vdyIpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5jcHAKaW5kZXggZmIzNDY5NzUz
MGE4OWIxMzc1YmE5OTkwMGM0OTYyYzg4YjA0ZjJlZi4uOTBhNmQxN2JkYmU3ZGYzOTNkMWE0Mjhi
YWFjZThhNDQ2YTBjYWI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuY3BwCkBAIC0yMTcsMTEgKzIxNyw2IEBAIHZv
aWQgU2NyaXB0UHJvY2Vzc29yTm9kZTo6cHJvY2VzcyhzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKQog
ICAgIH0KIH0KIAotdm9pZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpzZXRPbmF1ZGlvcHJvY2VzcyhQ
YXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyKQotewotICAgIHNldEF0dHJpYnV0ZUV2
ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmF1ZGlvcHJvY2Vzc0V2ZW50LCBsaXN0ZW5lcik7Ci19
Ci0KIHZvaWQgU2NyaXB0UHJvY2Vzc29yTm9kZTo6ZmlyZVByb2Nlc3NFdmVudERpc3BhdGNoKHZv
aWQqIHVzZXJEYXRhKQogewogICAgIFNjcmlwdFByb2Nlc3Nvck5vZGUqIGpzQXVkaW9Ob2RlID0g
c3RhdGljX2Nhc3Q8U2NyaXB0UHJvY2Vzc29yTm9kZSo+KHVzZXJEYXRhKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKaW5k
ZXggM2YwMmJmYjU1ZjNjYmJlMzdjMzIwY2MzNDczNGM5M2IxZjI0NjM2My4uMmJhYmYzNWEzN2Ey
MGJhNmEyNTNhZWZhNjgxMDdiZmVjZDYxYjE2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2RlLmgKQEAgLTY1LDkgKzY1LDYg
QEAgcHVibGljOgogCiAgICAgc2l6ZV90IGJ1ZmZlclNpemUoKSBjb25zdCB7IHJldHVybiBtX2J1
ZmZlclNpemU7IH0KIAotICAgIEV2ZW50TGlzdGVuZXIqIG9uYXVkaW9wcm9jZXNzKCkgeyByZXR1
cm4gZ2V0QXR0cmlidXRlRXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXVkaW9wcm9jZXNzRXZl
bnQpOyB9Ci0gICAgdm9pZCBzZXRPbmF1ZGlvcHJvY2VzcyhQYXNzUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+KTsKLSAgICAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBkb3VibGUgdGFpbFRpbWUoKSBjb25z
dCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGRvdWJsZSBsYXRlbmN5VGltZSgpIGNvbnN0IG92ZXJy
aWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNv
Y2tldC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCmlu
ZGV4IDg2YmUyYmI0MTc3NzYxN2ZlNmYxZWRmZTBmMThhMDc4ZDAzZjJjMjUuLmQzYzNiYWE1ZDVh
ZGQ3MGMwMzI0NmNkNmExNWNkODE2ZTU2OWJjYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmgKQEAgLTg5LDExICs4OSw2IEBAIHB1YmxpYzoKICAg
ICBTdHJpbmcgYmluYXJ5VHlwZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0QmluYXJ5VHlwZShjb25z
dCBTdHJpbmcmKTsKIAotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIob3Blbik7
Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtZXNzYWdlKTsKLSAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVycm9yKTsKLSAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGNsb3NlKTsKLQogICAgIC8vIEV2ZW50VGFyZ2V0IGZ1bmN0aW9ucy4K
ICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvRm9udExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRMb2FkZXIu
aAppbmRleCA2MjRkMTYxYjdmZTBjMzZlOTAxZTYxMzhhNWJjNWFmMzdkMzE1MjI1Li40MTcxZDZj
NmY0ZGMyMTVkNTBkYTJkZGI2NmE0ZTIzYjA5M2M4ZmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250TG9hZGVy
LmgKQEAgLTU3LDEyICs1Nyw2IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCB+Rm9udExv
YWRlcigpOwogCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkaW5nKTsK
LSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWRpbmdkb25lKTsKLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWRzdGFydCk7Ci0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGVycm9yKTsKLQogICAgIGJvb2wgY2hlY2tGb250KGNvbnN0IFN0cmluZyYsIGNv
bnN0IFN0cmluZyYpOwogICAgIHZvaWQgbG9hZEZvbnQoY29uc3QgRGljdGlvbmFyeSYpOwogICAg
IHZvaWQgbG9hZEZvbnREb25lKGNvbnN0IExvYWRGb250Q2FsbGJhY2smKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKaW5kZXggM2YxMTMxOTQ5ZDI1ZmVlZjY4YTVlZDYwNjI1ZTEwYTFjNTU2ZGZmNi4uNTky
NjM0NDc4MTc2MmVlN2IwYmI0ODk2OWM2YWQ2YjViMTM2OGJlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKQEAgLTMyNCw4MiArMzI0LDYgQEAgcHVibGljOgogCiAgICAgLy8gRE9NIG1ldGhvZHMgJiBh
dHRyaWJ1dGVzIGZvciBEb2N1bWVudAogCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihhYm9ydCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjaGFuZ2Up
OwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY2xpY2spOwotICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY29udGV4dG1lbnUpOwotICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoZGJsY2xpY2spOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoZHJhZ2VudGVyKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGRyYWdvdmVyKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRyYWds
ZWF2ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkcm9wKTsKLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRyYWdzdGFydCk7Ci0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihkcmFnKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGRyYWdlbmQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
aW5wdXQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoaW52YWxpZCk7Ci0g
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihrZXlkb3duKTsKLSAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGtleXByZXNzKTsKLSAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGtleXVwKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKG1vdXNlZG93bik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtb3Vz
ZWVudGVyKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNlbGVhdmUp
OwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2Vtb3ZlKTsKLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNlb3V0KTsKLSAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNlb3Zlcik7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihtb3VzZXVwKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKG1vdXNld2hlZWwpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoc2Ny
b2xsKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHNlbGVjdCk7Ci0gICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzdWJtaXQpOwotI2lmIEVOQUJMRShXSUxM
X1JFVkVBTF9FREdFX0VWRU5UUykKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHdlYmtpdHdpbGxyZXZlYWxib3R0b20pOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIod2Via2l0d2lsbHJldmVhbGxlZnQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIod2Via2l0d2lsbHJldmVhbHJpZ2h0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHdlYmtpdHdpbGxyZXZlYWx0b3ApOwotI2VuZGlmCi0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUih3aGVlbCk7Ci0KLSAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGJsdXIpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
ZXJyb3IpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZm9jdXMpOwotICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobG9hZCk7Ci0gICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihyZWFkeXN0YXRlY2hhbmdlKTsKLQotICAgIC8vIFdlYktpdCBl
eHRlbnNpb25zCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihiZWZvcmVjdXQp
OwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoY3V0KTsKLSAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9yZWNvcHkpOwotICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoY29weSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihiZWZvcmVwYXN0ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihw
YXN0ZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZXNldCk7Ci0gICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzZWFyY2gpOwotICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoc2VsZWN0c3RhcnQpOwotICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoc2VsZWN0aW9uY2hhbmdlKTsKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRT
KQotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hzdGFydCk7Ci0gICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3VjaG1vdmUpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hlbmQpOwotICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIodG91Y2hjYW5jZWwpOwotI2VuZGlmCi0jaWYgRU5BQkxFKElPU19HRVNU
VVJFX0VWRU5UUykKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGdlc3R1cmVz
dGFydCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihnZXN0dXJlY2hhbmdl
KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGdlc3R1cmVlbmQpOwotI2Vu
ZGlmCi0jaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmNoYW5nZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih3ZWJraXRmdWxsc2NyZWVuZXJyb3IpOwotI2VuZGlmCi0jaWYgRU5B
QkxFKFBPSU5URVJfTE9DSykKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBv
aW50ZXJsb2NrY2hhbmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBv
aW50ZXJsb2NrZXJyb3IpOwotI2VuZGlmCi0jaWYgRU5BQkxFKENTUF9ORVhUKQotICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24pOwotI2Vu
ZGlmCi0KICAgICB2b2lkIHNldFZpZXdwb3J0QXJndW1lbnRzKGNvbnN0IFZpZXdwb3J0QXJndW1l
bnRzJiB2aWV3cG9ydEFyZ3VtZW50cykgeyBtX3ZpZXdwb3J0QXJndW1lbnRzID0gdmlld3BvcnRB
cmd1bWVudHM7IH0KICAgICBWaWV3cG9ydEFyZ3VtZW50cyB2aWV3cG9ydEFyZ3VtZW50cygpIGNv
bnN0IHsgcmV0dXJuIG1fdmlld3BvcnRBcmd1bWVudHM7IH0KICNpZm5kZWYgTkRFQlVHCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKaW5kZXggN2RmZWNiZDVlNWVhNjJjNDA3YmI1ZDhkMTdhMjUzMTZmYTFi
MzVhZi4uMGM4MjdjOGIzZTJlMjBiMGIwYjA0ZjYxYmI2MDkzODE1ZTQwYWY4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcApAQCAtMjk3LDExICsyOTcsNiBAQCB2b2lkIEVsZW1lbnQ6OmRpc3BhdGNo
U2ltdWxhdGVkQ2xpY2soRXZlbnQqIHVuZGVybHlpbmdFdmVudCwgU2ltdWxhdGVkQ2xpY2tNb3Vz
ZQogICAgIEV2ZW50RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hTaW11bGF0ZWRDbGljayh0aGlzLCB1bmRl
cmx5aW5nRXZlbnQsIGV2ZW50T3B0aW9ucywgdmlzdWFsT3B0aW9ucyk7CiB9CiAKLURFRklORV9W
SVJUVUFMX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihFbGVtZW50LCBibHVyKTsKLURFRklORV9W
SVJUVUFMX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihFbGVtZW50LCBlcnJvcik7Ci1ERUZJTkVf
VklSVFVBTF9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoRWxlbWVudCwgZm9jdXMpOwotREVGSU5F
X1ZJUlRVQUxfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKEVsZW1lbnQsIGxvYWQpOwotCiBSZWZQ
dHI8Tm9kZT4gRWxlbWVudDo6Y2xvbmVOb2RlSW50ZXJuYWwoRG9jdW1lbnQmIHRhcmdldERvY3Vt
ZW50LCBDbG9uaW5nT3BlcmF0aW9uIHR5cGUpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAppbmRleCBmOTExNWJmZDQwMTIwNDc4ZTAzMDYyYmExMGMwOWI2OTFjMzdiOTZj
Li4xN2NhZTM4NzViNTkzNWNmNjY1NzI5MTBlMzU0ZDE4YTE5OTdjYzNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKQEAgLTYyLDc1ICs2Miw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEVsZW1lbnQ+
IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKICAgICB2aXJ0dWFsIH5F
bGVtZW50KCk7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFib3J0KTsK
LSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNoYW5nZSk7Ci0gICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjbGljayk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihjb250ZXh0bWVudSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihkYmxjbGljayk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihk
cmFnZW50ZXIpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZ292ZXIp
OwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZ2xlYXZlKTsKLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRyb3ApOwotICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoZHJhZ3N0YXJ0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGRyYWcpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJh
Z2VuZCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihpbnB1dCk7Ci0gICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihpbnZhbGlkKTsKLSAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKGtleWRvd24pOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoa2V5cHJlc3MpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoa2V5dXApOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2Vkb3du
KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNlZW50ZXIpOwotICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2VsZWF2ZSk7Ci0gICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtb3VzZW1vdmUpOwotICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIobW91c2VvdXQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRf
TElTVEVORVIobW91c2VvdmVyKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KG1vdXNldXApOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobW91c2V3aGVl
bCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzY3JvbGwpOwotICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoc2VsZWN0KTsKLSAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHN1Ym1pdCk7Ci0jaWYgRU5BQkxFKFdJTExfUkVWRUFMX0VER0Vf
RVZFTlRTKQotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0d2lsbHJl
dmVhbGJvdHRvbSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXR3
aWxscmV2ZWFsbGVmdCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJr
aXR3aWxscmV2ZWFscmlnaHQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
d2Via2l0d2lsbHJldmVhbHRvcCk7Ci0jZW5kaWYKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKHdoZWVsKTsKLQotICAgIC8vIFRoZXNlIGZvdXIgYXR0cmlidXRlIGV2ZW50IGhh
bmRsZXIgYXR0cmlidXRlcyBhcmUgb3ZlcnJpZGRlbiBieSBIVE1MQm9keUVsZW1lbnQKLSAgICAv
LyBhbmQgSFRNTEZyYW1lU2V0RWxlbWVudCB0byBmb3J3YXJkIHRvIHRoZSBET01XaW5kb3cuCi0g
ICAgREVDTEFSRV9WSVJUVUFMX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihibHVyKTsKLSAgICBE
RUNMQVJFX1ZJUlRVQUxfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVycm9yKTsKLSAgICBERUNM
QVJFX1ZJUlRVQUxfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGZvY3VzKTsKLSAgICBERUNMQVJF
X1ZJUlRVQUxfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWQpOwotCi0gICAgLy8gV2ViS2l0
IGV4dGVuc2lvbnMKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9yZWN1
dCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihjdXQpOwotICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmVmb3JlY29weSk7Ci0gICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihjb3B5KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGJlZm9yZXBhc3RlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KHBhc3RlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlc2V0KTsKLSAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHNlYXJjaCk7Ci0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihzZWxlY3RzdGFydCk7Ci0jaWYgRU5BQkxFKFRPVUNIX0VW
RU5UUykKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoc3RhcnQpOwot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2htb3ZlKTsKLSAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoZW5kKTsKLSAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKHRvdWNoY2FuY2VsKTsKLSNlbmRpZgotI2lmIEVOQUJMRShJT1Nf
R0VTVFVSRV9FVkVOVFMpCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihnZXN0
dXJlc3RhcnQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZ2VzdHVyZWNo
YW5nZSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihnZXN0dXJlZW5kKTsK
LSNlbmRpZgotI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKLSAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UpOwotICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0ZnVsbHNjcmVlbmVycm9yKTsKLSNlbmRpZgotCiAg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IEF0b21pY1N0cmluZyYgZ2V0QXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHNldEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJiB2
YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IDU1NDJhYTkxNDBjZDBlOGIwOTlk
Yzg3ZWRhNDcyYzYzNTQ5MzNmZmMuLmY2NDgwZGE3MmZkYzc4MTIxNDIyOWVmYzEyMDFkYTkzMjcy
ZWMzMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC0xNjcsMzYgKzE2Nyw2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXRE
YXRhOwogICAgIH07CiAKLSAgICAvLyBGSVhNRTogVGhlc2UgbWFjcm9zIHNob3VsZCBiZSBzcGxp
dCBpbnRvIHNlcGFyYXRlIERFRklORSBhbmQgREVDTEFSRQotICAgIC8vIG1hY3JvcyB0byBhdm9p
ZCBjYXVzaW5nIHNvIG1hbnkgaGVhZGVyIGluY2x1ZGVzLgotICAgICNkZWZpbmUgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihhdHRyaWJ1dGUpIFwKLSAgICAgICAgRXZlbnRMaXN0ZW5l
ciogb24jI2F0dHJpYnV0ZSgpIHsgcmV0dXJuIGdldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZl
bnROYW1lcygpLmF0dHJpYnV0ZSMjRXZlbnQpOyB9IFwKLSAgICAgICAgdm9pZCBzZXRPbiMjYXR0
cmlidXRlKFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIpIHsgc2V0QXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXR0cmlidXRlIyNFdmVudCwgbGlzdGVuZXIpOyB9
IFwKLQotICAgICNkZWZpbmUgREVDTEFSRV9WSVJUVUFMX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihhdHRyaWJ1dGUpIFwKLSAgICAgICAgdmlydHVhbCBFdmVudExpc3RlbmVyKiBvbiMjYXR0cmli
dXRlKCk7IFwKLSAgICAgICAgdmlydHVhbCB2b2lkIHNldE9uIyNhdHRyaWJ1dGUoUGFzc1JlZlB0
cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lcik7IFwKLQotICAgICNkZWZpbmUgREVGSU5FX1ZJUlRV
QUxfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHR5cGUsIGF0dHJpYnV0ZSkgXAotICAgICAgICBF
dmVudExpc3RlbmVyKiB0eXBlOjpvbiMjYXR0cmlidXRlKCkgeyByZXR1cm4gZ2V0QXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXR0cmlidXRlIyNFdmVudCk7IH0gXAotICAgICAg
ICB2b2lkIHR5cGU6OnNldE9uIyNhdHRyaWJ1dGUoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBs
aXN0ZW5lcikgeyBzZXRBdHRyaWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5hdHRyaWJ1
dGUjI0V2ZW50LCBsaXN0ZW5lcik7IH0gXAotCi0gICAgI2RlZmluZSBERUZJTkVfV0lORE9XX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihhdHRyaWJ1dGUpIFwKLSAgICAgICAgRXZlbnRMaXN0ZW5l
ciogb24jI2F0dHJpYnV0ZSgpIHsgcmV0dXJuIGRvY3VtZW50KCkuZ2V0V2luZG93QXR0cmlidXRl
RXZlbnRMaXN0ZW5lcihldmVudE5hbWVzKCkuYXR0cmlidXRlIyNFdmVudCk7IH0gXAotICAgICAg
ICB2b2lkIHNldE9uIyNhdHRyaWJ1dGUoUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5l
cikgeyBkb2N1bWVudCgpLnNldFdpbmRvd0F0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1l
cygpLmF0dHJpYnV0ZSMjRXZlbnQsIGxpc3RlbmVyKTsgfSBcCi0KLSAgICAjZGVmaW5lIERFRklO
RV9NQVBQRURfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGF0dHJpYnV0ZSwgZXZlbnROYW1lKSBc
Ci0gICAgICAgIEV2ZW50TGlzdGVuZXIqIG9uIyNhdHRyaWJ1dGUoKSB7IHJldHVybiBnZXRBdHRy
aWJ1dGVFdmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5ldmVudE5hbWUjI0V2ZW50KTsgfSBcCi0g
ICAgICAgIHZvaWQgc2V0T24jI2F0dHJpYnV0ZShQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxp
c3RlbmVyKSB7IHNldEF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmV2ZW50TmFt
ZSMjRXZlbnQsIGxpc3RlbmVyKTsgfSBcCi0KLSAgICAjZGVmaW5lIERFQ0xBUkVfRk9SV0FSRElO
R19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocmVjaXBpZW50LCBhdHRyaWJ1dGUpIFwKLSAgICAg
ICAgRXZlbnRMaXN0ZW5lciogb24jI2F0dHJpYnV0ZSgpOyBcCi0gICAgICAgIHZvaWQgc2V0T24j
I2F0dHJpYnV0ZShQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyKTsKLQotICAgICNk
ZWZpbmUgREVGSU5FX0ZPUldBUkRJTkdfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHR5cGUsIHJl
Y2lwaWVudCwgYXR0cmlidXRlKSBcCi0gICAgICAgIEV2ZW50TGlzdGVuZXIqIHR5cGU6Om9uIyNh
dHRyaWJ1dGUoKSB7IHJldHVybiByZWNpcGllbnQgPyByZWNpcGllbnQtPmdldEF0dHJpYnV0ZUV2
ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmF0dHJpYnV0ZSMjRXZlbnQpIDogMDsgfSBcCi0gICAg
ICAgIHZvaWQgdHlwZTo6c2V0T24jI2F0dHJpYnV0ZShQYXNzUmVmUHRyPEV2ZW50TGlzdGVuZXI+
IGxpc3RlbmVyKSB7IGlmIChyZWNpcGllbnQpIHJlY2lwaWVudC0+c2V0QXR0cmlidXRlRXZlbnRM
aXN0ZW5lcihldmVudE5hbWVzKCkuYXR0cmlidXRlIyNFdmVudCwgbGlzdGVuZXIpOyB9Ci0KICAg
ICBpbmxpbmUgdm9pZCBFdmVudFRhcmdldDo6dmlzaXRKU0V2ZW50TGlzdGVuZXJzKEpTQzo6U2xv
dFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgewogICAgICAgICBFdmVudExpc3RlbmVySXRlcmF0b3Ig
aXRlcmF0b3IodGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVzc2FnZVBv
cnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCmluZGV4IGJjN2E0NTc4MTM0
YjEyNjgwNTdjZDljNWQwNDI1NjQwNzRmYWRmNDguLjk3NDQ1ZDViNGRhNjEwMTZhZWQwYzlhZmM1
ZjM3ZjAxZTEwNWM1MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9y
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZXNzYWdlUG9ydC5oCkBAIC04MiwxMiArODIs
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZp
dHkoKTsKIAotICAgICAgICB2b2lkIHNldE9ubWVzc2FnZShQYXNzUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+IGxpc3RlbmVyKQotICAgICAgICB7Ci0gICAgICAgICAgICBzZXRBdHRyaWJ1dGVFdmVudExp
c3RlbmVyKGV2ZW50TmFtZXMoKS5tZXNzYWdlRXZlbnQsIGxpc3RlbmVyKTsKLSAgICAgICAgfQot
ICAgICAgICBFdmVudExpc3RlbmVyKiBvbm1lc3NhZ2UoKSB7IHJldHVybiBnZXRBdHRyaWJ1dGVF
dmVudExpc3RlbmVyKGV2ZW50TmFtZXMoKS5tZXNzYWdlRXZlbnQpOyB9Ci0KICAgICAgICAgLy8g
UmV0dXJucyBudWxsIGlmIHRoZXJlIGlzIG5vIGVudGFuZ2xlZCBwb3J0LCBvciBpZiB0aGUgZW50
YW5nbGVkIHBvcnQgaXMgcnVuIGJ5IGEgZGlmZmVyZW50IHRocmVhZC4KICAgICAgICAgLy8gVGhp
cyBpcyB1c2VkIHNvbGVseSB0byBlbmFibGUgYSBHQyBvcHRpbWl6YXRpb24uIFNvbWUgcGxhdGZv
cm1zIG1heSBub3QgYmUgYWJsZSB0byBkZXRlcm1pbmUgb3duZXJzaGlwCiAgICAgICAgIC8vIG9m
IHRoZSByZW1vdGUgcG9ydCAoc2luY2UgaXQgbWF5IGxpdmUgY3Jvc3MtcHJvY2VzcykgLSB0aG9z
ZSBwbGF0Zm9ybXMgbWF5IGFsd2F5cyByZXR1cm4gbnVsbC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlci5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxl
UmVhZGVyLmgKaW5kZXggODlmY2IyYTBiN2Y4MzdmMzBmYTdlNTg0YmExM2E1NjEzYzA1ZjdlZC4u
MDBkYzllOTEyZGY1MmFmNGQxMTZmNjc2NzMwMDg4OTQ5MWVhMjdmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9GaWxlUmVhZGVyLmgKQEAgLTkyLDEzICs5Miw2IEBAIHB1YmxpYzoKICAgICB1c2luZyBS
ZWZDb3VudGVkPEZpbGVSZWFkZXI+OjpyZWY7CiAgICAgdXNpbmcgUmVmQ291bnRlZDxGaWxlUmVh
ZGVyPjo6ZGVyZWY7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWRz
dGFydCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihwcm9ncmVzcyk7Ci0g
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkKTsKLSAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKGFib3J0KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGVycm9yKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxv
YWRlbmQpOwotCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEZpbGVSZWFkZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaAppbmRleCA5
YmRkYzk2NTQ4NzQ2YmY3MDhlMzI5YmY0ZTIyZGRjYTViZjNiODM3Li4yODM5OGQzM2Q5YzYzYzdh
ZWIyYzRlZDEzNjA4ZDFmN2ExYTA0OTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxCb2R5RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVt
ZW50LmgKQEAgLTM2LDI2ICszNiw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxCb2R5
RWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZp
cnR1YWwgfkhUTUxCb2R5RWxlbWVudCgpOwogCi0gICAgLy8gRGVjbGFyZWQgdmlydHVhbCBpbiBF
bGVtZW50Ci0gICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmx1cik7
Ci0gICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwotICAg
IERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGZvY3VzKTsKLSAgICBERUZJ
TkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkKTsKLQotICAgIERFRklORV9X
SU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9yZXVubG9hZCk7Ci0gICAgREVGSU5F
X1dJTkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoaGFzaGNoYW5nZSk7Ci0gICAgREVGSU5F
X1dJTkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobWVzc2FnZSk7Ci0gICAgREVGSU5FX1dJ
TkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIob2ZmbGluZSk7Ci0gICAgREVGSU5FX1dJTkRP
V19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIob25saW5lKTsKLSAgICBERUZJTkVfV0lORE9XX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihwb3BzdGF0ZSk7Ci0gICAgREVGSU5FX1dJTkRPV19BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIocmVzaXplKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUihzdG9yYWdlKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUih1bmxvYWQpOwotCi0jaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykK
LSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihvcmllbnRhdGlvbmNo
YW5nZSk7Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBIVE1MQm9keUVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEZvcm1FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5oCmluZGV4IDcxMjVlZTMwNzM3Yjc0ZTJiYmY0MzMzMDhiNzNjNTgxZjg4ZWI1NjkuLjAwNTE1
YTNiNDA4OWE5YWQzN2RjNzI4YmI0NjBiNDQ5YmFlNzI5NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUVsZW1lbnQuaApAQCAtMTI1LDkgKzEyNSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
cmVxdWVzdEF1dG9jb21wbGV0ZSgpOwogICAgIHZvaWQgZmluaXNoUmVxdWVzdEF1dG9jb21wbGV0
ZShBdXRvY29tcGxldGVSZXN1bHQpOwotCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihhdXRvY29tcGxldGUpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
YXV0b2NvbXBsZXRlZXJyb3IpOwogI2VuZGlmCiAKICAgICBDaGVja2VkUmFkaW9CdXR0b25zJiBj
aGVja2VkUmFkaW9CdXR0b25zKCkgeyByZXR1cm4gbV9jaGVja2VkUmFkaW9CdXR0b25zOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVudC5oCmluZGV4IDI4OTNhNGNmN2Jm
Yzg1YTNkZGI3Nzc2MWRmZmY1Mzg3MjAxMDliNzIuLmZiYjNjYTA2YmFlY2MzZDQ2ZDdmNDZiMzk1
MmM0NTM5MGY3NWJkYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1l
U2V0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZyYW1lU2V0RWxlbWVu
dC5oCkBAIC00NywyNSArNDcsNiBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgSFRNTEZyYW1lU2V0
RWxlbWVudCogZmluZENvbnRhaW5pbmcoRWxlbWVudCogZGVzY2VuZGFudCk7CiAKLSAgICAvLyBE
ZWNsYXJlZCB2aXJ0dWFsIGluIEVsZW1lbnQKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihibHVyKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihlcnJvcik7Ci0gICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoZm9jdXMpOwotICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxv
YWQpOwotCi0gICAgREVGSU5FX1dJTkRPV19BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYmVmb3Jl
dW5sb2FkKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihoYXNo
Y2hhbmdlKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtZXNz
YWdlKTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihvZmZsaW5l
KTsKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihvbmxpbmUpOwot
ICAgIERFRklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBvcHN0YXRlKTsKLSAg
ICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZXNpemUpOwotICAgIERF
RklORV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHN0b3JhZ2UpOwotICAgIERFRklO
RV9XSU5ET1dfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHVubG9hZCk7Ci0jaWYgRU5BQkxFKE9S
SUVOVEFUSU9OX0VWRU5UUykKLSAgICBERUZJTkVfV0lORE9XX0FUVFJJQlVURV9FVkVOVF9MSVNU
RU5FUihvcmllbnRhdGlvbmNoYW5nZSk7Ci0jZW5kaWYKLQogcHJpdmF0ZToKICAgICBIVE1MRnJh
bWVTZXRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCmluZGV4IDBhMzhlYTQwNjNmNTcxZmRhYmQyNWM3
NGQ3MDJiMmRmMzA0N2Y3ZmMuLjljZDgyOGNmYjMwNzgxYWRlZDg3ZGQ5YjU0MjdkZjcwNTMyMDFi
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC02Niw4ICs2Niw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhUTUxJbnB1dEVsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBIVE1MRm9ybUVsZW1lbnQqLCBib29sIGNyZWF0
ZWRCeVBhcnNlcik7CiAgICAgdmlydHVhbCB+SFRNTElucHV0RWxlbWVudCgpOwogCi0gICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRzcGVlY2hjaGFuZ2UpOwotCiAgICAg
dmlydHVhbCBIVE1MSW5wdXRFbGVtZW50KiB0b0lucHV0RWxlbWVudCgpIG92ZXJyaWRlIGZpbmFs
IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgYm9vbCBzaG91
bGRBdXRvY29tcGxldGUoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKaW5kZXggMjQxOTQxNjFmYmViOWYwMWExODAyZTYxN2YyZmQxNTJh
N2E4OGM1OC4uMzFkZmE3NjMwZDBiYmJhM2RmYjg2MTNkODVhMjdiNDZiZWIxNTU1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKQEAgLTIzMiwxMyArMjMyLDYgQEAgcHVi
bGljOgogICAgIHZvaWQgd2Via2l0QWRkS2V5KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBQYXNz
UmVmUHRyPFVpbnQ4QXJyYXk+IGtleSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBpbml0RGF0YSwg
Y29uc3QgU3RyaW5nJiBzZXNzaW9uSWQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHdlYmtp
dEFkZEtleShjb25zdCBTdHJpbmcmIGtleVN5c3RlbSwgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBr
ZXksIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHdlYmtpdENhbmNlbEtleVJlcXVlc3QoY29u
c3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkLCBFeGNlcHRpb25D
b2RlJik7Ci0KLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGtleWFk
ZGVkKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGtleWVycm9y
KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGtleW1lc3NhZ2Up
OwotI2VuZGlmCi0jaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkgfHwgRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQV9WMikKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdG5l
ZWRrZXkpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBX1YyKQpAQCAtMjY4
LDIxICsyNjEsNiBAQCBwdWJsaWM6CiAKICAgICBkb3VibGUgcGVyY2VudExvYWRlZCgpIGNvbnN0
OwogCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlbXB0aWVkKTsKLSAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWRlZG1ldGFkYXRhKTsKLSAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWRlZGRhdGEpOwotICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoY2FucGxheSk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUihjYW5wbGF5dGhyb3VnaCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihwbGF5aW5nKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVu
ZGVkKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdhaXRpbmcpOwotICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHVyYXRpb25jaGFuZ2UpOwotICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodGltZXVwZGF0ZSk7Ci0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihwbGF5KTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKHBhdXNlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJh
dGVjaGFuZ2UpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodm9sdW1lY2hh
bmdlKTsKLQogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBQYXNzUmVmUHRyPFRleHRUcmFj
az4gYWRkVGV4dFRyYWNrKGNvbnN0IFN0cmluZyYga2luZCwgY29uc3QgU3RyaW5nJiBsYWJlbCwg
Y29uc3QgU3RyaW5nJiBsYW5ndWFnZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFBhc3NSZWZQdHI8
VGV4dFRyYWNrPiBhZGRUZXh0VHJhY2soY29uc3QgU3RyaW5nJiBraW5kLCBjb25zdCBTdHJpbmcm
IGxhYmVsLCBFeGNlcHRpb25Db2RlJiBlYykgeyByZXR1cm4gYWRkVGV4dFRyYWNrKGtpbmQsIGxh
YmVsLCBlbXB0eVN0cmluZygpLCBlYyk7IH0KQEAgLTM4MCw5ICszNTgsNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVu
dFR5cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4sIGJvb2wgdXNlQ2FwdHVyZSkgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3Ry
aW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIqLCBib29sIHVzZUNhcHR1cmUpIG92ZXJyaWRl
OwogICAgIHZpcnR1YWwgdm9pZCB3aXJlbGVzc1JvdXRlc0F2YWlsYWJsZURpZENoYW5nZSgpIG92
ZXJyaWRlOwotCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRjdXJy
ZW50cGxheWJhY2t0YXJnZXRpc3dpcmVsZXNzY2hhbmdlZCk7Ci0gICAgREVGSU5FX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih3ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWQp
OwogI2VuZGlmCiAKICAgICAvLyBFdmVudFRhcmdldCBmdW5jdGlvbi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVmlkZW9FbGVtZW50LmgKaW5kZXggNzBmMzQwY2NjZjY1ZWEyMTZjMTdlZmI3OGFhODM1
NjEwNjMzYzIzNS4uOWYzZDE5Y2M0MmMzMzQwN2FjNGEzOGJjOTJmMWY5ZjcyNzVmNTY2OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmgKQEAgLTgzLDggKzgzLDYgQEAgcHVi
bGljOgogICAgIHZvaWQgd2Via2l0U2V0UHJlc2VudGF0aW9uTW9kZShjb25zdCBTdHJpbmcmKTsK
ICAgICBTdHJpbmcgd2Via2l0UHJlc2VudGF0aW9uTW9kZSgpIGNvbnN0OwogICAgIHZpcnR1YWwg
dm9pZCBmdWxsc2NyZWVuTW9kZUNoYW5nZWQoVmlkZW9GdWxsc2NyZWVuTW9kZSkgb3ZlcnJpZGU7
Ci0KLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHByZXNlbnRhdGlv
bm1vZGVjaGFuZ2VkKTsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2sv
VGV4dFRyYWNrLmgKaW5kZXggYjljZDk3ZmViOTY3YTRiYjFjYjExYzIwNDBjYTRhY2FhZTc0YjQ4
Yy4uNDAzOTcyNTI4NDU1ZDBlNTFjNzY2MDJiYjg0NzM2NjJkNjg4OGEzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3RyYWNrL1RleHRUcmFjay5oCkBAIC0xMjMsOCArMTIzLDYgQEAgcHVibGljOgogICAg
IHZvaWQgY3VlV2lsbENoYW5nZShUZXh0VHJhY2tDdWUqKTsKICAgICB2b2lkIGN1ZURpZENoYW5n
ZShUZXh0VHJhY2tDdWUqKTsKIAotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
Y3VlY2hhbmdlKTsKLQogICAgIGVudW0gVGV4dFRyYWNrVHlwZSB7IFRyYWNrRWxlbWVudCwgQWRk
VHJhY2ssIEluQmFuZCB9OwogICAgIFRleHRUcmFja1R5cGUgdHJhY2tUeXBlKCkgY29uc3QgeyBy
ZXR1cm4gbV90cmFja1R5cGU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90
cmFjay9UZXh0VHJhY2tDdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNr
Q3VlLmgKaW5kZXggOTUxZmU4YzdiNTFjMzRiZmFkNWI2ZDY4NjRjZWJlNDM0NGE1YTAwMC4uZWMy
YWIyMmUyZjc2M2U4NDA3ZmEzZDE4OWQ5NmRiYzBlOGQ2Y2I4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL1RleHRUcmFja0N1ZS5oCkBAIC0xMTEsOSArMTExLDYgQEAgcHVibGljOgogICAg
IHZvaWQgd2lsbENoYW5nZSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2UoKTsKIAotICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZW50ZXIpOwotICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoZXhpdCk7Ci0KICAgICB1c2luZyBSZWZDb3VudGVkPFRleHRU
cmFja0N1ZT46OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkPFRleHRUcmFja0N1ZT46OmRlcmVm
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrTGlzdEJhc2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tMaXN0QmFzZS5oCmluZGV4IDAyNzI2
YzMwNmVhN2M2MWNiNzZlODEwMWQ2ODZiMjgzMjBkZDBhZTQuLjY3OTlmNDVjYmFkMTk5MTNlYTRk
OWZiZTYxZjRlZjBkMzFlYzk2ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svVHJhY2tMaXN0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svVHJhY2tM
aXN0QmFzZS5oCkBAIC01NiwxMCArNTYsNiBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUmVmQ291bnRl
ZDxUcmFja0xpc3RCYXNlPjo6ZGVyZWY7CiAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUgZmluYWwgeyByZXR1
cm4gbV9jb250ZXh0OyB9CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFk
ZHRyYWNrKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNoYW5nZSk7Ci0g
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZW1vdmV0cmFjayk7Ci0KICAgICB2
b2lkIGNsZWFyRWxlbWVudCgpIHsgbV9lbGVtZW50ID0gMDsgfQogICAgIEVsZW1lbnQqIGVsZW1l
bnQoKSBjb25zdDsKICAgICBIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQoKSBjb25zdCB7
IHJldHVybiBtX2VsZW1lbnQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5oCmluZGV4IGNkZGY3NGRlYWJiMzdhMDI1ZmE3ZDdm
OWFiZGM5ZjM3ZDFhNzNiNGYuLjQ0ZjEyMTg0ZTdkMGZmNjhiNDRlOTFjYTMzNTRkNWM5N2Q5OTVm
ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNh
dGlvbkNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNhY2hlL0RPTUFwcGxp
Y2F0aW9uQ2FjaGUuaApAQCAtNTgsMTcgKzU4LDYgQEAgcHVibGljOgogICAgIHVzaW5nIFJlZkNv
dW50ZWQ8RE9NQXBwbGljYXRpb25DYWNoZT46OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkPERP
TUFwcGxpY2F0aW9uQ2FjaGU+OjpkZXJlZjsKIAotICAgIC8vIEV4cGxpY2l0bHkgbmFtZWQgYXR0
cmlidXRlIGV2ZW50IGxpc3RlbmVyIGhlbHBlcnMKLQotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoY2hlY2tpbmcpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoZXJyb3IpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobm91cGRhdGUp
OwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZG93bmxvYWRpbmcpOwotICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocHJvZ3Jlc3MpOwotICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIodXBkYXRlcmVhZHkpOwotICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoY2FjaGVkKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKG9ic29sZXRlKTsKLQogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZl
bnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBET01BcHBsaWNhdGlv
bkNhY2hlRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CiAgICAgdmlydHVhbCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGU7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDRiYjkxZGRjZDYxZjhlMmJkNmE4MDU3ZTE4OTQx
NTE5NGUzNmE4MWQuLjU2NTNlY2U0ODMyNjFlMmVjOGU4MGFmZmQyMDZlODYzMjhmMjhkYTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMjgyLDkwICsyODIsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICAgICAgdm9pZCBkaXNwYXRjaExvYWRFdmVudCgpOwogCi0gICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYWJvcnQpOwotICAgICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKGJlZm9yZXVubG9hZCk7Ci0gICAgICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIoYmx1cik7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoY2FucGxheSk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoY2FucGxheXRocm91Z2gpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGNoYW5nZSk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
Y2xpY2spOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGNvbnRleHRt
ZW51KTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkYmxjbGljayk7
Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZyk7Ci0gICAgICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZ2VuZCk7Ci0gICAgICAgIERFRklO
RV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZHJhZ2VudGVyKTsKLSAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihkcmFnbGVhdmUpOwotICAgICAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKGRyYWdvdmVyKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihkcmFnc3RhcnQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKGRyb3ApOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGR1cmF0aW9uY2hhbmdlKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihlbXB0aWVkKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihlbmRl
ZCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwotICAg
ICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGZvY3VzKTsKLSAgICAgICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihoYXNoY2hhbmdlKTsKLSAgICAgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihpbnB1dCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIoaW52YWxpZCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIoa2V5ZG93bik7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIoa2V5cHJlc3MpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVS
KGtleXVwKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkKTsK
LSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkZWRkYXRhKTsKLSAg
ICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihsb2FkZWRtZXRhZGF0YSk7Ci0g
ICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobG9hZHN0YXJ0KTsKLSAgICAg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtZXNzYWdlKTsKLSAgICAgICAgREVG
SU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihtb3VzZWRvd24pOwotICAgICAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNlZW50ZXIpOwotICAgICAgICBERUZJTkVfQVRU
UklCVVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNlbGVhdmUpOwotICAgICAgICBERUZJTkVfQVRUUklC
VVRFX0VWRU5UX0xJU1RFTkVSKG1vdXNlbW92ZSk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIobW91c2VvdXQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKG1vdXNlb3Zlcik7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElT
VEVORVIobW91c2V1cCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
bW91c2V3aGVlbCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIob2Zm
bGluZSk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIob25saW5lKTsK
LSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihwYWdlaGlkZSk7Ci0gICAg
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocGFnZXNob3cpOwotICAgICAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHBhdXNlKTsKLSAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihwbGF5KTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9F
VkVOVF9MSVNURU5FUihwbGF5aW5nKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9M
SVNURU5FUihwb3BzdGF0ZSk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIocHJvZ3Jlc3MpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJh
dGVjaGFuZ2UpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHJlc2V0
KTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZXNpemUpOwotICAg
ICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHNjcm9sbCk7Ci0gICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoc2VhcmNoKTsKLSAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihzZWVrZWQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKHNlZWtpbmcpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKHNlbGVjdCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoc3RhbGxlZCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoc3Rv
cmFnZSk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoc3VibWl0KTsK
LSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihzdXNwZW5kKTsKLSAgICAg
ICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0aW1ldXBkYXRlKTsKLSAgICAgICAg
REVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih1bmxvYWQpOwotICAgICAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHZvbHVtZWNoYW5nZSk7Ci0gICAgICAgIERFRklORV9B
VFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2FpdGluZyk7Ci0gICAgICAgIERFRklORV9BVFRSSUJV
VEVfRVZFTlRfTElTVEVORVIod2Via2l0YmVnaW5mdWxsc2NyZWVuKTsKLSAgICAgICAgREVGSU5F
X0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRlbmRmdWxsc2NyZWVuKTsKLSNpZiBFTkFC
TEUoV0lMTF9SRVZFQUxfRURHRV9FVkVOVFMpCi0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIod2Via2l0d2lsbHJldmVhbGJvdHRvbSk7Ci0gICAgICAgIERFRklORV9BVFRS
SUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0d2lsbHJldmVhbGxlZnQpOwotICAgICAgICBERUZJ
TkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdHdpbGxyZXZlYWxyaWdodCk7Ci0gICAg
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0d2lsbHJldmVhbHRvcCk7
Ci0jZW5kaWYKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3aGVlbCk7
Ci0KLSAgICAgICAgREVGSU5FX01BUFBFRF9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0
YW5pbWF0aW9uc3RhcnQsIHdlYmtpdEFuaW1hdGlvblN0YXJ0KTsKLSAgICAgICAgREVGSU5FX01B
UFBFRF9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIod2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uLCB3
ZWJraXRBbmltYXRpb25JdGVyYXRpb24pOwotICAgICAgICBERUZJTkVfTUFQUEVEX0FUVFJJQlVU
RV9FVkVOVF9MSVNURU5FUih3ZWJraXRhbmltYXRpb25lbmQsIHdlYmtpdEFuaW1hdGlvbkVuZCk7
Ci0gICAgICAgIERFRklORV9NQVBQRURfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFuaW1hdGlv
bnN0YXJ0LCBhbmltYXRpb25zdGFydCk7Ci0gICAgICAgIERFRklORV9NQVBQRURfQVRUUklCVVRF
X0VWRU5UX0xJU1RFTkVSKGFuaW1hdGlvbml0ZXJhdGlvbiwgYW5pbWF0aW9uaXRlcmF0aW9uKTsK
LSAgICAgICAgREVGSU5FX01BUFBFRF9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoYW5pbWF0aW9u
ZW5kLCBhbmltYXRpb25lbmQpOwotICAgICAgICBERUZJTkVfTUFQUEVEX0FUVFJJQlVURV9FVkVO
VF9MSVNURU5FUih3ZWJraXR0cmFuc2l0aW9uZW5kLCB3ZWJraXRUcmFuc2l0aW9uRW5kKTsKLSAg
ICAgICAgREVGSU5FX01BUFBFRF9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodHJhbnNpdGlvbmVu
ZCwgdHJhbnNpdGlvbmVuZCk7Ci0KICAgICAgICAgdm9pZCBjYXB0dXJlRXZlbnRzKCk7CiAgICAg
ICAgIHZvaWQgcmVsZWFzZUV2ZW50cygpOwogCkBAIC0zNzQsMTUgKzI5MCw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgdXNpbmcgUmVmQ291bnRlZDxET01XaW5kb3c+OjpyZWY7CiAg
ICAgICAgIHVzaW5nIFJlZkNvdW50ZWQ8RE9NV2luZG93Pjo6ZGVyZWY7CiAKLSNpZiBFTkFCTEUo
REVWSUNFX09SSUVOVEFUSU9OKQotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKGRldmljZW1vdGlvbik7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIoZGV2aWNlb3JpZW50YXRpb24pOwotI2VuZGlmCi0KLSNpZiBFTkFCTEUoUFJPWElNSVRZX0VW
RU5UUykKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih3ZWJraXRkZXZp
Y2Vwcm94aW1pdHkpOwotI2VuZGlmCi0KICAgICAgICAgLy8gSFRNTCA1IGtleS92YWx1ZSBzdG9y
YWdlCiAgICAgICAgIFN0b3JhZ2UqIHNlc3Npb25TdG9yYWdlKEV4Y2VwdGlvbkNvZGUmKSBjb25z
dDsKICAgICAgICAgU3RvcmFnZSogbG9jYWxTdG9yYWdlKEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsK
QEAgLTM5NywyMSArMzA0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyAgMCBp
cyBzdHJhaWdodCB1cDsgLTkwIGlzIHdoZW4gdGhlIGRldmljZSBpcyByb3RhdGVkIDkwIGNsb2Nr
d2lzZTsKICAgICAgICAgLy8gIDkwIGlzIHdoZW4gcm90YXRlZCBjb3VudGVyIGNsb2Nrd2lzZS4K
ICAgICAgICAgaW50IG9yaWVudGF0aW9uKCkgY29uc3Q7Ci0KLSAgICAgICAgREVGSU5FX0FUVFJJ
QlVURV9FVkVOVF9MSVNURU5FUihvcmllbnRhdGlvbmNoYW5nZSk7Ci0jZW5kaWYKLQotI2lmIEVO
QUJMRShUT1VDSF9FVkVOVFMpCi0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVO
RVIodG91Y2hzdGFydCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIo
dG91Y2htb3ZlKTsKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUih0b3Vj
aGVuZCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIodG91Y2hjYW5j
ZWwpOwotI2VuZGlmCi0KLSNpZiBFTkFCTEUoSU9TX0dFU1RVUkVfRVZFTlRTKQotICAgICAgICBE
RUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGdlc3R1cmVzdGFydCk7Ci0gICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZ2VzdHVyZWNoYW5nZSk7Ci0gICAgICAgIERF
RklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZ2VzdHVyZWVuZCk7CiAjZW5kaWYKIAogI2lm
IEVOQUJMRShXRUJfVElNSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IDllNGY1
NTcwOTVlZDY2YjI0ZTRjYjcyZGRjY2Y0ZmY0ZjQ4MjQ3ZWIuLjVhZTU1NjBhYTc5YTQ0MTc2YzQ3
Y2NiOWNkNmJmMzg5NDA2MmMwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZl
bnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTY2
LDEwICs2Niw2IEBAIHB1YmxpYzoKIAogICAgIFN0YXRlIHJlYWR5U3RhdGUoKSBjb25zdDsKIAot
ICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIob3Blbik7Ci0gICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihtZXNzYWdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKGVycm9yKTsKLQogICAgIHZvaWQgY2xvc2UoKTsKIAogICAgIHVzaW5nIFJl
ZkNvdW50ZWQ8RXZlbnRTb3VyY2U+OjpyZWY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5k
ZXggMTljOTk1YmFlOTJiODU0OWQ4OGIxOGYzNzEwZmFkMTg5MDdmOTZlZS4uZTA2MGM1ZDNiZTU5
NGFiMDFkOTMyZDg3Y2Q5MTc5Y2ZlZGZiMjA2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2Uu
aApAQCAtNzQsOCArNzQsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB3ZWJraXRDbGVhclJlc291cmNl
VGltaW5ncygpOwogICAgIHZvaWQgd2Via2l0U2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHVu
c2lnbmVkIGludCk7CiAKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtp
dHJlc291cmNldGltaW5nYnVmZmVyZnVsbCk7Ci0KICAgICB2b2lkIGFkZFJlc291cmNlVGltaW5n
KGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yTmFtZSwgRG9jdW1lbnQqLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgZG91YmxlIGluaXRpYXRpb25UaW1lLCBk
b3VibGUgZmluaXNoVGltZSk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9BYnN0cmFjdFdvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9BYnN0cmFj
dFdvcmtlci5oCmluZGV4IGJlOGQxYzQ5MzI5ODAyY2MyYWZiNzYwYjllYjQyYWM2MjkzZjdiYjIu
LjdiZjYxN2ZhNGFkMzQ4YTkzNjlmYjMyOGQzZDExZGNhMjdhZjAyZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL0Fic3RyYWN0V29ya2VyLmgKQEAgLTQ1LDggKzQ1LDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgQWJzdHJhY3RXb3JrZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxB
YnN0cmFjdFdvcmtlcj4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhIHsKICAgICBw
dWJsaWM6Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZXJyb3IpOwot
CiAgICAgICAgIHVzaW5nIFJlZkNvdW50ZWQ8QWJzdHJhY3RXb3JrZXI+OjpyZWY7CiAgICAgICAg
IHVzaW5nIFJlZkNvdW50ZWQ8QWJzdHJhY3RXb3JrZXI+OjpkZXJlZjsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDI0
NDk1MWZkZWIxYWNjMDg0MzQ2NDU3NDIzMzQ1ZWNlMWM2ZWE5MDguLmYxZmQ5NjljYzg2MTA2MmM3
MWMyOTkzMmNlYzI3YTUyOGQ3MjJmZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTU3LDggKzU3LDYgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAvLyBOZWVkZWQgZm9yIE9iamVjdGl2ZS1DIGJpbmRpbmdz
IChzZWUgYnVnIDI4Nzc0KS4KICAgICAgICAgdm9pZCBwb3N0TWVzc2FnZShQYXNzUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4sIE1lc3NhZ2VQb3J0KiwgRXhjZXB0aW9uQ29kZSYpOwogCi0g
ICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIobWVzc2FnZSk7Ci0KICAgICAg
ICAgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQoKTsKIAogICAgIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuaAppbmRleCBkYjFhODI5YTk3ZjBlYWI3YzNmNjVmMDljMTI3ZmE2Y2Vm
Yzc4OWY5Li4wYWRhMGE3ODdjMDhhMzZkMmViNGU0NTZlYjhiOTk2ZDBiOWQ2N2Y5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyLmgKQEAgLTU4LDggKzU4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkIHBvc3RNZXNzYWdlKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiBtZXNzYWdlLCBNZXNzYWdlUG9ydCosIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgICAgICB2b2lk
IHRlcm1pbmF0ZSgpOwotICAgIAotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RF
TkVSKG1lc3NhZ2UpOwogCiAgICAgICAgIC8vIEV2ZW50VGFyZ2V0IEFQSS4KICAgICAgICAgdmly
dHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29u
c3Qgb3ZlcnJpZGUgZmluYWwgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
aAppbmRleCBkNTRmN2M0MTJhNTI3OWYxZjE4NzU1NmUyODI1NzZjMGJhODFkNjJhLi41ZmE1ZTg3
NDA3NmJhZTJkZWI2ODY0NDIxZDNiYzNkZTBiMTVhMTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC04MiwxMCArODIsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIFdvcmtlckxvY2F0aW9uKiBsb2NhdGlvbigpIGNvbnN0OwogICAgICAg
ICB2b2lkIGNsb3NlKCk7CiAKLSAgICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
UihlcnJvcik7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIob2ZmbGlu
ZSk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIob25saW5lKTsKLQog
ICAgICAgICAvLyBXb3JrZXJVdGlscwogICAgICAgICB2aXJ0dWFsIHZvaWQgaW1wb3J0U2NyaXB0
cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscywgRXhjZXB0aW9uQ29kZSYpOwogICAgICAgICBX
b3JrZXJOYXZpZ2F0b3IqIG5hdmlnYXRvcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3QuaAppbmRleCBmNWViNzdmYzA0ZWYxODYxMjljZTUwZmJkZjJmNTAxZjg3ZDEzMzg0Li4x
ODQwOWI0ODMzNzY5MDVmZGI3ODgxZGNkMzBkNTA2Y2U0ZTdmYmY1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuaApAQCAtMTQ0LDE3ICsxNDQsNiBAQCBwdWJsaWM6CiAKICAgICBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNvdXJjZVJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9y
ZXNwb25zZTsgfQogCi0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihyZWFkeXN0
YXRlY2hhbmdlKTsKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGFib3J0KTsK
LSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGVycm9yKTsKLSAgICBERUZJTkVf
QVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZF
TlRfTElTVEVORVIobG9hZGVuZCk7Ci0gICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5F
Uihsb2Fkc3RhcnQpOwotICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocHJvZ3Jl
c3MpOwotI2lmIEVOQUJMRShYSFJfVElNRU9VVCkKLSAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5U
X0xJU1RFTkVSKHRpbWVvdXQpOwotI2VuZGlmCi0KICAgICB1c2luZyBSZWZDb3VudGVkPFhNTEh0
dHBSZXF1ZXN0Pjo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ8WE1MSHR0cFJlcXVlc3Q+Ojpk
ZXJlZjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBs
b2FkLmggYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RVcGxvYWQuaAppbmRleCAz
YzE1ZTNiODJmODJkMjZhYzZhMWFkMjliMGI3MjVmMDNiYWVlYzkwLi5lNjZhNGE3MTBkYWJhZmQy
ZTBkN2U4YWM2MzkxZDMyYTlmNzQ3MDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3RVcGxvYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3RVcGxvYWQuaApAQCAtNDgsMTMgKzQ4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gWE1MSHR0cFJlcXVlc3RVcGxvYWRFdmVudFRhcmdldElu
dGVyZmFjZVR5cGU7IH0KICAgICAgICAgdmlydHVhbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV94bWxIdHRw
UmVxdWVzdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CiAKLSAgICAgICAgREVGSU5FX0FU
VFJJQlVURV9FVkVOVF9MSVNURU5FUihhYm9ydCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVf
RVZFTlRfTElTVEVORVIoZXJyb3IpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJ
U1RFTkVSKGxvYWQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxv
YWRlbmQpOwotICAgICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGxvYWRzdGFy
dCk7Ci0gICAgICAgIERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIocHJvZ3Jlc3MpOwot
CiAgICAgICAgIHZvaWQgZGlzcGF0Y2hUaHJvdHRsZWRQcm9ncmVzc0V2ZW50KGJvb2wgbGVuZ3Ro
Q29tcHV0YWJsZSwgdW5zaWduZWQgbG9uZyBsb25nIGxvYWRlZCwgdW5zaWduZWQgbG9uZyBsb25n
IHRvdGFsKTsKICAgICAgICAgdm9pZCBkaXNwYXRjaFByb2dyZXNzRXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nICZ0eXBlKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>