<?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>227206</bug_id>
          
          <creation_ts>2021-06-21 00:21:51 -0700</creation_ts>
          <short_desc>Improve more of the CSS list style implementations</short_desc>
          <delta_ts>2021-08-10 18:53:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=48000</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=227231</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=223412</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed, WPTImpact</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>aboxhall</cc>
    
    <cc>andersca</cc>
    
    <cc>apinheiro</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gsnedders</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>marksmithh644</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1771222</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-21 00:21:51 -0700</bug_when>
    <thetext>Improve more of the CSS list style implementations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771225</commentid>
    <comment_count>1</comment_count>
      <attachid>431834</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-21 00:50:59 -0700</bug_when>
    <thetext>Created attachment 431834
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771311</commentid>
    <comment_count>3</comment_count>
      <attachid>431868</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-21 09:20:19 -0700</bug_when>
    <thetext>Created attachment 431868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771841</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-06-22 18:34:07 -0700</bug_when>
    <thetext>Committed r279165 (239062@main): &lt;https://commits.webkit.org/239062@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771842</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-22 18:35:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/79643872&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431834</attachid>
            <date>2021-06-21 00:50:59 -0700</date>
            <delta_ts>2021-06-21 09:20:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227206-20210621005058.patch</filename>
            <type>text/plain</type>
            <size>130692</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDcwOTVmNDFmNmM0ZTg0M2E4NzU3MGNh
MjEzODlkOWFjZTU5MDE5YTkuLjVmNjQzZGYxZTBjMGYzOGVkNDU4NWNhMTc0Y2JiZjgxOTgyMWNm
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDYtMjEgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIEltcHJvdmUgbW9yZSBvZiB0aGUgQ1NTIGxpc3Qgc3R5bGUg
aW1wbGVtZW50YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjcyMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg6IEFkZGVkIGJsYWNrRG93bi9M
ZWZ0L1JpZ2h0UG9pbnRpbmdTbWFsbFRyaWFuZ2xlLgorCiAyMDIxLTA2LTIwICBTYW0gV2Vpbmln
ICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXBsYWNlIFNwYW4gaW1wbGVtZW50YXRp
b24gd2l0aCBvbmUgZnJvbSBsaWJjKyssIHdoaWNoIGlzIG1vcmUgc3BlYyBjb21wbGllbnQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCAyNGVjZWM5MGRkNmNiNDI0YzRiMmNiNjQ0MDY3MWVmMjQ0OTQ4MDEyLi5jZTc3
OWE1MmMzOWIxOTYwYWRlZjU2NzlmYmExYjlkODVlOGMxNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTI5IEBACisyMDIxLTA2LTIxICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKwor
ICAgICAgICBJbXByb3ZlIG1vcmUgb2YgdGhlIENTUyBsaXN0IHN0eWxlIGltcGxlbWVudGF0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MjA2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
eHh4LgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Omxpc3RNYXJrZXJUZXh0Rm9yTm9kZSk6IFVwZGF0ZWQgc2luY2UK
KyAgICAgICAgUmVuZGVyTGlzdEl0ZW06Om1hcmtlclRleHRXaXRoU3VmZml4IG5vdyByZXR1cm5z
IGEgU3RyaW5nVmlldy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0OjpzdHJpbmdWYWx1ZSBjb25zdCk6IFVwZGF0ZWQKKyAgICAgICAgdG8gY2FsbCBSZW5kZXJM
aXN0TWFya2VyOjp0ZXh0V2l0aG91dFN1ZmZpeC4KKworICAgICAgICAqIGNzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjp0b0NTU1ZhbHVlSUQpOiBGYWN0
b3JlZCB0aGlzIG91dCBpbnRvIGEgc2VwYXJhdGUgaGVscGVyLgorICAgICAgICBBbHNvIG1hZGUg
aXQgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBlbnVtZXJh
dGlvbgorICAgICAgICBhbmQgdGhlIENTUyB2YWx1ZSBrZXl3b3JkcyB0aGF0IHRoZSBjb2RlIGlu
IHRoZSBvdGhlciBkaXJlY3Rpb24gYWxyZWFkeQorICAgICAgICB3YXMgcmVseWluZyBvbiBzbyB3
ZSBkb24ndCBoYXZlIHRvIGxpc3QgYWxsIHRoZSBrZXl3b3Jkcy4KKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6IFJlZmFjdG9yZWQgdG8gY2Fs
bCB0aGUKKyAgICAgICAgdG9DU1NWYWx1ZUlEIGZ1bmN0aW9uLgorCisgICAgICAgICogY3NzL0NT
U1ZhbHVlS2V5d29yZHMuaW46IEFkZGVkIDEyIG5ldyBsaXN0LXR5cGUtc3R5bGUgY29uc3RhbnRz
OgorICAgICAgICBkaXNjbG9zdXJlLW9wZW4sIGRpc2Nsb3N1cmUtY2xvc2VkLCBqYXBhbmVzZS1p
bmZvcm1hbCwgamFwYW5lc2UtZm9ybWFsLAorICAgICAgICBrb3JlYW4taGFuZ3VsLWZvcm1hbCwg
a29yZWFuLWhhbmphLWluZm9ybWFsLCBrb3JlYW4taGFuamEtZm9ybWFsLAorICAgICAgICBzaW1w
LWNoaW5lc2UtaW5mb3JtYWwsIHNpbXAtY2hpbmVzZS1mb3JtYWwsIHRyYWQtY2hpbmVzZS1pbmZv
cm1hbCwKKyAgICAgICAgdHJhZC1jaGluZXNlLWZvcm1hbCwgYW5kIGV0aGlvcGljLW51bWVyaWMu
CisKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmlzUHJlZGVmaW5lZENv
dW50ZXJTdHlsZSk6IFVwZGF0ZWQKKyAgICAgICAgc2luY2UgdGhlIGxhc3QgcHJlZGVmaW5lZCBj
b3VudGVyIHN0eWxlIGlzIEV0aGlvcGljTnVtZXJpYy4KKworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMaXN0SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0SXRlbTo6bWFy
a2VyVGV4dFdpdGhvdXRTdWZmaXggY29uc3QpOiBSZW5hbWVkIGZyb20KKyAgICAgICAgbWFya2Vy
VGV4dCwgYW5kIGNoYW5nZWQgdG8gcmV0dXJuIGEgU3RyaW5nVmlldy4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxpc3RJdGVtOjptYXJrZXJUZXh0V2l0aFN1ZmZpeCBjb25zdCk6IFJldHVybiBh
IFN0cmluZ1ZpZXcuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmg6IFVwZGF0
ZWQgZm9yIHRoZSBhYm92ZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvUm9tYW4pOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6dG9BbHBoYWJldGljT3JOdW1lcmljKTogVHdlYWtlZCB0byB1c2UgY29tcGlsZSB0aW1l
IGluc3RlYWQgb2YKKyAgICAgICAgcnVudGltZSBjaGVja3MgZm9yIGFscGhhYmV0aWMgdnMuIG51
bWVyaWMuCisgICAgICAgIChXZWJDb3JlOjp0b1N5bWJvbGljKTogVXBkYXRlZCBmb3IgYWJvdmUu
CisgICAgICAgIChXZWJDb3JlOjp0b0FscGhhYmV0aWMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OnRvTnVtZXJpYyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6dG9IZWJyZXdVbmRlcjEw
MDApOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6dG9IZWJyZXcpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6dG9Bcm1lbmlhblVuZGVyMTAwMDApOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6dG9Bcm1lbmlhbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjp0b0dlb3Jn
aWFuKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRvQ0pLSWRlb2dyYXBoaWMpOiBBZGRl
ZCBoYW5kbGluZyBmb3IgbmVnYXRpdmUgbnVtYmVycyBhbmQgYWxzbworICAgICAgICB0d2Vha2Vk
IGNvZGluZyBzdHlsZSBhIGJpdC4KKyAgICAgICAgKFdlYkNvcmU6OnRvUHJlZGVmaW5lZEFkZGl0
aXZlU3lzdGVtKTogQWRkZWQuIEltcGxlbWVudHMgdGhlIGFkZGl0aXZlCisgICAgICAgIHN5c3Rl
bSBjb25jZXB0LCB3aGljaCB3ZSB1c2UgYmVsb3cgdG8gcmUtaW1wbGVtZW50IEhlYnJldywgQXJt
ZW5pYW4sCisgICAgICAgIEdlb3JnaWFuLCBKYXBhbmVzZSwgYW5kIEtvcmVhbiBzdHlsZXMuCisg
ICAgICAgIChXZWJDb3JlOjp0b0V0aGlvcGljTnVtZXJpYyk6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6ZWZmZWN0aXZlTGlzdE1hcmtlclR5cGUpOiBBZGRlZCB0aGUgbmV3IHN0eWxlcy4gQWxz
byB1cGRhdGVkIHRoZQorICAgICAgICBhbGxvd2FibGUgdmFsdWVzIGZvciBDSktJZGVvZ3JhcGhp
YyB0byBhbGxvdyBuZWdhdGl2ZSBudW1iZXJzLCBhbmQgZm9yIEhlYnJldworICAgICAgICB0byBu
byBsb25nZXIgYWxsb3cgMCBvciBudW1iZXJzIG92ZXIgMTA5OTkuIEFsc28gc29ydGVkIHRoZSBz
ZWN0aW9ucyBieSB0aGUKKyAgICAgICAgbmFtZSBvZiB0aGUgZmlyc3QgbGlzdCBzdHlsZSB0eXBl
IGluIGVhY2ggc2VjdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6Omxpc3RNYXJrZXJTdWZmaXgpOiBD
aGFuZ2VkIHRvIHJldHVybiBhIFN0cmluZ1ZpZXcgaW5zdGVhZCBvZiBhCisgICAgICAgIFVDaGFy
LCBhbmQgaW5jbHVkZSB0aGUgdHJhaWxpbmcgc3BhY2UuIENob29zZSB0aGUgc3VmZml4IGJhc2Vk
IG9uIHRoZQorICAgICAgICBzcGVjaWZpZWQgdHlwZSBhbmQgbm90IHRoZSBlZmZlY3RpdmUgdHlw
ZSwgc28gZmFsbGJhY2sgZG9lcyBub3QgY2F1c2UgdGhlCisgICAgICAgIHN1ZmZpeCB0byBmYWxs
IGJhY2suIEFkZGVkIHRoZSBuZXcgdHlwZXMuCisgICAgICAgIChXZWJDb3JlOjpzdWZmaXhSZXF1
aXJlc1NwYWNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Omxpc3RNYXJrZXJUZXh0KTog
QWRkZWQgaW1wbGVtZW50YXRpb25zIGZvciBhbGwgdGhlIG5ldyB0eXBlcy4KKyAgICAgICAgQWxz
byB1cGRhdGVkIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBDSktJZGVvZ3JhcGhpYywgTG93ZXJSb21h
biwgVXBwZXJSb21hbiwKKyAgICAgICAgQXJtZW5pYW4sIFVwcGVyQXJtZW5pYW4sIExvd2VyQXJt
ZW5pYW4sIEdlb3JnaWFuLCBhbmQgSGVicmV3IHRvIG1hdGNoIGEKKyAgICAgICAgbmV3ZXIgQ1NT
IHNwZWNpZmljYXRpb24gZHJhZnQsIGFuZCBpbiBtb3N0IGNhc2VzIHdhcyBhYmxlIHRvIHVzZQor
ICAgICAgICB0b1ByZWRlZmluZWRBZGRpdGl2ZVN5c3RlbSBpbnN0ZWFkIG9mIGxhbmd1YWdlLXNw
ZWNpZmljIGZ1bmN0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OmNy
ZWF0ZUlubGluZUJveCk6IFN0b3AgdXNpbmcgdGhlIGlzVGV4dCBmdW5jdGlvbiwKKyAgICAgICAg
d2hpY2ggd2FzIG9ubHkgdXNlZCBoZXJlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1h
cmtlcjo6cGFpbnQpOiBVcGRhdGVkIGZvciB0aGUgbmFtZSBjaGFuZ2Ugb2YKKyAgICAgICAgcmVs
YXRpdmVNYXJrZXJSZWN0LiBSZW1vdmVkIHVubmVlZGVkIHNwZWNpYWwgY2FzZSBmb3IgTGlzdFN0
eWxlVHlwZTo6Tm9uZS4KKyAgICAgICAgVXNlIHRoZSBuZXcgUmVuZGVyTGlzdE1hcmtlcjo6dGV4
dFJ1biBmdW5jdGlvbiwgbW92aW5nIGFsbCB0aGUgY29kZSB0aGF0CisgICAgICAgIGRlYWxzIHdp
dGggZGlyZWN0aW9uIGFuZCBzdWZmaXggaW4gdGhlcmUuCisgICAgICAgIChXZWJDb3JlOjpyZXZl
cnNlZCk6IEFkZGVkLiBIZWxwZXIgdXNlZCBieSB0ZXh0UnVuLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGlzdE1hcmtlcjo6dGV4dFJ1biBjb25zdCk6IEFkZGVkLiBDb21wb3NlcyBhIFRleHRS
dW4gZm9yCisgICAgICAgIGRyYXdpbmcgb3IgbWVhc3VyaW5nIHRleHQuIEJ5IHVzaW5nIHRoZSBz
YW1lIGZ1bmN0aW9uIGluIGFsbCB0aG9zZSBwbGFjZXMsCisgICAgICAgIHdlIGd1YXJhbnRlZSB3
ZSBtZWFzdXJlIHRoZSB0ZXh0IHRvZ2V0aGVyIGluc3RlYWQgb2YgaW4gcGllY2VzLCB3aGljaCBm
aXhlcworICAgICAgICBzb21lIGxheW91dCBlcnJvcnMgbGVhZGluZyB0byB0ZXN0IGZhaWx1cmVz
IHRoYXQgbWVhc3VyaW5nIHNlcGFyYXRlbHkgYW5kCisgICAgICAgIGFkZGluZyB0aGUgcmVzdWx0
cyB0b2dldGhlciB3YXMgY2F1c2luZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJr
ZXI6OmFkZE92ZXJmbG93RnJvbUxpc3RNYXJrZXIpOiBVc2UgdGhlIGRhdGEKKyAgICAgICAgbWVt
YmVyIG1fbGluZU9mZnNldEZvckxpc3RJdGVtIGluc3RlYWQgb2YgdGhlIGxpbmVPZmZzZXRGb3JM
aXN0SXRlbQorICAgICAgICBmdW5jdGlvbiwgd2hpY2ggd2FzIG9ubHkgdXNlZCBoZXJlLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2luc0FuZENvbnRlbnQp
OiBNb3ZlZCB0aGUgY2hlY2sgb2YKKyAgICAgICAgcHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5
IGFuZCB0aGUgY29tbWVudCBhYm91dCBpdCBoZXJlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGlzdE1hcmtlcjo6dXBkYXRlQ29udGVudCk6IE1vdmVkIGNoZWNrIG9mCisgICAgICAgIHByZWZl
cnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSBvdXQgb2YgdGhpcyBmdW5jdGlvbiBzaW5jZSBvbmUgY2Fs
bGVyIGFzc2VydHMKKyAgICAgICAgaXQsIGFuZCBzbyB0aGUgb3RoZXIgY2FsbGVyIGNhbiBkbyB0
aGUgY2hlY2sgaXRzZWxmLiBBZGRlZCBjb2RlIHRvIHNldAorICAgICAgICBtX3RleHRXaXRoU3Vm
Zml4LCBtX3RleHRXaXRob3V0U3VmZml4TGVuZ3RoLCBhbmQgbV90ZXh0SXNMZWZ0VG9SaWdodERp
cmVjdGlvbi4KKyAgICAgICAgUmVtb3ZlZCB1bm5lZWRlZCBzcGVjaWFsIGNhc2VzIGZvciBMaXN0
U3R5bGVUeXBlOjpOb25lLCBDaXJjbGUsIERpc2MsIGFuZAorICAgICAgICBTcXVhcmUsIHdoaWNo
IGFyZSBhbGwgaGFuZGxlZCBjb3JyZWN0bHkgYnkgdGhlIG1haW4gYWxnb3JpdGhtLiBBZGRlZCBh
IEZJWE1FCisgICAgICAgIGFib3V0IHRoZSBpbmFkZXF1YWN5IG9mIG91ciBiaWRpIGFsZ29yaXRo
bSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdlbmVyYWwgY2FzZS4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKTogVXNlIHRo
ZSBuZXcKKyAgICAgICAgdGV4dFJ1biBmdW5jdGlvbiwgYWxsb3dpbmcgdXMgdG8gcmVtb3ZlIHNv
bWUgc3BlY2lhbCBjYXNlIGNvZGUsIGluY2x1ZGluZworICAgICAgICB0aGUgc3BlY2lhbCBjYXNl
cyBmb3IgTGlzdFN0eWxlVHlwZTo6Tm9uZSwgQXN0ZXJpc2tzLCBGb290bm90ZXMsIGFuZCBTdHJp
bmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKTog
UmVtb3ZlZCB1bm5lZWRlZCBzcGVjaWFsIGNhc2UgZm9yCisgICAgICAgIExpc3RTdHlsZVR5cGU6
Ok5vbmUsIGFuZCB1cGRhdGVkIHN0cmluZyBlbXB0eSBjaGVja3MgZm9yIHRoZSBuZXcgbmFtZSBv
ZiB0aGUKKyAgICAgICAgbV90ZXh0V2l0aFN1ZmZpeCBkYXRhIG1lbWJlci4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnN1ZmZpeCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpyZWxhdGl2ZU1hcmtlclJlY3QpOiBSZW5hbWVk
IGZyb20KKyAgICAgICAgZ2V0UmVsYXRpdmVNYXJrZXJSZWN0LiBVc2UgdGhlIG5ldyB0ZXh0UnVu
IGZ1bmN0aW9uLCBhbGxvd2luZyB1cyB0byByZW1vdmUKKyAgICAgICAgc29tZSBzcGVjaWFsIGNh
c2UgY29kZSwgaW5jbHVkaW5nIHRoZSBzcGVjaWFsIGNhc2VzIGZvciBMaXN0VHlsZVR5cGU6Ok5v
bmUsCisgICAgICAgIEFzdGVyaXNrcywgRm9vdG5vdGVzLCBhbmQgU3RyaW5nLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6dGV4dFdpdGhvdXRTdWZmaXggY29uc3QpOiBBZGRl
ZC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmg6IE1hcmtlZCBmdW5j
dGlvbnMgYXMgZmluYWwgaW5zdGVhZCBvZiBqdXN0CisgICAgICAgIG92ZXJyaWRlLiBHb3Qgcmlk
IG9mIHVubmVlZGVkIHN1ZmZpeCBhbmQgbGluZU9mZnNldEZvckxpc3RJdGVtIGZ1bmN0aW9ucy4K
KyAgICAgICAgUmVuYW1lZCB0ZXh0IG90IHRleHRXaXRob3V0U3VmZml4IGFuZCBhZGRlZCB0ZXh0
V2l0aFN1ZmZpeC4gQWRkZWQgdGV4dFJ1bgorICAgICAgICBwcml2YXRlIG1lbWJlciBmdW5jdGlv
bi4gUmVwbGFjZWQgbV90ZXh0IHdpdGggbV90ZXh0V2l0aFN1ZmZpeCwKKyAgICAgICAgbV90ZXh0
V2l0aG91dFN1ZmZpeExlbmd0aCwgYW5kIG1fdGV4dElzTGVmdFRvUmlnaHREaXJlY3Rpb24uCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdCk6IFVzZSB0ZXh0V2l0aG91
dFN1ZmZpeC4KKyAgICAgICAgKFdlYkNvcmU6Om1hcmtlclRleHRGb3JMaXN0SXRlbSk6IFVzZSBt
YXJrZXJUZXh0V2l0aG91dFN1ZmZpeC4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZUNvbnN0YW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KTogVXNl
IGdldFZhbHVlTmFtZSBmcm9tIENTU1ZhbHVlS2V5d29yZHMuaCBhbmQKKyAgICAgICAgdG9DU1NW
YWx1ZUlEIHRvIGF2b2lkIHJlcGVhdGluZyB0aGUgbmFtZXMgb2YgYWxsIHRoZSBsaXN0IHN0eWxl
IHR5cGVzIGhlcmUuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuaDogQWRkZWQgdGhlIDEyIG5ldyBsaXN0IHN0eWxlIHR5cGVzLgorCiAyMDIxLTA2LTIw
ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBIaXRUZXN0TG9jYXRp
b246Om1fYm91bmRpbmdCb3ggc2hvdWxkIGJlIGFibGUgaG9sZCBzdWJwaXhlbCB2YWx1ZXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaCBiL1NvdXJj
ZS9XVEYvd3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaAppbmRleCAwYTVjMzI3YzZhMWZjMGM4
YjZkY2YxYWU2YjE4Y2U0NTJhN2NiMGQwLi4wZDE0OGYyNjdlNGY3YWFjODgwYjkyN2VjYjgxMjhh
ZDFjOGMzMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL0NoYXJhY3Rlck5h
bWVzLmgKKysrIGIvU291cmNlL1dURi93dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oCkBAIC00
MSw2ICs0MSw5IEBAIGNvbnN0ZXhwciBVQ2hhcjMyIGFlZ2VhbldvcmRTZXBhcmF0b3JEb3QgPSAw
eDEwMTAxOwogY29uc3RleHByIFVDaGFyMzIgYWVnZWFuV29yZFNlcGFyYXRvckxpbmUgPSAweDEw
MTAwOwogY29uc3RleHByIFVDaGFyIGFwb3N0cm9waGUgPSAweDAwMjc7CiBjb25zdGV4cHIgVUNo
YXIgYmxhY2tDaXJjbGUgPSAweDI1Q0Y7Citjb25zdGV4cHIgVUNoYXIgYmxhY2tEb3duUG9pbnRp
bmdTbWFsbFRyaWFuZ2xlID0gMHgyNUJFOworY29uc3RleHByIFVDaGFyIGJsYWNrTGVmdFBvaW50
aW5nU21hbGxUcmlhbmdsZSA9IDB4MjVDMjsKK2NvbnN0ZXhwciBVQ2hhciBibGFja1JpZ2h0UG9p
bnRpbmdTbWFsbFRyaWFuZ2xlID0gMHgyNUI4OwogY29uc3RleHByIFVDaGFyIGJsYWNrU3F1YXJl
ID0gMHgyNUEwOwogY29uc3RleHByIFVDaGFyIGJsYWNrVXBQb2ludGluZ1RyaWFuZ2xlID0gMHgy
NUIyOwogY29uc3RleHByIFVDaGFyIGJ1bGxldCA9IDB4MjAyMjsKQEAgLTExMyw2ICsxMTYsOSBA
QCB1c2luZyBXVEY6OlVuaWNvZGU6OkhpcmFnYW5hTGV0dGVyU21hbGxBOwogdXNpbmcgV1RGOjpV
bmljb2RlOjphZWdlYW5Xb3JkU2VwYXJhdG9yRG90OwogdXNpbmcgV1RGOjpVbmljb2RlOjphZWdl
YW5Xb3JkU2VwYXJhdG9yTGluZTsKIHVzaW5nIFdURjo6VW5pY29kZTo6YmxhY2tDaXJjbGU7Cit1
c2luZyBXVEY6OlVuaWNvZGU6OmJsYWNrRG93blBvaW50aW5nU21hbGxUcmlhbmdsZTsKK3VzaW5n
IFdURjo6VW5pY29kZTo6YmxhY2tMZWZ0UG9pbnRpbmdTbWFsbFRyaWFuZ2xlOwordXNpbmcgV1RG
OjpVbmljb2RlOjpibGFja1JpZ2h0UG9pbnRpbmdTbWFsbFRyaWFuZ2xlOwogdXNpbmcgV1RGOjpV
bmljb2RlOjpibGFja1NxdWFyZTsKIHVzaW5nIFdURjo6VW5pY29kZTo6YmxhY2tVcFBvaW50aW5n
VHJpYW5nbGU7CiB1c2luZyBXVEY6OlVuaWNvZGU6OmJ1bGxldDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmluZGV4IDM0ZWE4
ZjQ4YzkwMzg2MGMxZGYzZjNmZTg2YjQ0YzdjYjU3MjcwZDMuLjQ0MzZmZDhjYTk5MGFmMmU1Y2Mx
NDcwNDdmYzM5YzI0NzAxMDRlNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMTE2MCw3ICsxMTYwLDcgQEAgc3Rh
dGljIFN0cmluZyBsaXN0TWFya2VyVGV4dEZvck5vZGUoTm9kZSogbm9kZSkKICAgICAvLyBJZiB0
aGlzIGlzIGluIGEgbGlzdCBpdGVtLCB3ZSBuZWVkIHRvIG1hbnVhbGx5IGFkZCB0aGUgdGV4dCBm
b3IgdGhlIGxpc3QgbWFya2VyCiAgICAgLy8gYmVjYXVzZSBhIFJlbmRlckxpc3RNYXJrZXIgZG9l
cyBub3QgaGF2ZSBhIE5vZGUgZXF1aXZhbGVudCBhbmQgdGh1cyBkb2VzIG5vdCBhcHBlYXIKICAg
ICAvLyB3aGVuIGl0ZXJhdGluZyB0ZXh0LgotICAgIHJldHVybiBsaXN0SXRlbS0+bWFya2VyVGV4
dFdpdGhTdWZmaXgoKTsKKyAgICByZXR1cm4gbGlzdEl0ZW0tPm1hcmtlclRleHRXaXRoU3VmZml4
KCkudG9TdHJpbmcoKTsKIH0KIAogLy8gUmV0dXJucyB0aGUgdGV4dCBhc3NvY2lhdGVkIHdpdGgg
YSBsaXN0IG1hcmtlciBpZiB0aGlzIG5vZGUgaXMgY29udGFpbmVkIHdpdGhpbiBhIGxpc3QgaXRl
bS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGZjYWQ0YzczNWViMzkzNTU0YWU3OTA5MjY1ZTg2
MTBlYzAzODU4YmYuLjhmMjc3ZTQ3YWQ1ODYwOTkwMWI2ZjY3ZDNhOWUwY2M0MzYzMjA4NTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtNzcwLDcgKzc3MCw3IEBAIFN0cmluZyBBY2Nlc3NpYmls
aXR5UmVuZGVyT2JqZWN0OjpzdHJpbmdWYWx1ZSgpIGNvbnN0CiAgICAgfQogICAgIAogICAgIGlm
IChpczxSZW5kZXJMaXN0TWFya2VyPigqbV9yZW5kZXJlcikpCi0gICAgICAgIHJldHVybiBkb3du
Y2FzdDxSZW5kZXJMaXN0TWFya2VyPigqbV9yZW5kZXJlcikudGV4dCgpOworICAgICAgICByZXR1
cm4gZG93bmNhc3Q8UmVuZGVyTGlzdE1hcmtlcj4oKm1fcmVuZGVyZXIpLnRleHRXaXRob3V0U3Vm
Zml4KCkudG9TdHJpbmcoKTsKICAgICAKICAgICBpZiAoaXNXZWJBcmVhKCkpCiAgICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oCmluZGV4IGM2ODA3Yjk0ZDg0N2JlMDVhNTJhNWI4ZGRhZDI2NzAyYjQwYjM2M2Yu
LjQ3NDlhZjdkMjYyNjc3NWY2ZmE2NDFjOTk1MjY4YTA4Nzg4MzAwY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMTczMSwyNjcgKzE3
MzEsMjYgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6Om9wZXJhdG9yIExp
c3RTdHlsZVBvc2l0aW9uKCkgY29uc3QKICAgICByZXR1cm4gTGlzdFN0eWxlUG9zaXRpb246Ok91
dHNpZGU7CiB9CiAKLXRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmlt
aXRpdmVWYWx1ZShMaXN0U3R5bGVUeXBlIGUpCi0gICAgOiBDU1NWYWx1ZShQcmltaXRpdmVDbGFz
cykKK2lubGluZSBDU1NWYWx1ZUlEIHRvQ1NTVmFsdWVJRChMaXN0U3R5bGVUeXBlIHN0eWxlKQog
ewotICAgIHNldFByaW1pdGl2ZVVuaXRUeXBlKENTU1VuaXRUeXBlOjpDU1NfVkFMVUVfSUQpOwot
ICAgIHN3aXRjaCAoZSkgewotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QWZhcjoKLSAgICAgICAg
bV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVBZmFyOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkFtaGFyaWM6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlQW1oYXJpYzsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhh
cmljQWJlZ2VkZToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVBbWhhcmljQWJl
Z2VkZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcmFiaWNJbmRp
YzoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVBcmFiaWNJbmRpYzsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcm1lbmlhbjoKLSAgICAgICAgbV92
YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVBcm1lbmlhbjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpBc3Rlcmlza3M6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENT
U1ZhbHVlQXN0ZXJpc2tzOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkJpbmFyeToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVCaW5hcnk7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QmVuZ2FsaToKLSAgICAgICAgbV92
YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVCZW5nYWxpOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkNKS0RlY2ltYWw6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENT
U1ZhbHVlQ2prRGVjaW1hbDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpDSktFYXJ0aGx5QnJhbmNoOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUNq
a0VhcnRobHlCcmFuY2g7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
Q0pLSGVhdmVubHlTdGVtOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUNqa0hl
YXZlbmx5U3RlbTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJ
ZGVvZ3JhcGhpYzoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVDamtJZGVvZ3Jh
cGhpYzsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDYW1ib2RpYW46
Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQ2FtYm9kaWFuOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNpcmNsZToKLSAgICAgICAgbV92YWx1ZS52
YWx1ZUlEID0gQ1NTVmFsdWVDaXJjbGU7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RGVjaW1hbExlYWRpbmdaZXJvOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBD
U1NWYWx1ZURlY2ltYWxMZWFkaW5nWmVybzsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpEZWNpbWFsOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZURl
Y2ltYWw7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGV2YW5hZ2Fy
aToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVEZXZhbmFnYXJpOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRpc2M6Ci0gICAgICAgIG1fdmFsdWUu
dmFsdWVJRCA9IENTU1ZhbHVlRGlzYzsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpFdGhpb3BpYzoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVFdGhp
b3BpYzsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0Fi
ZWdlZGU6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlRXRoaW9waWNBYmVnZWRl
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2Vk
ZUFtRXQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlRXRoaW9waWNBYmVnZWRl
QW1FdDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0Fi
ZWdlZGVHZXo6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlRXRoaW9waWNBYmVn
ZWRlR2V6OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGlj
QWJlZ2VkZVRpRXI6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlRXRoaW9waWNB
YmVnZWRlVGlFcjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhp
b3BpY0FiZWdlZGVUaUV0OgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUV0aGlv
cGljQWJlZ2VkZVRpRXQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
RXRoaW9waWNIYWxlaGFtZUFhRXI6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVl
RXRoaW9waWNIYWxlaGFtZUFhRXI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6RXRoaW9waWNIYWxlaGFtZUFhRXQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENT
U1ZhbHVlRXRoaW9waWNIYWxlaGFtZUFhRXQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUFtRXQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJ
RCA9IENTU1ZhbHVlRXRoaW9waWNIYWxlaGFtZUFtRXQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZUdlejoKLSAgICAgICAgbV92YWx1ZS52
YWx1ZUlEID0gQ1NTVmFsdWVFdGhpb3BpY0hhbGVoYW1lR2V6OwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVPbUV0OgotICAgICAgICBtX3Zh
bHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUV0aGlvcGljSGFsZWhhbWVPbUV0OwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVTaWRFdDoKLSAgICAg
ICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVFdGhpb3BpY0hhbGVoYW1lU2lkRXQ7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQ6
Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlRXRoaW9waWNIYWxlaGFtZVNvRXQ7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFt
ZVRpRXI6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlRXRoaW9waWNIYWxlaGFt
ZVRpRXI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNI
YWxlaGFtZVRpRXQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlRXRoaW9waWNI
YWxlaGFtZVRpRXQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNIYWxlaGFtZVRpZzoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVFdGhp
b3BpY0hhbGVoYW1lVGlnOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkZvb3Rub3RlczoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVGb290bm90ZXM7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6R2VvcmdpYW46Ci0gICAg
ICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlR2VvcmdpYW47Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6R3VqYXJhdGk6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJ
RCA9IENTU1ZhbHVlR3VqYXJhdGk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6R3VybXVraGk6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlR3VybXVr
aGk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGFuZ3VsOgotICAg
ICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUhhbmd1bDsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIYW5ndWxDb25zb25hbnQ6Ci0gICAgICAgIG1fdmFsdWUu
dmFsdWVJRCA9IENTU1ZhbHVlSGFuZ3VsQ29uc29uYW50OwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkhlYnJldzoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVIZWJyZXc7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGly
YWdhbmE6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSGlyYWdhbmE7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYToKLSAgICAg
ICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVIaXJhZ2FuYUlyb2hhOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okthbm5hZGE6Ci0gICAgICAgIG1fdmFsdWUudmFs
dWVJRCA9IENTU1ZhbHVlS2FubmFkYTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpLYXRha2FuYToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVLYXRh
a2FuYTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYXRha2FuYUly
b2hhOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUthdGFrYW5hSXJvaGE7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2htZXI6Ci0gICAgICAgIG1f
dmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlS2htZXI7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6TGFvOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUxh
bzsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFscGhhOgot
ICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUxvd2VyQWxwaGE7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJBcm1lbmlhbjoKLSAgICAgICAgbV92
YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVMb3dlckFybWVuaWFuOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyR3JlZWs6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJ
RCA9IENTU1ZhbHVlTG93ZXJHcmVlazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpMb3dlckhleGFkZWNpbWFsOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NW
YWx1ZUxvd2VySGV4YWRlY2ltYWw7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6TG93ZXJMYXRpbjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVMb3dl
ckxhdGluOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyTm9y
d2VnaWFuOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUxvd2VyTm9yd2VnaWFu
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyUm9tYW46Ci0g
ICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlTG93ZXJSb21hbjsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpNYWxheWFsYW06Ci0gICAgICAgIG1fdmFsdWUu
dmFsdWVJRCA9IENTU1ZhbHVlTWFsYXlhbGFtOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6Ok1vbmdvbGlhbjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFs
dWVNb25nb2xpYW47Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TXlh
bm1hcjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVNeWFubWFyOwotICAgICAg
ICBicmVhazsKKyAgICBzd2l0Y2ggKHN0eWxlKSB7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpO
b25lOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZU5vbmU7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6T2N0YWw6Ci0gICAgICAgIG1fdmFsdWUudmFs
dWVJRCA9IENTU1ZhbHVlT2N0YWw7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6T3JpeWE6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlT3JpeWE7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6T3JvbW86Ci0gICAgICAgIG1f
dmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlT3JvbW87Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6UGVyc2lhbjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFs
dWVQZXJzaWFuOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlNpZGFt
YToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVTaWRhbWE7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U29tYWxpOgotICAgICAgICBtX3ZhbHVlLnZh
bHVlSUQgPSBDU1NWYWx1ZVNvbWFsaTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpTcXVhcmU6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlU3F1YXJl
OwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIENTU1ZhbHVlTm9uZTsKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlN0cmluZzoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0g
ICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSW52YWxpZDsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUYW1pbDoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlE
ID0gQ1NTVmFsdWVUYW1pbDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpUZWx1Z3U6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlVGVsdWd1OwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRoYWk6Ci0gICAgICAgIG1fdmFs
dWUudmFsdWVJRCA9IENTU1ZhbHVlVGhhaTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpUaWJldGFuOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVRp
YmV0YW47Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmU6Ci0g
ICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlVGlncmU7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFcjoKLSAgICAgICAgbV92YWx1ZS52YWx1
ZUlEID0gQ1NTVmFsdWVUaWdyaW55YUVyOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlRpZ3JpbnlhRXJBYmVnZWRlOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBD
U1NWYWx1ZVRpZ3JpbnlhRXJBYmVnZWRlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlRpZ3JpbnlhRXQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVl
VGlncmlueWFFdDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdy
aW55YUV0QWJlZ2VkZToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVUaWdyaW55
YUV0QWJlZ2VkZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBl
ckFscGhhOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVVwcGVyQWxwaGE7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJBcm1lbmlhbjoKLSAg
ICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVVcHBlckFybWVuaWFuOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyR3JlZWs6Ci0gICAgICAgIG1fdmFs
dWUudmFsdWVJRCA9IENTU1ZhbHVlVXBwZXJHcmVlazsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpVcHBlckhleGFkZWNpbWFsOgotICAgICAgICBtX3ZhbHVlLnZhbHVl
SUQgPSBDU1NWYWx1ZVVwcGVySGV4YWRlY2ltYWw7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6VXBwZXJMYXRpbjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVVcHBlckxhdGluOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OlVwcGVyTm9yd2VnaWFuOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVVwcGVy
Tm9yd2VnaWFuOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVy
Um9tYW46Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlVXBwZXJSb21hbjsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcmR1OgotICAgICAgICBtX3Zh
bHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVVyZHU7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1
cm4gQ1NTVmFsdWVJbnZhbGlkOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxDU1NWYWx1ZUlEPihzdGF0aWNfY2FzdDxpbnQ+KENTU1ZhbHVlRGlzYykgKyBzdGF0aWNf
Y2FzdDx1aW50OF90PihzdHlsZSkpOwogICAgIH0KIH0KIAordGVtcGxhdGU8PiBpbmxpbmUgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKExpc3RTdHlsZVR5cGUgc3R5bGUpCisg
ICAgOiBDU1NWYWx1ZShQcmltaXRpdmVDbGFzcykKK3sKKyAgICBzZXRQcmltaXRpdmVVbml0VHlw
ZShDU1NVbml0VHlwZTo6Q1NTX1ZBTFVFX0lEKTsKKyAgICBtX3ZhbHVlLnZhbHVlSUQgPSB0b0NT
U1ZhbHVlSUQoc3R5bGUpOworfQorCiB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1
ZTo6b3BlcmF0b3IgTGlzdFN0eWxlVHlwZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzVmFsdWVJ
RCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggMjU2OTllNjEx
YWM4YjFiYWQ4M2UzZjNkNGExMjk0NDEwODkyZGFlYS4uOTBkN2ViZWU2ZTdlYzdmZDY5YjgxNGVk
ZjVmMTIxNDQyZWJiNzczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
QEAgLTQ0Niw2ICs0NDYsMTggQEAgaGlyYWdhbmEtaXJvaGEKIGthdGFrYW5hLWlyb2hhCiBjamst
ZGVjaW1hbAogdGFtaWwKK2Rpc2Nsb3N1cmUtb3BlbgorZGlzY2xvc3VyZS1jbG9zZWQKK2phcGFu
ZXNlLWluZm9ybWFsCitqYXBhbmVzZS1mb3JtYWwKK2tvcmVhbi1oYW5ndWwtZm9ybWFsCitrb3Jl
YW4taGFuamEtaW5mb3JtYWwKK2tvcmVhbi1oYW5qYS1mb3JtYWwKK3NpbXAtY2hpbmVzZS1pbmZv
cm1hbAorc2ltcC1jaGluZXNlLWZvcm1hbAordHJhZC1jaGluZXNlLWluZm9ybWFsCit0cmFkLWNo
aW5lc2UtZm9ybWFsCitldGhpb3BpYy1udW1lcmljCiAvL25vbmUKIC8vCiAvLyBDU1NfUFJPUF9E
SVNQTEFZOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0
eVBhcnNlckhlbHBlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0
eVBhcnNlckhlbHBlcnMuY3BwCmluZGV4IDk4N2ZjNWQxZjY4MDU3ZmY3MTk5NmUyNDM0NmMyODU5
MDY2ODUzMzQuLmVhODhmZjU4MTVmYzI4MTI4NDEzOTg5ZjA1MjM5YzVjYzc4Y2VjZGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVs
cGVycy5jcHAKQEAgLTM1MzMsNyArMzUzMyw3IEBAIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUlt
YWdlKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlLCBjb25zdCBDU1NQYXJzZXJDb250ZXh0CiAv
LyBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI3ByZWRlZmluZWQt
Y291bnRlcnMKIGJvb2wgaXNQcmVkZWZpbmVkQ291bnRlclN0eWxlKENTU1ZhbHVlSUQgdmFsdWVJ
RCkKIHsKLSAgICByZXR1cm4gdmFsdWVJRCA+PSBDU1NWYWx1ZURpc2MgJiYgdmFsdWVJRCA8PSBD
U1NWYWx1ZVRhbWlsOworICAgIHJldHVybiB2YWx1ZUlEID49IENTU1ZhbHVlRGlzYyAmJiB2YWx1
ZUlEIDw9IENTU1ZhbHVlRXRoaW9waWNOdW1lcmljOwogfQogCiAvLyBodHRwczovL3d3dy53My5v
cmcvVFIvY3NzLWNvdW50ZXItc3R5bGVzLTMvI3R5cGVkZWYtY291bnRlci1zdHlsZS1uYW1lCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcAppbmRleCA2YjYxOWY4
YjYzM2RmN2U4YmY1ZDY4MjJmYWZlNzAyYzNmZjZiYzU0Li5kOTljZDE2Mjg3NjgyNGViNjU1N2Zi
ZmI3NTAyODBlZDBiNGJmMmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEl0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0SXRlbS5jcHAKQEAgLTI3NiwyMyArMjc2LDE4IEBAIHZvaWQgUmVuZGVyTGlzdEl0ZW06OnBh
aW50KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQp
CiAgICAgUmVuZGVyQmxvY2tGbG93OjpwYWludChwYWludEluZm8sIHBhaW50T2Zmc2V0KTsKIH0K
IAotY29uc3QgU3RyaW5nJiBSZW5kZXJMaXN0SXRlbTo6bWFya2VyVGV4dCgpIGNvbnN0CitTdHJp
bmdWaWV3IFJlbmRlckxpc3RJdGVtOjptYXJrZXJUZXh0V2l0aG91dFN1ZmZpeCgpIGNvbnN0CiB7
Ci0gICAgaWYgKG1fbWFya2VyKQotICAgICAgICByZXR1cm4gbV9tYXJrZXItPnRleHQoKTsKLSAg
ICByZXR1cm4gbnVsbEF0b20oKS5zdHJpbmcoKTsKKyAgICBpZiAoIW1fbWFya2VyKQorICAgICAg
ICByZXR1cm4geyB9OworICAgIHJldHVybiBtX21hcmtlci0+dGV4dFdpdGhvdXRTdWZmaXgoKTsK
IH0KIAotU3RyaW5nIFJlbmRlckxpc3RJdGVtOjptYXJrZXJUZXh0V2l0aFN1ZmZpeCgpIGNvbnN0
CitTdHJpbmdWaWV3IFJlbmRlckxpc3RJdGVtOjptYXJrZXJUZXh0V2l0aFN1ZmZpeCgpIGNvbnN0
CiB7CiAgICAgaWYgKCFtX21hcmtlcikKLSAgICAgICAgcmV0dXJuIFN0cmluZygpOwotCi0gICAg
Ly8gQXBwZW5kIHRoZSBzdWZmaXggZm9yIHRoZSBtYXJrZXIgaW4gdGhlIHJpZ2h0IHBsYWNlIGRl
cGVuZGluZwotICAgIC8vIG9uIHRoZSBkaXJlY3Rpb24gb2YgdGhlIHRleHQgKHJpZ2h0LXRvLWxl
ZnQgb3IgbGVmdC10by1yaWdodCkuCi0gICAgaWYgKG1fbWFya2VyLT5zdHlsZSgpLmlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSkKLSAgICAgICAgcmV0dXJuIG1fbWFya2VyLT50ZXh0KCkgKyBtX21h
cmtlci0+c3VmZml4KCk7Ci0gICAgcmV0dXJuIG1fbWFya2VyLT5zdWZmaXgoKSArIG1fbWFya2Vy
LT50ZXh0KCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIG1fbWFya2VyLT50ZXh0
V2l0aFN1ZmZpeCgpOwogfQogCiB2b2lkIFJlbmRlckxpc3RJdGVtOjpleHBsaWNpdFZhbHVlQ2hh
bmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0
ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5oCmluZGV4IDg0
YzIyYTAxODJjNDJiMjBmOWM4ZWI4NWEyMTYxMWY2NmJkZDM4OWQuLjExZjg1YzM4ODBlMzNlMTFm
N2Y3MmJlMDE2M2U4MGRmMmI2ODk0NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMaXN0SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0SXRlbS5oCkBAIC00Niw4ICs0Niw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE5vdElu
TGlzdChib29sIG5vdEluTGlzdCkgeyBtX25vdEluTGlzdCA9IG5vdEluTGlzdDsgfQogICAgIGJv
b2wgbm90SW5MaXN0KCkgY29uc3QgeyByZXR1cm4gbV9ub3RJbkxpc3Q7IH0KIAotICAgIFdFQkNP
UkVfRVhQT1JUIGNvbnN0IFN0cmluZyYgbWFya2VyVGV4dCgpIGNvbnN0OwotICAgIFN0cmluZyBt
YXJrZXJUZXh0V2l0aFN1ZmZpeCgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIFN0cmluZ1Zp
ZXcgbWFya2VyVGV4dFdpdGhvdXRTdWZmaXgoKSBjb25zdDsKKyAgICBTdHJpbmdWaWV3IG1hcmtl
clRleHRXaXRoU3VmZml4KCkgY29uc3Q7CiAKICAgICB2b2lkIHVwZGF0ZUxpc3RNYXJrZXJOdW1i
ZXJzKCk7CiAKQEAgLTYyLDcgKzYyLDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNJblJldmVyc2Vk
T3JkZXJlZExpc3QoKSBjb25zdDsKIAogcHJpdmF0ZToKLQogICAgIGNvbnN0IGNoYXIqIHJlbmRl
ck5hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAiUmVuZGVyTGlzdEl0ZW0iOyB9CiAKICAgICBi
b29sIGlzTGlzdEl0ZW0oKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKaW5kZXggNmRjZGUzMzQ5ZTNl
ZTkxMDJjNWFiODMyOTc4ZDdlYWVmZmNhYTY0MS4uMGVjNGEwMzdiMjYzMTMzOWVjYTcwYTRlNzIy
OWVhYWMyMzZiN2FiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RNYXJrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
TWFya2VyLmNwcApAQCAtNDcsNDcgKzQ3LDEwIEBAIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1Q
TChSZW5kZXJMaXN0TWFya2VyKTsKIAogY29uc3RleHByIGludCBjTWFya2VyUGFkZGluZyA9IDc7
CiAKLWVudW0gY2xhc3MgTGV0dGVyQ2FzZSB7IExvd2VyLCBVcHBlciB9OwotZW51bSBjbGFzcyBT
ZXF1ZW5jZVR5cGUgeyBOdW1lcmljLCBBbHBoYWJldGljIH07CitlbnVtIGNsYXNzIFNlcXVlbmNl
VHlwZSA6IGJvb2wgeyBOdW1lcmljLCBBbHBoYWJldGljIH07CitlbnVtIGNsYXNzIEZvcm1hbGl0
eSA6IGJvb2wgeyBJbmZvcm1hbCwgRm9ybWFsIH07CiAKLXN0YXRpYyBORVZFUl9JTkxJTkUgU3Ry
aW5nIHRvUm9tYW4oaW50IG51bWJlciwgTGV0dGVyQ2FzZSBsZXR0ZXJDYXNlKQotewotICAgIC8v
IEZJWE1FOiBDU1MzIGRlc2NyaWJlcyBob3cgdG8gbWFrZSB0aGlzIHdvcmsgZm9yIG11Y2ggbGFy
Z2VyIG51bWJlcnMsCi0gICAgLy8gdXNpbmcgb3ZlcmJhcnMgYW5kIHNwZWNpYWwgY2hhcmFjdGVy
cy4gSXQgYWxzbyBzcGVjaWZpZXMgdGhlIGNoYXJhY3RlcnMKLSAgICAvLyBpbiB0aGUgcmFuZ2Ug
VSsyMTYwIHRvIFUrMjE3RiBpbnN0ZWFkIG9mIHN0YW5kYXJkIEFTQ0lJIG9uZXMuCi0gICAgQVNT
RVJUKG51bWJlciA+PSAxICYmIG51bWJlciA8PSAzOTk5KTsKLQotICAgIC8vIEJpZyBlbm91Z2gg
dG8gc3RvcmUgbGFyZ2VzdCByb21hbiBudW1iZXIgbGVzcyB0aGFuIDM5OTkgd2hpY2gKLSAgICAv
LyBpcyAzODg4IChNTU1EQ0NDTFhYWFZJSUkpCi0gICAgY29uc3RleHByIHVuc2lnbmVkIGxldHRl
cnNTaXplID0gMTU7Ci0gICAgTENoYXIgbGV0dGVyc1tsZXR0ZXJzU2l6ZV07Ci0KLSAgICB1bnNp
Z25lZCBsZW5ndGggPSAwOwotICAgIGNvbnN0ZXhwciBMQ2hhciBsZGlnaXRzW10gPSB7ICdpJywg
J3YnLCAneCcsICdsJywgJ2MnLCAnZCcsICdtJyB9OwotICAgIGNvbnN0ZXhwciBMQ2hhciB1ZGln
aXRzW10gPSB7ICdJJywgJ1YnLCAnWCcsICdMJywgJ0MnLCAnRCcsICdNJyB9OwotICAgIGNvbnN0
IExDaGFyKiBkaWdpdHMgPSBsZXR0ZXJDYXNlID09IExldHRlckNhc2U6OlVwcGVyID8gdWRpZ2l0
cyA6IGxkaWdpdHM7Ci0gICAgaW50IGQgPSAwOwotICAgIGRvIHsKLSAgICAgICAgaW50IG51bSA9
IG51bWJlciAlIDEwOwotICAgICAgICBpZiAobnVtICUgNSA8IDQpCi0gICAgICAgICAgICBmb3Ig
KGludCBpID0gbnVtICUgNTsgaSA+IDA7IGktLSkKLSAgICAgICAgICAgICAgICBsZXR0ZXJzW2xl
dHRlcnNTaXplIC0gKytsZW5ndGhdID0gZGlnaXRzW2RdOwotICAgICAgICBpZiAobnVtID49IDQg
JiYgbnVtIDw9IDgpCi0gICAgICAgICAgICBsZXR0ZXJzW2xldHRlcnNTaXplIC0gKytsZW5ndGhd
ID0gZGlnaXRzW2QgKyAxXTsKLSAgICAgICAgaWYgKG51bSA9PSA5KQotICAgICAgICAgICAgbGV0
dGVyc1tsZXR0ZXJzU2l6ZSAtICsrbGVuZ3RoXSA9IGRpZ2l0c1tkICsgMl07Ci0gICAgICAgIGlm
IChudW0gJSA1ID09IDQpCi0gICAgICAgICAgICBsZXR0ZXJzW2xldHRlcnNTaXplIC0gKytsZW5n
dGhdID0gZGlnaXRzW2RdOwotICAgICAgICBudW1iZXIgLz0gMTA7Ci0gICAgICAgIGQgKz0gMjsK
LSAgICB9IHdoaWxlIChudW1iZXIpOwotCi0gICAgQVNTRVJUKGxlbmd0aCA8PSBsZXR0ZXJzU2l6
ZSk7Ci0gICAgcmV0dXJuIHsgJmxldHRlcnNbbGV0dGVyc1NpemUgLSBsZW5ndGhdLCBsZW5ndGgg
fTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KLXN0YXRpYyBpbmxpbmUg
U3RyaW5nIHRvQWxwaGFiZXRpY09yTnVtZXJpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJU
eXBlKiBzZXF1ZW5jZSwgdW5zaWduZWQgc2VxdWVuY2VTaXplLCBTZXF1ZW5jZVR5cGUgdHlwZSkK
K3RlbXBsYXRlPFNlcXVlbmNlVHlwZSB0eXBlLCB0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0
aWMgU3RyaW5nIHRvQWxwaGFiZXRpY09yTnVtZXJpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0
ZXJUeXBlKiBzZXF1ZW5jZSwgdW5zaWduZWQgc2VxdWVuY2VTaXplKQogewogICAgIEFTU0VSVChz
ZXF1ZW5jZVNpemUgPj0gMik7CiAKQEAgLTk4LDcgKzYxLDcgQEAgc3RhdGljIGlubGluZSBTdHJp
bmcgdG9BbHBoYWJldGljT3JOdW1lcmljKGludCBudW1iZXIsIGNvbnN0IENoYXJhY3RlclR5cGUq
IHNlcXUKIAogICAgIGJvb2wgaXNOZWdhdGl2ZU51bWJlciA9IGZhbHNlOwogICAgIHVuc2lnbmVk
IG51bWJlclNoYWRvdyA9IG51bWJlcjsKLSAgICBpZiAodHlwZSA9PSBTZXF1ZW5jZVR5cGU6OkFs
cGhhYmV0aWMpIHsKKyAgICBpZiBjb25zdGV4cHIgKHR5cGUgPT0gU2VxdWVuY2VUeXBlOjpBbHBo
YWJldGljKSB7CiAgICAgICAgIEFTU0VSVChudW1iZXIgPiAwKTsKICAgICAgICAgLS1udW1iZXJT
aGFkb3c7CiAgICAgfSBlbHNlIGlmIChudW1iZXIgPCAwKSB7CkBAIC0xMDgsNyArNzEsNyBAQCBz
dGF0aWMgaW5saW5lIFN0cmluZyB0b0FscGhhYmV0aWNPck51bWVyaWMoaW50IG51bWJlciwgY29u
c3QgQ2hhcmFjdGVyVHlwZSogc2VxdQogICAgIGxldHRlcnNbbGV0dGVyc1NpemUgLSAxXSA9IHNl
cXVlbmNlW251bWJlclNoYWRvdyAlIHNlcXVlbmNlU2l6ZV07CiAgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gMTsKIAotICAgIGlmICh0eXBlID09IFNlcXVlbmNlVHlwZTo6QWxwaGFiZXRpYykgeworICAg
IGlmIGNvbnN0ZXhwciAodHlwZSA9PSBTZXF1ZW5jZVR5cGU6OkFscGhhYmV0aWMpIHsKICAgICAg
ICAgd2hpbGUgKChudW1iZXJTaGFkb3cgLz0gc2VxdWVuY2VTaXplKSA+IDApIHsKICAgICAgICAg
ICAgIC0tbnVtYmVyU2hhZG93OwogICAgICAgICAgICAgbGV0dGVyc1tsZXR0ZXJzU2l6ZSAtICsr
bGVuZ3RoXSA9IHNlcXVlbmNlW251bWJlclNoYWRvdyAlIHNlcXVlbmNlU2l6ZV07CkBAIC0xMjQs
MTQgKzg3LDEzIEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5nIHRvQWxwaGFiZXRpY09yTnVtZXJpYyhp
bnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBzZXF1CiAgICAgcmV0dXJuIHsgJmxldHRl
cnNbbGV0dGVyc1NpemUgLSBsZW5ndGhdLCBsZW5ndGggfTsKIH0KIAotdGVtcGxhdGU8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KLXN0YXRpYyBORVZFUl9JTkxJTkUgU3RyaW5nIHRvU3ltYm9saWMo
aW50IG51bWJlciwgY29uc3QgQ2hhcmFjdGVyVHlwZSogc3ltYm9scywgdW5zaWduZWQgc3ltYm9s
c1NpemUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgU3RyaW5nIHRv
U3ltYm9saWMoaW50IG51bWJlciwgY29uc3QgQ2hhcmFjdGVyVHlwZSogc3ltYm9scywgdW5zaWdu
ZWQgc3ltYm9sc1NpemUpCiB7CiAgICAgQVNTRVJUKG51bWJlciA+IDApOwogICAgIEFTU0VSVChz
eW1ib2xzU2l6ZSA+PSAxKTsKIAogICAgIC8vIFRoZSBhc3Rlcmlza3MgbGlzdC1zdHlsZS10eXBl
IGlzIHRoZSB3b3JzdCBjYXNlOyB3ZSBzaG93IHxudW1iZXJ8IGFzdGVyaXNrcy4KLSAgICBDaGFy
YWN0ZXJUeXBlIHN5bWJvbCA9IHN5bWJvbHNbKG51bWJlciAtIDEpICUgc3ltYm9sc1NpemVdOwor
ICAgIGF1dG8gc3ltYm9sID0gc3ltYm9sc1sobnVtYmVyIC0gMSkgJSBzeW1ib2xzU2l6ZV07CiAg
ICAgdW5zaWduZWQgY291bnQgPSAobnVtYmVyIC0gMSkgLyBzeW1ib2xzU2l6ZSArIDE7CiAKICAg
ICBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzOwpAQCAtMTQxLDI0NiArMTAzLDkwIEBAIHN0YXRp
YyBORVZFUl9JTkxJTkUgU3RyaW5nIHRvU3ltYm9saWMoaW50IG51bWJlciwgY29uc3QgQ2hhcmFj
dGVyVHlwZSogc3ltYm9scywKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi10ZW1wbGF0ZTx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlPgotc3RhdGljIE5FVkVSX0lOTElORSBTdHJpbmcgdG9BbHBoYWJl
dGljKGludCBudW1iZXIsIGNvbnN0IENoYXJhY3RlclR5cGUqIGFscGhhYmV0LCB1bnNpZ25lZCBh
bHBoYWJldFNpemUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMgU3Ry
aW5nIHRvQWxwaGFiZXRpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBhbHBoYWJl
dCwgdW5zaWduZWQgYWxwaGFiZXRTaXplKQogewotICAgIHJldHVybiB0b0FscGhhYmV0aWNPck51
bWVyaWMobnVtYmVyLCBhbHBoYWJldCwgYWxwaGFiZXRTaXplLCBTZXF1ZW5jZVR5cGU6OkFscGhh
YmV0aWMpOworICAgIHJldHVybiB0b0FscGhhYmV0aWNPck51bWVyaWM8U2VxdWVuY2VUeXBlOjpB
bHBoYWJldGljPihudW1iZXIsIGFscGhhYmV0LCBhbHBoYWJldFNpemUpOwogfQogCi10ZW1wbGF0
ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgotc3RhdGljIE5FVkVSX0lOTElORSBTdHJpbmcgdG9O
dW1lcmljKGludCBudW1iZXIsIGNvbnN0IENoYXJhY3RlclR5cGUqIG51bWVyYWxzLCB1bnNpZ25l
ZCBudW1lcmFsc1NpemUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0aWMg
U3RyaW5nIHRvTnVtZXJpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBudW1lcmFs
cywgdW5zaWduZWQgbnVtZXJhbHNTaXplKQogewotICAgIHJldHVybiB0b0FscGhhYmV0aWNPck51
bWVyaWMobnVtYmVyLCBudW1lcmFscywgbnVtZXJhbHNTaXplLCBTZXF1ZW5jZVR5cGU6Ok51bWVy
aWMpOworICAgIHJldHVybiB0b0FscGhhYmV0aWNPck51bWVyaWM8U2VxdWVuY2VUeXBlOjpOdW1l
cmljPihudW1iZXIsIG51bWVyYWxzLCBudW1lcmFsc1NpemUpOwogfQogCi10ZW1wbGF0ZTx0eXBl
bmFtZSBDaGFyYWN0ZXJUeXBlLCBzaXplX3Qgc2l6ZT4KLXN0YXRpYyBpbmxpbmUgU3RyaW5nIHRv
QWxwaGFiZXRpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKCZhbHBoYWJldClbc2l6
ZV0pCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlLCBzaXplX3Qgc2l6ZT4gc3RhdGlj
IFN0cmluZyB0b0FscGhhYmV0aWMoaW50IG51bWJlciwgY29uc3QgQ2hhcmFjdGVyVHlwZSgmYWxw
aGFiZXQpW3NpemVdKQogewogICAgIHJldHVybiB0b0FscGhhYmV0aWMobnVtYmVyLCBhbHBoYWJl
dCwgc2l6ZSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGUsIHNpemVfdCBz
aXplPgotc3RhdGljIGlubGluZSBTdHJpbmcgdG9OdW1lcmljKGludCBudW1iZXIsIGNvbnN0IENo
YXJhY3RlclR5cGUoJmFscGhhYmV0KVtzaXplXSkKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3Rl
clR5cGUsIHNpemVfdCBzaXplPiBzdGF0aWMgU3RyaW5nIHRvTnVtZXJpYyhpbnQgbnVtYmVyLCBj
b25zdCBDaGFyYWN0ZXJUeXBlKCZhbHBoYWJldClbc2l6ZV0pCiB7CiAgICAgcmV0dXJuIHRvTnVt
ZXJpYyhudW1iZXIsIGFscGhhYmV0LCBzaXplKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQ2hh
cmFjdGVyVHlwZSwgc2l6ZV90IHNpemU+Ci1zdGF0aWMgaW5saW5lIFN0cmluZyB0b1N5bWJvbGlj
KGludCBudW1iZXIsIGNvbnN0IENoYXJhY3RlclR5cGUoJmFscGhhYmV0KVtzaXplXSkKK3RlbXBs
YXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGUsIHNpemVfdCBzaXplPiBzdGF0aWMgU3RyaW5nIHRv
U3ltYm9saWMoaW50IG51bWJlciwgY29uc3QgQ2hhcmFjdGVyVHlwZSgmYWxwaGFiZXQpW3NpemVd
KQogeyAgICAKICAgICByZXR1cm4gdG9TeW1ib2xpYyhudW1iZXIsIGFscGhhYmV0LCBzaXplKTsK
IH0KIAotc3RhdGljIE5FVkVSX0lOTElORSBpbnQgdG9IZWJyZXdVbmRlcjEwMDAoaW50IG51bWJl
ciwgVUNoYXIgbGV0dGVyc1s1XSkKLXsKLSAgICAvLyBGSVhNRTogQ1NTMyBtZW50aW9ucyB2YXJp
b3VzIHJlZmluZW1lbnRzIG5vdCBpbXBsZW1lbnRlZCBoZXJlLgotICAgIC8vIEZJWE1FOiBTaG91
bGQgdGFrZSBhIGxvb2sgYXQgTW96aWxsYSdzIEhlYnJld1RvVGV4dCBmdW5jdGlvbiAoaW4gbnNC
dWxsZXRGcmFtZSkuCi0gICAgQVNTRVJUKG51bWJlciA+PSAwICYmIG51bWJlciA8IDEwMDApOwot
ICAgIGludCBsZW5ndGggPSAwOwotICAgIGludCBmb3VySHVuZHJlZHMgPSBudW1iZXIgLyA0MDA7
Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBmb3VySHVuZHJlZHM7IGkrKykKLSAgICAgICAgbGV0
dGVyc1tsZW5ndGgrK10gPSAxNTExICsgMzsKLSAgICBudW1iZXIgJT0gNDAwOwotICAgIGlmIChu
dW1iZXIgLyAxMDApCi0gICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gMTUxMSArIChudW1iZXIg
LyAxMDApIC0gMTsKLSAgICBudW1iZXIgJT0gMTAwOwotICAgIGlmIChudW1iZXIgPT0gMTUgfHwg
bnVtYmVyID09IDE2KSB7Ci0gICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gMTQ4NyArIDk7Ci0g
ICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gMTQ4NyArIG51bWJlciAtIDk7Ci0gICAgfSBlbHNl
IHsKLSAgICAgICAgaWYgKGludCB0ZW5zID0gbnVtYmVyIC8gMTApIHsKLSAgICAgICAgICAgIHN0
YXRpYyBjb25zdGV4cHIgVUNoYXIgaGVicmV3VGVuc1s5XSA9IHsgMTQ5NywgMTQ5OSwgMTUwMCwg
MTUwMiwgMTUwNCwgMTUwNSwgMTUwNiwgMTUwOCwgMTUxMCB9OwotICAgICAgICAgICAgbGV0dGVy
c1tsZW5ndGgrK10gPSBoZWJyZXdUZW5zW3RlbnMgLSAxXTsKLSAgICAgICAgfQotICAgICAgICBp
ZiAoaW50IG9uZXMgPSBudW1iZXIgJSAxMCkKLSAgICAgICAgICAgIGxldHRlcnNbbGVuZ3RoKytd
ID0gMTQ4NyArIG9uZXM7Ci0gICAgfQotICAgIEFTU0VSVChsZW5ndGggPD0gNSk7Ci0gICAgcmV0
dXJuIGxlbmd0aDsKLX0KLQotc3RhdGljIE5FVkVSX0lOTElORSBTdHJpbmcgdG9IZWJyZXcoaW50
IG51bWJlcikKKy8vIFRoaXMgdGFibGUgZm9ybWF0IHdhcyBkZXJpdmVkIGZyb20gYW4gb2xkIGRy
YWZ0IG9mIHRoZSBDU1Mgc3BlY2lmaWNhdGlvbjogMyBncm91cCBtYXJrZXJzLCAzIGRpZ2l0IG1h
cmtlcnMsIDEwIGRpZ2l0cywgbmVnYXRpdmUgc2lnbi4KK3N0YXRpYyBTdHJpbmcgdG9DSktJZGVv
Z3JhcGhpYyhpbnQgbnVtYmVyLCBjb25zdCBVQ2hhciB0YWJsZVsxN10sIEZvcm1hbGl0eSBmb3Jt
YWxpdHkpCiB7Ci0gICAgLy8gRklYTUU6IENTUzMgbWVudGlvbnMgd2F5cyB0byBtYWtlIHRoaXMg
d29yayBmb3IgbXVjaCBsYXJnZXIgbnVtYmVycy4KLSAgICBBU1NFUlQobnVtYmVyID49IDAgJiYg
bnVtYmVyIDw9IDk5OTk5OSk7Ci0KLSAgICBpZiAobnVtYmVyID09IDApIHsKLSAgICAgICAgc3Rh
dGljIGNvbnN0ZXhwciBVQ2hhciBoZWJyZXdaZXJvWzNdID0geyAweDA1RDAsIDB4MDVFNCwgMHgw
NUUxIH07Ci0gICAgICAgIHJldHVybiB7IGhlYnJld1plcm8sIDMgfTsKLSAgICB9Ci0KLSAgICBj
b25zdGV4cHIgdW5zaWduZWQgbGV0dGVyc1NpemUgPSAxMTsgLy8gYmlnIGVub3VnaCBmb3IgdHdv
IDUtZGlnaXQgc2VxdWVuY2VzIHBsdXMgYSBxdW90ZSBtYXJrIGJldHdlZW4KLSAgICBVQ2hhciBs
ZXR0ZXJzW2xldHRlcnNTaXplXTsKLQotICAgIHVuc2lnbmVkIGxlbmd0aDsKLSAgICBpZiAobnVt
YmVyIDwgMTAwMCkKLSAgICAgICAgbGVuZ3RoID0gMDsKLSAgICBlbHNlIHsKLSAgICAgICAgbGVu
Z3RoID0gdG9IZWJyZXdVbmRlcjEwMDAobnVtYmVyIC8gMTAwMCwgbGV0dGVycyk7Ci0gICAgICAg
IGxldHRlcnNbbGVuZ3RoKytdID0gJ1wnJzsKLSAgICAgICAgbnVtYmVyID0gbnVtYmVyICUgMTAw
MDsKLSAgICB9Ci0gICAgbGVuZ3RoICs9IHRvSGVicmV3VW5kZXIxMDAwKG51bWJlciwgbGV0dGVy
cyArIGxlbmd0aCk7Ci0KLSAgICBBU1NFUlQobGVuZ3RoIDw9IGxldHRlcnNTaXplKTsKLSAgICBy
ZXR1cm4geyBsZXR0ZXJzLCBsZW5ndGggfTsKLX0KLQotc3RhdGljIE5FVkVSX0lOTElORSB1bnNp
Z25lZCB0b0FybWVuaWFuVW5kZXIxMDAwMChpbnQgbnVtYmVyLCBMZXR0ZXJDYXNlIGxldHRlckNh
c2UsIGJvb2wgYWRkQ2lyY3VtZmxleCwgVUNoYXIgbGV0dGVyc1s5XSkKLXsKLSAgICBBU1NFUlQo
bnVtYmVyID49IDAgJiYgbnVtYmVyIDwgMTAwMDApOwotICAgIHVuc2lnbmVkIGxlbmd0aCA9IDA7
Ci0KLSAgICBpbnQgbG93ZXJPZmZzZXQgPSBsZXR0ZXJDYXNlID09IExldHRlckNhc2U6OlVwcGVy
ID8gMCA6IDB4MDAzMDsKLQotICAgIGlmIChpbnQgdGhvdXNhbmRzID0gbnVtYmVyIC8gMTAwMCkg
ewotICAgICAgICBpZiAodGhvdXNhbmRzID09IDcpIHsKLSAgICAgICAgICAgIGxldHRlcnNbbGVu
Z3RoKytdID0gMHgwNTUyICsgbG93ZXJPZmZzZXQ7Ci0gICAgICAgICAgICBpZiAoYWRkQ2lyY3Vt
ZmxleCkKLSAgICAgICAgICAgICAgICBsZXR0ZXJzW2xlbmd0aCsrXSA9IDB4MDMwMjsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gKDB4MDU0QyAtIDEg
KyBsb3dlck9mZnNldCkgKyB0aG91c2FuZHM7Ci0gICAgICAgICAgICBpZiAoYWRkQ2lyY3VtZmxl
eCkKLSAgICAgICAgICAgICAgICBsZXR0ZXJzW2xlbmd0aCsrXSA9IDB4MDMwMjsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIGlmIChpbnQgaHVuZHJlZHMgPSAobnVtYmVyIC8gMTAwKSAlIDEwKSB7
Ci0gICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gKDB4MDU0MyAtIDEgKyBsb3dlck9mZnNldCkg
KyBodW5kcmVkczsKLSAgICAgICAgaWYgKGFkZENpcmN1bWZsZXgpCi0gICAgICAgICAgICBsZXR0
ZXJzW2xlbmd0aCsrXSA9IDB4MDMwMjsKLSAgICB9Ci0KLSAgICBpZiAoaW50IHRlbnMgPSAobnVt
YmVyIC8gMTApICUgMTApIHsKLSAgICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSAoMHgwNTNBIC0g
MSArIGxvd2VyT2Zmc2V0KSArIHRlbnM7Ci0gICAgICAgIGlmIChhZGRDaXJjdW1mbGV4KQotICAg
ICAgICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSAweDAzMDI7Ci0gICAgfQotCi0gICAgaWYgKGlu
dCBvbmVzID0gbnVtYmVyICUgMTApIHsKLSAgICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSAoMHg1
MzEgLSAxICsgbG93ZXJPZmZzZXQpICsgb25lczsKLSAgICAgICAgaWYgKGFkZENpcmN1bWZsZXgp
Ci0gICAgICAgICAgICBsZXR0ZXJzW2xlbmd0aCsrXSA9IDB4MDMwMjsKLSAgICB9Ci0KLSAgICBy
ZXR1cm4gbGVuZ3RoOwotfQotCi1zdGF0aWMgTkVWRVJfSU5MSU5FIFN0cmluZyB0b0FybWVuaWFu
KGludCBudW1iZXIsIExldHRlckNhc2UgbGV0dGVyQ2FzZSkKLXsKLSAgICBBU1NFUlQobnVtYmVy
ID49IDEgJiYgbnVtYmVyIDw9IDk5OTk5OTk5KTsKLQotICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBs
ZXR0ZXJzU2l6ZSA9IDE4OyAvLyB0d2ljZSB3aGF0IHRvQXJtZW5pYW5VbmRlcjEwMDAwIG5lZWRz
Ci0gICAgVUNoYXIgbGV0dGVyc1tsZXR0ZXJzU2l6ZV07Ci0KLSAgICB1bnNpZ25lZCBsZW5ndGgg
PSB0b0FybWVuaWFuVW5kZXIxMDAwMChudW1iZXIgLyAxMDAwMCwgbGV0dGVyQ2FzZSwgdHJ1ZSwg
bGV0dGVycyk7Ci0gICAgbGVuZ3RoICs9IHRvQXJtZW5pYW5VbmRlcjEwMDAwKG51bWJlciAlIDEw
MDAwLCBsZXR0ZXJDYXNlLCBmYWxzZSwgbGV0dGVycyArIGxlbmd0aCk7Ci0KLSAgICBBU1NFUlQo
bGVuZ3RoIDw9IGxldHRlcnNTaXplKTsKLSAgICByZXR1cm4geyBsZXR0ZXJzLCBsZW5ndGggfTsK
LX0KLQotc3RhdGljIE5FVkVSX0lOTElORSBTdHJpbmcgdG9HZW9yZ2lhbihpbnQgbnVtYmVyKQot
ewotICAgIEFTU0VSVChudW1iZXIgPj0gMSAmJiBudW1iZXIgPD0gMTk5OTkpOwotCi0gICAgY29u
c3RleHByIHVuc2lnbmVkIGxldHRlcnNTaXplID0gNTsKLSAgICBVQ2hhciBsZXR0ZXJzW2xldHRl
cnNTaXplXTsKLQotICAgIHVuc2lnbmVkIGxlbmd0aCA9IDA7Ci0KLSAgICBpZiAobnVtYmVyID4g
OTk5OSkKLSAgICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSAweDEwRjU7Ci0KLSAgICBpZiAoaW50
IHRob3VzYW5kcyA9IChudW1iZXIgLyAxMDAwKSAlIDEwKSB7Ci0gICAgICAgIHN0YXRpYyBjb25z
dGV4cHIgVUNoYXIgZ2VvcmdpYW5UaG91c2FuZHNbOV0gPSB7Ci0gICAgICAgICAgICAweDEwRTks
IDB4MTBFQSwgMHgxMEVCLCAweDEwRUMsIDB4MTBFRCwgMHgxMEVFLCAweDEwRjQsIDB4MTBFRiwg
MHgxMEYwCi0gICAgICAgIH07Ci0gICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gZ2VvcmdpYW5U
aG91c2FuZHNbdGhvdXNhbmRzIC0gMV07Ci0gICAgfQotCi0gICAgaWYgKGludCBodW5kcmVkcyA9
IChudW1iZXIgLyAxMDApICUgMTApIHsKLSAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBn
ZW9yZ2lhbkh1bmRyZWRzWzldID0gewotICAgICAgICAgICAgMHgxMEUwLCAweDEwRTEsIDB4MTBF
MiwgMHgxMEYzLCAweDEwRTQsIDB4MTBFNSwgMHgxMEU2LCAweDEwRTcsIDB4MTBFOAotICAgICAg
ICB9OwotICAgICAgICBsZXR0ZXJzW2xlbmd0aCsrXSA9IGdlb3JnaWFuSHVuZHJlZHNbaHVuZHJl
ZHMgLSAxXTsKLSAgICB9Ci0KLSAgICBpZiAoaW50IHRlbnMgPSAobnVtYmVyIC8gMTApICUgMTAp
IHsKLSAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBnZW9yZ2lhblRlbnNbOV0gPSB7Ci0g
ICAgICAgICAgICAweDEwRDgsIDB4MTBEOSwgMHgxMERBLCAweDEwREIsIDB4MTBEQywgMHgxMEYy
LCAweDEwREQsIDB4MTBERSwgMHgxMERGCi0gICAgICAgIH07Ci0gICAgICAgIGxldHRlcnNbbGVu
Z3RoKytdID0gZ2VvcmdpYW5UZW5zW3RlbnMgLSAxXTsKLSAgICB9Ci0KLSAgICBpZiAoaW50IG9u
ZXMgPSBudW1iZXIgJSAxMCkgewotICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGdlb3Jn
aWFuT25lc1s5XSA9IHsKLSAgICAgICAgICAgIDB4MTBEMCwgMHgxMEQxLCAweDEwRDIsIDB4MTBE
MywgMHgxMEQ0LCAweDEwRDUsIDB4MTBENiwgMHgxMEYxLCAweDEwRDcKLSAgICAgICAgfTsKLSAg
ICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSBnZW9yZ2lhbk9uZXNbb25lcyAtIDFdOwotICAgIH0K
LQotICAgIEFTU0VSVChsZW5ndGggPD0gbGV0dGVyc1NpemUpOwotICAgIHJldHVybiB7IGxldHRl
cnMsIGxlbmd0aCB9OwotfQotCi0vLyBUaGUgdGFibGUgdXNlcyB0aGUgb3JkZXIgZnJvbSB0aGUg
Q1NTMyBzcGVjaWZpY2F0aW9uOgotLy8gZmlyc3QgMyBncm91cCBtYXJrZXJzLCB0aGVuIDMgZGln
aXQgbWFya2VycywgdGhlbiB0ZW4gZGlnaXRzLgotc3RhdGljIE5FVkVSX0lOTElORSBTdHJpbmcg
dG9DSktJZGVvZ3JhcGhpYyhpbnQgbnVtYmVyLCBjb25zdCBVQ2hhciB0YWJsZVsxNl0pCi17Ci0g
ICAgQVNTRVJUKG51bWJlciA+PSAwKTsKLQotICAgIGVudW0gQWJzdHJhY3RDSktDaGFyIHsKLSAg
ICAgICAgbm9DaGFyLAotICAgICAgICBzZWNvbmRHcm91cE1hcmtlciwgdGhpcmRHcm91cE1hcmtl
ciwgZm91cnRoR3JvdXBNYXJrZXIsCi0gICAgICAgIHNlY29uZERpZ2l0TWFya2VyLCB0aGlyZERp
Z2l0TWFya2VyLCBmb3VydGhEaWdpdE1hcmtlciwKLSAgICAgICAgZGlnaXQwLCBkaWdpdDEsIGRp
Z2l0MiwgZGlnaXQzLCBkaWdpdDQsCi0gICAgICAgIGRpZ2l0NSwgZGlnaXQ2LCBkaWdpdDcsIGRp
Z2l0OCwgZGlnaXQ5CisgICAgZW51bSBBYnN0cmFjdENKS0NoYXJhY3RlciB7CisgICAgICAgIE5v
Q2hhciwKKyAgICAgICAgU2Vjb25kR3JvdXBNYXJrZXIsIFRoaXJkR3JvdXBNYXJrZXIsIEZvdXJ0
aEdyb3VwTWFya2VyLAorICAgICAgICBTZWNvbmREaWdpdE1hcmtlciwgVGhpcmREaWdpdE1hcmtl
ciwgRm91cnRoRGlnaXRNYXJrZXIsCisgICAgICAgIERpZ2l0MCwgRGlnaXQxLCBEaWdpdDIsIERp
Z2l0MywgRGlnaXQ0LAorICAgICAgICBEaWdpdDUsIERpZ2l0NiwgRGlnaXQ3LCBEaWdpdDgsIERp
Z2l0OSwKKyAgICAgICAgTmVnYXRpdmVTaWduCiAgICAgfTsKIAogICAgIGlmICghbnVtYmVyKQot
ICAgICAgICByZXR1cm4geyAmdGFibGVbZGlnaXQwIC0gMV0gLCAxIH07CisgICAgICAgIHJldHVy
biB7ICZ0YWJsZVtEaWdpdDAgLSAxXSAsIDEgfTsKKworICAgIEFTU0VSVChudW1iZXIgIT0gc3Rk
OjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKSk7CisgICAgYm9vbCBuZWVkc05lZ2F0aXZlU2ln
biA9IG51bWJlciA8IDA7CisgICAgaWYgKG5lZWRzTmVnYXRpdmVTaWduKQorICAgICAgICBudW1i
ZXIgPSAtbnVtYmVyOwogCiAgICAgY29uc3RleHByIHVuc2lnbmVkIGdyb3VwTGVuZ3RoID0gODsg
Ly8gNCBkaWdpdHMsIDMgZGlnaXQgbWFya2VycywgYW5kIGEgZ3JvdXAgbWFya2VyCiAgICAgY29u
c3RleHByIHVuc2lnbmVkIGJ1ZmZlckxlbmd0aCA9IDQgKiBncm91cExlbmd0aDsKLSAgICBBYnN0
cmFjdENKS0NoYXIgYnVmZmVyW2J1ZmZlckxlbmd0aF0gPSB7IG5vQ2hhciB9OworICAgIEFic3Ry
YWN0Q0pLQ2hhcmFjdGVyIGJ1ZmZlcltidWZmZXJMZW5ndGhdID0geyBOb0NoYXIgfTsKIAogICAg
IGZvciAoaW50IGkgPSAwOyBpIDwgNDsgKytpKSB7CiAgICAgICAgIGludCBncm91cFZhbHVlID0g
bnVtYmVyICUgMTAwMDA7CiAgICAgICAgIG51bWJlciAvPSAxMDAwMDsKIAogICAgICAgICAvLyBQ
cm9jZXNzIGxlYXN0LXNpZ25pZmljYW50IGdyb3VwIGZpcnN0LCBidXQgcHV0IGl0IGluIHRoZSBi
dWZmZXIgbGFzdC4KLSAgICAgICAgQWJzdHJhY3RDSktDaGFyKiBncm91cCA9ICZidWZmZXJbKDMg
LSBpKSAqIGdyb3VwTGVuZ3RoXTsKKyAgICAgICAgYXV0byBncm91cCA9ICZidWZmZXJbKDMgLSBp
KSAqIGdyb3VwTGVuZ3RoXTsKIAogICAgICAgICBpZiAoZ3JvdXBWYWx1ZSAmJiBpKQotICAgICAg
ICAgICAgZ3JvdXBbN10gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXI+KHNlY29uZEdyb3Vw
TWFya2VyIC0gMSArIGkpOworICAgICAgICAgICAgZ3JvdXBbN10gPSBzdGF0aWNfY2FzdDxBYnN0
cmFjdENKS0NoYXJhY3Rlcj4oU2Vjb25kR3JvdXBNYXJrZXIgLSAxICsgaSk7CiAKICAgICAgICAg
Ly8gUHV0IGluIHRoZSBmb3VyIGRpZ2l0cyBhbmQgZGlnaXQgbWFya2VycyBmb3IgYW55IG5vbi16
ZXJvIGRpZ2l0cy4KLSAgICAgICAgZ3JvdXBbNl0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0No
YXI+KGRpZ2l0MCArIChncm91cFZhbHVlICUgMTApKTsKKyAgICAgICAgZ3JvdXBbNl0gPSBzdGF0
aWNfY2FzdDxBYnN0cmFjdENKS0NoYXJhY3Rlcj4oRGlnaXQwICsgKGdyb3VwVmFsdWUgJSAxMCkp
OwogICAgICAgICBpZiAobnVtYmVyICE9IDAgfHwgZ3JvdXBWYWx1ZSA+IDkpIHsKICAgICAgICAg
ICAgIGludCBkaWdpdFZhbHVlID0gKChncm91cFZhbHVlIC8gMTApICUgMTApOwotICAgICAgICAg
ICAgZ3JvdXBbNF0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXI+KGRpZ2l0MCArIGRpZ2l0
VmFsdWUpOworICAgICAgICAgICAgZ3JvdXBbNF0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0No
YXJhY3Rlcj4oRGlnaXQwICsgZGlnaXRWYWx1ZSk7CiAgICAgICAgICAgICBpZiAoZGlnaXRWYWx1
ZSkKLSAgICAgICAgICAgICAgICBncm91cFs1XSA9IHNlY29uZERpZ2l0TWFya2VyOworICAgICAg
ICAgICAgICAgIGdyb3VwWzVdID0gU2Vjb25kRGlnaXRNYXJrZXI7CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKG51bWJlciAhPSAwIHx8IGdyb3VwVmFsdWUgPiA5OSkgewogICAgICAgICAgICAgaW50
IGRpZ2l0VmFsdWUgPSAoKGdyb3VwVmFsdWUgLyAxMDApICUgMTApOwotICAgICAgICAgICAgZ3Jv
dXBbMl0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXI+KGRpZ2l0MCArIGRpZ2l0VmFsdWUp
OworICAgICAgICAgICAgZ3JvdXBbMl0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXJhY3Rl
cj4oRGlnaXQwICsgZGlnaXRWYWx1ZSk7CiAgICAgICAgICAgICBpZiAoZGlnaXRWYWx1ZSkKLSAg
ICAgICAgICAgICAgICBncm91cFszXSA9IHRoaXJkRGlnaXRNYXJrZXI7CisgICAgICAgICAgICAg
ICAgZ3JvdXBbM10gPSBUaGlyZERpZ2l0TWFya2VyOwogICAgICAgICB9CiAgICAgICAgIGlmIChu
dW1iZXIgIT0gMCB8fCBncm91cFZhbHVlID4gOTk5KSB7CiAgICAgICAgICAgICBpbnQgZGlnaXRW
YWx1ZSA9IGdyb3VwVmFsdWUgLyAxMDAwOwotICAgICAgICAgICAgZ3JvdXBbMF0gPSBzdGF0aWNf
Y2FzdDxBYnN0cmFjdENKS0NoYXI+KGRpZ2l0MCArIGRpZ2l0VmFsdWUpOworICAgICAgICAgICAg
Z3JvdXBbMF0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXJhY3Rlcj4oRGlnaXQwICsgZGln
aXRWYWx1ZSk7CiAgICAgICAgICAgICBpZiAoZGlnaXRWYWx1ZSkKLSAgICAgICAgICAgICAgICBn
cm91cFsxXSA9IGZvdXJ0aERpZ2l0TWFya2VyOworICAgICAgICAgICAgICAgIGdyb3VwWzFdID0g
Rm91cnRoRGlnaXRNYXJrZXI7CiAgICAgICAgIH0KIAotICAgICAgICAvLyBSZW1vdmUgdGhlIHRl
bnMgZGlnaXQsIGJ1dCBsZWF2ZSB0aGUgbWFya2VyLCBmb3IgYW55IGdyb3VwIHRoYXQgaGFzCi0g
ICAgICAgIC8vIGEgdmFsdWUgb2YgbGVzcyB0aGFuIDIwLgotICAgICAgICBpZiAoZ3JvdXBWYWx1
ZSA8IDIwKSB7Ci0gICAgICAgICAgICBBU1NFUlQoZ3JvdXBbNF0gPT0gbm9DaGFyIHx8IGdyb3Vw
WzRdID09IGRpZ2l0MCB8fCBncm91cFs0XSA9PSBkaWdpdDEpOwotICAgICAgICAgICAgZ3JvdXBb
NF0gPSBub0NoYXI7CisgICAgICAgIGlmIChmb3JtYWxpdHkgPT0gRm9ybWFsaXR5OjpJbmZvcm1h
bCAmJiBncm91cFZhbHVlIDwgMjApIHsKKyAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgdGVucyBk
aWdpdCwgYnV0IGxlYXZlIHRoZSBtYXJrZXIuCisgICAgICAgICAgICBBU1NFUlQoZ3JvdXBbNF0g
PT0gTm9DaGFyIHx8IGdyb3VwWzRdID09IERpZ2l0MCB8fCBncm91cFs0XSA9PSBEaWdpdDEpOwor
ICAgICAgICAgICAgZ3JvdXBbNF0gPSBOb0NoYXI7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAo
IW51bWJlcikKQEAgLTM4OSwyNiArMTk1LDEwNiBAQCBzdGF0aWMgTkVWRVJfSU5MSU5FIFN0cmlu
ZyB0b0NKS0lkZW9ncmFwaGljKGludCBudW1iZXIsIGNvbnN0IFVDaGFyIHRhYmxlWzE2XSkKIAog
ICAgIC8vIENvbnZlcnQgaW50byBjaGFyYWN0ZXJzLCBvbWl0dGluZyBjb25zZWN1dGl2ZSBydW5z
IG9mIGRpZ2l0MCBhbmQgdHJhaWxpbmcgZGlnaXQwLgogICAgIHVuc2lnbmVkIGxlbmd0aCA9IDA7
Ci0gICAgVUNoYXIgY2hhcmFjdGVyc1tidWZmZXJMZW5ndGhdOwotICAgIEFic3RyYWN0Q0pLQ2hh
ciBsYXN0ID0gbm9DaGFyOworICAgIFVDaGFyIGNoYXJhY3RlcnNbMSArIGJ1ZmZlckxlbmd0aF07
CisgICAgYXV0byBsYXN0ID0gTm9DaGFyOworICAgIGlmIChuZWVkc05lZ2F0aXZlU2lnbikKKyAg
ICAgICAgY2hhcmFjdGVyc1tsZW5ndGgrK10gPSB0YWJsZVtOZWdhdGl2ZVNpZ24gLSAxXTsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVyTGVuZ3RoOyArK2kpIHsKLSAgICAgICAg
QWJzdHJhY3RDSktDaGFyIGEgPSBidWZmZXJbaV07Ci0gICAgICAgIGlmIChhICE9IG5vQ2hhcikg
ewotICAgICAgICAgICAgaWYgKGEgIT0gZGlnaXQwIHx8IGxhc3QgIT0gZGlnaXQwKQotICAgICAg
ICAgICAgICAgIGNoYXJhY3RlcnNbbGVuZ3RoKytdID0gdGFibGVbYSAtIDFdOwotICAgICAgICAg
ICAgbGFzdCA9IGE7CisgICAgICAgIGF1dG8gY2hhcmFjdGVyID0gYnVmZmVyW2ldOworICAgICAg
ICBpZiAoY2hhcmFjdGVyICE9IE5vQ2hhcikgeworICAgICAgICAgICAgaWYgKGNoYXJhY3RlciAh
PSBEaWdpdDAgfHwgbGFzdCAhPSBEaWdpdDApCisgICAgICAgICAgICAgICAgY2hhcmFjdGVyc1ts
ZW5ndGgrK10gPSB0YWJsZVtjaGFyYWN0ZXIgLSAxXTsKKyAgICAgICAgICAgIGxhc3QgPSBjaGFy
YWN0ZXI7CiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKGxhc3QgPT0gZGlnaXQwKQorICAgIGlm
IChsYXN0ID09IERpZ2l0MCkKICAgICAgICAgLS1sZW5ndGg7CiAKICAgICByZXR1cm4geyBjaGFy
YWN0ZXJzLCBsZW5ndGggfTsKIH0KIAotc3RhdGljIExpc3RTdHlsZVR5cGUgZWZmZWN0aXZlTGlz
dE1hcmtlclR5cGUoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCitzdHJ1Y3QgQWRkaXRp
dmVTeW1ib2wgeworICAgIGludCB2YWx1ZTsKKyAgICBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8VUNo
YXI+IGNoYXJhY3RlcnM7Cit9Oworc3RydWN0IEFkZGl0aXZlU3lzdGVtIHsKKyAgICBzdGQ6Omlu
aXRpYWxpemVyX2xpc3Q8QWRkaXRpdmVTeW1ib2w+IHN5bWJvbHM7CisgICAgc3RkOjppbml0aWFs
aXplcl9saXN0PFVDaGFyPiBuZWdhdGl2ZTsKK307CisKK3N0YXRpYyBTdHJpbmcgdG9QcmVkZWZp
bmVkQWRkaXRpdmVTeXN0ZW0oaW50IHZhbHVlLCBjb25zdCBBZGRpdGl2ZVN5c3RlbSYgc3lzdGVt
KQoreworICAgIGlmICghdmFsdWUpIHsKKyAgICAgICAgQVNTRVJUKCFzeXN0ZW0uc3ltYm9scy5l
bmQoKVstMV0udmFsdWUpOworICAgICAgICBhdXRvJiB6ZXJvQ2hhcmFjdGVycyA9IHN5c3RlbS5z
eW1ib2xzLmVuZCgpWy0xXS5jaGFyYWN0ZXJzOworICAgICAgICByZXR1cm4geyB6ZXJvQ2hhcmFj
dGVycy5iZWdpbigpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oemVyb0NoYXJhY3RlcnMuc2l6ZSgp
KSB9OworICAgIH0KKworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIGF1dG8gYXBwZW5k
ID0gWyZdIChzdGQ6OmluaXRpYWxpemVyX2xpc3Q8VUNoYXI+IGNoYXJhY3RlcnMpIHsKKyAgICAg
ICAgcmVzdWx0LmFwcGVuZChTdHJpbmdWaWV3IHsgY2hhcmFjdGVycy5iZWdpbigpLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oY2hhcmFjdGVycy5zaXplKCkpIH0pOworICAgIH07CisgICAgaWYgKHZh
bHVlIDwgMCkgeworICAgICAgICBBU1NFUlQodmFsdWUgIT0gc3RkOjpudW1lcmljX2xpbWl0czxp
bnQ+OjptaW4oKSk7CisgICAgICAgIGFwcGVuZChzeXN0ZW0ubmVnYXRpdmUpOworICAgICAgICB2
YWx1ZSA9IC12YWx1ZTsKKyAgICB9CisgICAgZm9yIChhdXRvJiBzeW1ib2wgOiBzeXN0ZW0uc3lt
Ym9scykgeworICAgICAgICB3aGlsZSAodmFsdWUgPj0gc3ltYm9sLnZhbHVlKSB7CisgICAgICAg
ICAgICBhcHBlbmQoc3ltYm9sLmNoYXJhY3RlcnMpOworICAgICAgICAgICAgdmFsdWUgLT0gc3lt
Ym9sLnZhbHVlOworICAgICAgICB9CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICBi
cmVhazsKKyAgICB9CisgICAgQVNTRVJUKCF2YWx1ZSk7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0
cmluZygpOworfQorCitzdGF0aWMgU3RyaW5nIHRvRXRoaW9waWNOdW1lcmljKGludCB2YWx1ZSkK
IHsKLSAgICAvLyBGSVhNRTogVHlwZXMgd2UgbmVlZCB0byBhZGQ6IGphcGFuZXNlLWZvcm1hbCwg
amFwYW5lc2UtaW5mb3JtYWwsIGtvcmVhbi1oYW5ndWwtZm9ybWFsLCBrb3JlYW4taGFuamEtZm9y
bWFsLCBrb3JlYW4taGFuamEtaW5mb3JtYWwsIHNpbXAtY2hpbmVzZS1mb3JtYWwsIHNpbXAtY2hp
bmVzZS1pbmZvcm1hbCwgdGFtbWlsLCB0cmFkLWNoaW5lc2UtZm9ybWFsLCB0cmFkLWNoaW5lc2Ut
aW5mb3JtYWwKKyAgICBBU1NFUlQodmFsdWUgPj0gMSk7CisKKyAgICBpZiAodmFsdWUgPT0gMSkg
eworICAgICAgICBVQ2hhciBldGhpb3BpY0RpZ2l0T25lID0gMHgxMzY5OworICAgICAgICByZXR1
cm4geyAmZXRoaW9waWNEaWdpdE9uZSwgMSB9OworICAgIH0KKworICAgIC8vIFNwbGl0IHRoZSBu
dW1iZXIgaW50byBncm91cHMgb2YgdHdvIGRpZ2l0cywgc3RhcnRpbmcgd2l0aCB0aGUgbGVhc3Qg
c2lnbmlmaWNhbnQgZGVjaW1hbCBkaWdpdC4KKyAgICB1aW50OF90IGdyb3Vwc1s1XTsKKyAgICBm
b3IgKGF1dG8mIGdyb3VwIDogZ3JvdXBzKSB7CisgICAgICAgIGdyb3VwID0gdmFsdWUgJSAxMDA7
CisgICAgICAgIHZhbHVlIC89IDEwMDsKKyAgICB9CiAKKyAgICBVQ2hhciBidWZmZXJbc3RkOjpz
aXplKGdyb3VwcykgKiAzXTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSAwOworICAgIGJvb2wgaXNN
b3N0U2lnbmlmaWNhbnRHcm91cCA9IHRydWU7CisgICAgZm9yIChpbnQgaSA9IHN0ZDo6c2l6ZShn
cm91cHMpIC0gMTsgaSA+PSAwOyAtLWkpIHsKKyAgICAgICAgYXV0byB2YWx1ZSA9IGdyb3Vwc1tp
XTsKKyAgICAgICAgYm9vbCBpc09kZEluZGV4ID0gaSAmIDE7CisgICAgICAgIC8vIElmIHRoZSBn
cm91cCBoYXMgdGhlIHZhbHVlIHplcm8sIG9yIGlmIHRoZSBncm91cCBpcyB0aGUgbW9zdCBzaWdu
aWZpY2FudCBvbmUgYW5kIGhhcyB0aGUgdmFsdWUgMSwKKyAgICAgICAgLy8gb3IgaWYgdGhlIGdy
b3VwIGhhcyBhbiBvZGQgaW5kZXggKGFzIGdpdmVuIGluIHRoZSBwcmV2aW91cyBzdGVwKSBhbmQg
aGFzIHRoZSB2YWx1ZSAxLAorICAgICAgICAvLyB0aGVuIHJlbW92ZSB0aGUgZGlnaXRzIChidXQg
bGVhdmUgdGhlIGdyb3VwLCBzbyBpdCBzdGlsbCBoYXMgYSBzZXBhcmF0b3IgYXBwZW5kZWQgYmVs
b3cpLgorICAgICAgICBpZiAoISh2YWx1ZSA9PSAxICYmIChpc01vc3RTaWduaWZpY2FudEdyb3Vw
IHx8IGlzT2RkSW5kZXgpKSkgeworICAgICAgICAgICAgaWYgKGF1dG8gdGVucyA9IHZhbHVlIC8g
MTApCisgICAgICAgICAgICAgICAgYnVmZmVyW2xlbmd0aCsrXSA9IDB4MTM3MSArIHRlbnM7Cisg
ICAgICAgICAgICBpZiAoYXV0byBvbmVzID0gdmFsdWUgJSAxMCkKKyAgICAgICAgICAgICAgICBi
dWZmZXJbbGVuZ3RoKytdID0gMHgxMzY4ICsgb25lczsKKyAgICAgICAgfQorICAgICAgICBpZiAo
dmFsdWUgJiYgaXNPZGRJbmRleCkKKyAgICAgICAgICAgIGJ1ZmZlcltsZW5ndGgrK10gPSAweDEz
N0I7CisgICAgICAgIGlmICgodmFsdWUgfHwgIWlzTW9zdFNpZ25pZmljYW50R3JvdXApICYmICFp
c09kZEluZGV4ICYmIGkpCisgICAgICAgICAgICBidWZmZXJbbGVuZ3RoKytdID0gMHgxMzdDOwor
ICAgICAgICBpZiAodmFsdWUpCisgICAgICAgICAgICBpc01vc3RTaWduaWZpY2FudEdyb3VwID0g
ZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHsgYnVmZmVyLCBsZW5ndGggfTsKK30KKworc3Rh
dGljIExpc3RTdHlsZVR5cGUgZWZmZWN0aXZlTGlzdE1hcmtlclR5cGUoTGlzdFN0eWxlVHlwZSB0
eXBlLCBpbnQgdmFsdWUpCit7CiAgICAgLy8gTm90ZSwgdGhlIGZvbGxvd2luZyBzd2l0Y2ggc3Rh
dGVtZW50IGhhcyBiZWVuIGV4cGxpY2l0bHkgZ3JvdXBlZCBieSBsaXN0LXN0eWxlLXR5cGUgb3Jk
aW5hbCByYW5nZS4KICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkFyYWJpY0luZGljOgpAQCAtNDIwLDYgKzMwNiw4IEBAIHN0YXRpYyBMaXN0U3R5bGVUeXBlIGVm
ZmVjdGl2ZUxpc3RNYXJrZXJUeXBlKExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbDoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRl
dmFuYWdhcmk6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEaXNjOgorICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RGlzY2xvc3VyZUNsb3NlZDoKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRpc2Ns
b3N1cmVPcGVuOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6R3VqYXJhdGk6CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpHdXJtdWtoaToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okthbm5hZGE6
CkBAIC00NDEsMjAgKzMyOSw2IEBAIHN0YXRpYyBMaXN0U3R5bGVUeXBlIGVmZmVjdGl2ZUxpc3RN
YXJrZXJUeXBlKExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1hbDoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVyZHU6
CiAgICAgICAgIHJldHVybiB0eXBlOyAvLyBDYW4gcmVwcmVzZW50IGFsbCBvcmRpbmFscy4KLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkFybWVuaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
TG93ZXJBcm1lbmlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyQXJtZW5pYW46Ci0g
ICAgICAgIHJldHVybiAodmFsdWUgPCAxIHx8IHZhbHVlID4gOTk5OSkgPyBMaXN0U3R5bGVUeXBl
OjpEZWNpbWFsIDogdHlwZTsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0RlY2ltYWw6Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzoKLSAgICAgICAgcmV0dXJuICh2
YWx1ZSA8IDApID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpHZW9yZ2lhbjoKLSAgICAgICAgcmV0dXJuICh2YWx1ZSA8IDEgfHwgdmFsdWUg
PiAxOTk5OSkgPyBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsIDogdHlwZTsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkhlYnJldzoKLSAgICAgICAgcmV0dXJuICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiA5
OTk5OTkpID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpMb3dlclJvbWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJSb21hbjoK
LSAgICAgICAgcmV0dXJuICh2YWx1ZSA8IDEgfHwgdmFsdWUgPiAzOTk5KSA/IExpc3RTdHlsZVR5
cGU6OkRlY2ltYWwgOiB0eXBlOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QWZhcjoKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWM6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhh
cmljQWJlZ2VkZToKQEAgLTQ3Nyw2ICszNTEsNyBAQCBzdGF0aWMgTGlzdFN0eWxlVHlwZSBlZmZl
Y3RpdmVMaXN0TWFya2VyVHlwZShMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVUaUVyOgogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpRXQ6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpF
dGhpb3BpY0hhbGVoYW1lVGlnOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNOdW1l
cmljOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzOgogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6SGFuZ3VsOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGFuZ3VsQ29uc29uYW50
OgpAQCAtNTAxLDYgKzM3NiwzMSBAQCBzdGF0aWMgTGlzdFN0eWxlVHlwZSBlZmZlY3RpdmVMaXN0
TWFya2VyVHlwZShMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlVwcGVyTGF0aW46CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlck5vcndl
Z2lhbjoKICAgICAgICAgcmV0dXJuICh2YWx1ZSA8IDEpID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1h
bCA6IHR5cGU7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcm1lbmlhbjoKKyAgICBjYXNlIExp
c3RTdHlsZVR5cGU6Okxvd2VyQXJtZW5pYW46CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBl
ckFybWVuaWFuOgorICAgICAgICByZXR1cm4gKHZhbHVlIDwgMSB8fCB2YWx1ZSA+IDk5OTkpID8g
TGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpD
SktEZWNpbWFsOgorICAgICAgICByZXR1cm4gKHZhbHVlIDwgMCkgPyBMaXN0U3R5bGVUeXBlOjpE
ZWNpbWFsIDogdHlwZTsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0lkZW9ncmFwaGljOgor
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SmFwYW5lc2VGb3JtYWw6CisgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpKYXBhbmVzZUluZm9ybWFsOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U2ltcGxp
ZmllZENoaW5lc2VGb3JtYWw6CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTaW1wbGlmaWVkQ2hp
bmVzZUluZm9ybWFsOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VHJhZGl0aW9uYWxDaGluZXNl
Rm9ybWFsOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VHJhZGl0aW9uYWxDaGluZXNlSW5mb3Jt
YWw6CisgICAgICAgIHJldHVybiB2YWx1ZSA8IC05OTk5ID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1h
bCA6IHZhbHVlID4gOTk5OSA/IExpc3RTdHlsZVR5cGU6OkNKS0RlY2ltYWwgOiB0eXBlOworICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6R2VvcmdpYW46CisgICAgICAgIHJldHVybiAodmFsdWUgPCAx
IHx8IHZhbHVlID4gMTk5OTkpID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7CisgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpIZWJyZXc6CisgICAgICAgIHJldHVybiAodmFsdWUgPCAxIHx8
IHZhbHVlID4gMTA5OTkpID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7CisgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5ndWxGb3JtYWw6CisgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpLb3JlYW5IYW5qYUluZm9ybWFsOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S29yZWFu
SGFuamFGb3JtYWw6CisgICAgICAgIHJldHVybiAodmFsdWUgPCAtOTk5OSB8fCB2YWx1ZSA+IDk5
OTkpID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7CisgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpMb3dlclJvbWFuOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJSb21hbjoKKyAg
ICAgICAgcmV0dXJuICh2YWx1ZSA8IDEgfHwgdmFsdWUgPiAzOTk5KSA/IExpc3RTdHlsZVR5cGU6
OkRlY2ltYWwgOiB0eXBlOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3RyaW5nOgogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7CkBAIC01MTAsMTcgKzQxMCwx
OCBAQCBzdGF0aWMgTGlzdFN0eWxlVHlwZSBlZmZlY3RpdmVMaXN0TWFya2VyVHlwZShMaXN0U3R5
bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICByZXR1cm4gdHlwZTsKIH0KIAotc3RhdGljIFVD
aGFyIGxpc3RNYXJrZXJTdWZmaXgoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCitzdGF0
aWMgU3RyaW5nVmlldyBsaXN0TWFya2VyU3VmZml4KExpc3RTdHlsZVR5cGUgdHlwZSkKIHsKLSAg
ICAvLyBOb3RlLCB0aGUgZm9sbG93aW5nIHN3aXRjaCBzdGF0ZW1lbnQgaGFzIGJlZW4gZXhwbGlj
aXRseSBncm91cGVkIGJ5IGxpc3Qtc3R5bGUtdHlwZSBzdWZmaXguCi0gICAgc3dpdGNoIChlZmZl
Y3RpdmVMaXN0TWFya2VyVHlwZSh0eXBlLCB2YWx1ZSkpIHsKKyAgICBzd2l0Y2ggKHR5cGUpIHsK
ICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrczoKICAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkNpcmNsZToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRpc2M6CisgICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpEaXNjbG9zdXJlQ2xvc2VkOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGlz
Y2xvc3VyZU9wZW46CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpGb290bm90ZXM6CiAgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpOb25lOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3F1YXJlOgot
ICAgICAgICByZXR1cm4gJyAnOworICAgICAgICByZXR1cm4geyAmc3BhY2UsIDEgfTsKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkFmYXI6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhhcmlj
OgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QW1oYXJpY0FiZWdlZGU6CkBAIC01NDcsMTQgKzQ0
OCwxNSBAQCBzdGF0aWMgVUNoYXIgbGlzdE1hcmtlclN1ZmZpeChMaXN0U3R5bGVUeXBlIHR5cGUs
IGludCB2YWx1ZSkKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXI6CiAgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUVyQWJlZ2VkZToKICAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OlRpZ3JpbnlhRXQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUV0QWJlZ2Vk
ZToKLSAgICAgICAgcmV0dXJuIGV0aGlvcGljUHJlZmFjZUNvbG9uOworICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6VGlncmlueWFFdEFiZWdlZGU6IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBV
Q2hhciBldGhpb3BpY1ByZWZhY2VDb2xvbkFuZFNwYWNlWzJdID0geyBldGhpb3BpY1ByZWZhY2VD
b2xvbiwgJyAnIH07CisgICAgICAgIHJldHVybiB7IGV0aGlvcGljUHJlZmFjZUNvbG9uQW5kU3Bh
Y2UsIDIgfTsKKyAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcm1lbmlhbjoKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkFyYWJpY0luZGljOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
QmVuZ2FsaToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJpbmFyeToKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkNhbWJvZGlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0lkZW9ncmFw
aGljOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbExlYWRpbmdaZXJvOgogICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbDoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRldmFu
YWdhcmk6CkBAIC01OTIsMjcgKzQ5NCwzNSBAQCBzdGF0aWMgVUNoYXIgbGlzdE1hcmtlclN1ZmZp
eChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OlVwcGVyTm9yd2VnaWFuOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJSb21hbjoKICAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OlVyZHU6Ci0gICAgICAgIHJldHVybiAnLic7CisgICAgICAg
IHJldHVybiAiLiAiOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLRGVjaW1hbDoKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkNKS0VhcnRobHlCcmFuY2g6CiAgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpDSktIZWF2ZW5seVN0ZW06CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3Jh
cGhpYzoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhpcmFnYW5hOgogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6SGlyYWdhbmFJcm9oYToKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkphcGFuZXNl
Rm9ybWFsOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SmFwYW5lc2VJbmZvcm1hbDoKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0
YWthbmFJcm9oYToKLSAgICAgICAgcmV0dXJuIGlkZW9ncmFwaGljQ29tbWE7CisgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpTaW1wbGlmaWVkQ2hpbmVzZUZvcm1hbDoKKyAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlNpbXBsaWZpZWRDaGluZXNlSW5mb3JtYWw6CisgICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpUcmFkaXRpb25hbENoaW5lc2VGb3JtYWw6CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUcmFk
aXRpb25hbENoaW5lc2VJbmZvcm1hbDoKKyAgICAgICAgcmV0dXJuIHsgJmlkZW9ncmFwaGljQ29t
bWEsIDEgfTsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljTnVtZXJpYzoKKyAgICAg
ICAgcmV0dXJuICIvICI7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5ndWxGb3Jt
YWw6CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5qYUluZm9ybWFsOgorICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6S29yZWFuSGFuamFGb3JtYWw6CisgICAgICAgIHJldHVybiAiLCAi
OwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3RyaW5nOgogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgcmV0dXJuICcuJzsKLX0KLQotc3RhdGljIGJvb2wgc3VmZml4UmVxdWlyZXNTcGFj
ZShVQ2hhciBzdWZmaXgpCi17Ci0gICAgcmV0dXJuIHN1ZmZpeCA9PSAnLicgfHwgc3VmZml4ID09
IGV0aGlvcGljUHJlZmFjZUNvbG9uOworICAgIHJldHVybiAiLiAiOwogfQogCiBTdHJpbmcgbGlz
dE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCkBAIC02MjUsOCArNTM1
LDggQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVl
KQogICAgICAgICBzdGF0aWMgY29uc3RleHByIExDaGFyIGFzdGVyaXNrc1N5bWJvbHNbMV0gPSB7
IDB4MkEgfTsKICAgICAgICAgcmV0dXJuIHRvU3ltYm9saWModmFsdWUsIGFzdGVyaXNrc1N5bWJv
bHMpOwogICAgIH0KLSAgICAvLyBXZSB1c2UgdGhlIHNhbWUgY2hhcmFjdGVycyBmb3IgdGV4dCBz
ZWN1cml0eS4KLSAgICAvLyBTZWUgUmVuZGVyVGV4dDo6c2V0SW50ZXJuYWxTdHJpbmcuCisKKyAg
ICAvLyBXZSB1c2UgdGhlIHNhbWUgY2hhcmFjdGVycyBmb3IgdGV4dCBzZWN1cml0eS4gU2VlIFJl
bmRlclRleHQ6OnNldFJlbmRlcmVkVGV4dC4KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNpcmNs
ZToKICAgICAgICAgcmV0dXJuIHsgJndoaXRlQnVsbGV0LCAxIH07CiAgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpEaXNjOgpAQCAtNjM1LDExICs1NDUsMTYgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0
KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICBzdGF0aWMgY29uc3RleHBy
IFVDaGFyIGZvb3Rub3Rlc1N5bWJvbHNbNF0gPSB7IDB4MDAyQSwgMHgyMDUxLCAweDIwMjAsIDB4
MjAyMSB9OwogICAgICAgICByZXR1cm4gdG9TeW1ib2xpYyh2YWx1ZSwgZm9vdG5vdGVzU3ltYm9s
cyk7CiAgICAgfQorCisgICAgLy8gQ1NTIHNwZWNpZmljYXRpb24gY2FsbHMgZm9yIFUrMjVGRSBC
TEFDSyBNRURJVU0gU01BTEwgU1FVQVJFOyB3ZSBoYXZlIGJlZW4gdXNpbmcgVSsyNUEwIEJMQUNL
IFNRVUFSRSBpbnN0ZWFkIGZvciBhIGxvbmcgdGltZS4KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OlNxdWFyZToKLSAgICAgICAgLy8gVGhlIENTUyAyLjEgdGVzdCBzdWl0ZSB1c2VzIFUrMjVFRSBC
TEFDSyBNRURJVU0gU01BTEwgU1FVQVJFIGluc3RlYWQsCi0gICAgICAgIC8vIGJ1dCB3ZSB1c2Vk
IHRoaXMgYmVjYXVzZSB3ZSB0aG91Z2h0IGl0IGxvb2tlZCBiZXR0ZXIuCiAgICAgICAgIHJldHVy
biB7ICZibGFja1NxdWFyZSwgMSB9OwogCisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEaXNjbG9z
dXJlQ2xvc2VkOgorICAgICAgICByZXR1cm4geyAmYmxhY2tSaWdodFBvaW50aW5nU21hbGxUcmlh
bmdsZSwgMSB9OworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGlzY2xvc3VyZU9wZW46CisgICAg
ICAgIHJldHVybiB7ICZibGFja0Rvd25Qb2ludGluZ1NtYWxsVHJpYW5nbGUsIDEgfTsKKwogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbDoKICAgICAgICAgcmV0dXJuIFN0cmluZzo6bnVt
YmVyKHZhbHVlKTsKIApAQCAtMTAyNSwzMSArOTQwLDI3MiBAQCBTdHJpbmcgbGlzdE1hcmtlclRl
eHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgICAgIH07CiAgICAgICAgIHJl
dHVybiB0b0FscGhhYmV0aWModmFsdWUsIHVwcGVyTm9yd2VnaWFuQWxwaGFiZXQpOwogICAgIH0K
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0lkZW9ncmFwaGljOiB7Ci0gICAgICAgIHN0YXRp
YyBjb25zdGV4cHIgVUNoYXIgdHJhZGl0aW9uYWxDaGluZXNlSW5mb3JtYWxUYWJsZVsxNl0gPSB7
CisKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlNpbXBsaWZpZWRDaGluZXNlSW5mb3JtYWw6IHsK
KyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBzaW1wbGlmaWVkQ2hpbmVzZUluZm9ybWFs
VGFibGVbMTddID0geworICAgICAgICAgICAgMHg4NDJDLCAweDUxMDQsIDB4NTE0NiwgLy8gVGhl
c2UgdGhyZWUgYXJlIHByb2JhYmx5IHdyb25nLCBidXQgY3VycmVudGx5IHVudXNlZC4KKyAgICAg
ICAgICAgIDB4NTM0MSwgMHg3NjdFLCAweDUzNDMsCisgICAgICAgICAgICAweDk2RjYsIDB4NEUw
MCwgMHg0RThDLCAweDRFMDksIDB4NTZEQiwKKyAgICAgICAgICAgIDB4NEU5NCwgMHg1MTZELCAw
eDRFMDMsIDB4NTE2QiwgMHg0RTVELAorICAgICAgICAgICAgMHg4RDFGCisgICAgICAgIH07Cisg
ICAgICAgIHJldHVybiB0b0NKS0lkZW9ncmFwaGljKHZhbHVlLCBzaW1wbGlmaWVkQ2hpbmVzZUlu
Zm9ybWFsVGFibGUsIEZvcm1hbGl0eTo6SW5mb3JtYWwpOworICAgIH0KKyAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlNpbXBsaWZpZWRDaGluZXNlRm9ybWFsOiB7CisgICAgICAgIHN0YXRpYyBjb25z
dGV4cHIgVUNoYXIgc2ltcGxpZmllZENoaW5lc2VGb3JtYWxUYWJsZVsxN10gPSB7CisgICAgICAg
ICAgICAweDg0MkMsIDB4NTEwNCwgMHg1MTQ2LCAvLyBUaGVzZSB0aHJlZSBhcmUgcHJvYmFibHkg
d3JvbmcsIGJ1dCBjdXJyZW50bHkgdW51c2VkLgorICAgICAgICAgICAgMHg2MkZFLCAweDRGNzAs
IDB4NEVERiwKKyAgICAgICAgICAgIDB4OTZGNiwgMHg1OEY5LCAweDhEMzAsIDB4NTNDMSwgMHg4
MDg2LAorICAgICAgICAgICAgMHg0RjBELCAweDk2NDYsIDB4NjdEMiwgMHg2MzRDLCAweDczOTYs
CisgICAgICAgICAgICAweDhEMUYKKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIHRvQ0pLSWRl
b2dyYXBoaWModmFsdWUsIHNpbXBsaWZpZWRDaGluZXNlRm9ybWFsVGFibGUsIEZvcm1hbGl0eTo6
Rm9ybWFsKTsKKyAgICB9CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzoK
KyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRyYWRpdGlvbmFsQ2hpbmVzZUluZm9ybWFsOiB7Cisg
ICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgdHJhZGl0aW9uYWxDaGluZXNlSW5mb3JtYWxU
YWJsZVsxN10gPSB7CiAgICAgICAgICAgICAweDg0MkMsIDB4NTEwNCwgMHg1MTQ2LAogICAgICAg
ICAgICAgMHg1MzQxLCAweDc2N0UsIDB4NTM0MywKICAgICAgICAgICAgIDB4OTZGNiwgMHg0RTAw
LCAweDRFOEMsIDB4NEUwOSwgMHg1NkRCLAotICAgICAgICAgICAgMHg0RTk0LCAweDUxNkQsIDB4
NEUwMywgMHg1MTZCLCAweDRFNUQKKyAgICAgICAgICAgIDB4NEU5NCwgMHg1MTZELCAweDRFMDMs
IDB4NTE2QiwgMHg0RTVELAorICAgICAgICAgICAgMHg4Q0EwCisgICAgICAgIH07CisgICAgICAg
IHJldHVybiB0b0NKS0lkZW9ncmFwaGljKHZhbHVlLCB0cmFkaXRpb25hbENoaW5lc2VJbmZvcm1h
bFRhYmxlLCBGb3JtYWxpdHk6OkluZm9ybWFsKTsKKyAgICB9CisgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpUcmFkaXRpb25hbENoaW5lc2VGb3JtYWw6IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhw
ciBVQ2hhciB0cmFkaXRpb25hbENoaW5lc2VGb3JtYWxUYWJsZVsxN10gPSB7CisgICAgICAgICAg
ICAweDg0MkMsIDB4NTEwNCwgMHg1MTQ2LCAvLyBUaGVzZSB0aHJlZSBhcmUgcHJvYmFibHkgd3Jv
bmcsIGJ1dCBjdXJyZW50bHkgdW51c2VkLgorICAgICAgICAgICAgMHg2MkZFLCAweDRGNzAsIDB4
NEVERiwKKyAgICAgICAgICAgIDB4OTZGNiwgMHg1OEY5LCAweDhDQjMsIDB4NTNDMywgMHg4MDg2
LAorICAgICAgICAgICAgMHg0RjBELCAweDk2NzgsIDB4NjdEMiwgMHg2MzRDLCAweDczOTYsCisg
ICAgICAgICAgICAweDhDQTAKKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIHRvQ0pLSWRlb2dy
YXBoaWModmFsdWUsIHRyYWRpdGlvbmFsQ2hpbmVzZUZvcm1hbFRhYmxlLCBGb3JtYWxpdHk6OkZv
cm1hbCk7CisgICAgfQorCisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlclJvbWFuOiB7Cisg
ICAgICAgIHN0YXRpYyBjb25zdGV4cHIgQWRkaXRpdmVTeXN0ZW0gbG93ZXJSb21hblN5c3RlbSB7
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgeyAxMDAwLCB7ICdtJyB9IH0sCisgICAg
ICAgICAgICAgICAgeyA5MDAsIHsgJ2MnLCAnbScgfSB9LAorICAgICAgICAgICAgICAgIHsgNTAw
LCB7ICdkJyB9IH0sCisgICAgICAgICAgICAgICAgeyA0MDAsIHsgJ2MnLCAnZCcgfSB9LAorICAg
ICAgICAgICAgICAgIHsgMTAwLCB7ICdjJyB9IH0sCisgICAgICAgICAgICAgICAgeyA5MCwgeyAn
eCcsICdjJyB9IH0sCisgICAgICAgICAgICAgICAgeyA1MCwgeyAnbCcgfSB9LAorICAgICAgICAg
ICAgICAgIHsgNDAsIHsgJ3gnLCAnbCcgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAsIHsgJ3gn
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDksIHsgJ2knLCAneCcgfSB9LAorICAgICAgICAgICAg
ICAgIHsgNSwgeyAndicgfSB9LAorICAgICAgICAgICAgICAgIHsgNCwgeyAnaScsICd2JyB9IH0s
CisgICAgICAgICAgICAgICAgeyAxLCB7ICdpJyB9IH0KKyAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICB7IH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIHRvUHJlZGVmaW5lZEFkZGl0aXZl
U3lzdGVtKHZhbHVlLCBsb3dlclJvbWFuU3lzdGVtKTsKKyAgICB9CisgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpVcHBlclJvbWFuOiB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgQWRkaXRpdmVT
eXN0ZW0gdXBwZXJSb21hblN5c3RlbSB7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
eyAxMDAwLCB7ICdNJyB9IH0sCisgICAgICAgICAgICAgICAgeyA5MDAsIHsgJ0MnLCAnTScgfSB9
LAorICAgICAgICAgICAgICAgIHsgNTAwLCB7ICdEJyB9IH0sCisgICAgICAgICAgICAgICAgeyA0
MDAsIHsgJ0MnLCAnRCcgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwLCB7ICdDJyB9IH0sCisg
ICAgICAgICAgICAgICAgeyA5MCwgeyAnWCcsICdDJyB9IH0sCisgICAgICAgICAgICAgICAgeyA1
MCwgeyAnTCcgfSB9LAorICAgICAgICAgICAgICAgIHsgNDAsIHsgJ1gnLCAnTCcgfSB9LAorICAg
ICAgICAgICAgICAgIHsgMTAsIHsgJ1gnIH0gfSwKKyAgICAgICAgICAgICAgICB7IDksIHsgJ0kn
LCAnWCcgfSB9LAorICAgICAgICAgICAgICAgIHsgNSwgeyAnVicgfSB9LAorICAgICAgICAgICAg
ICAgIHsgNCwgeyAnSScsICdWJyB9IH0sCisgICAgICAgICAgICAgICAgeyAxLCB7ICdJJyB9IH0K
KyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7IH0KICAgICAgICAgfTsKLSAgICAgICAgcmV0
dXJuIHRvQ0pLSWRlb2dyYXBoaWModmFsdWUsIHRyYWRpdGlvbmFsQ2hpbmVzZUluZm9ybWFsVGFi
bGUpOworICAgICAgICByZXR1cm4gdG9QcmVkZWZpbmVkQWRkaXRpdmVTeXN0ZW0odmFsdWUsIHVw
cGVyUm9tYW5TeXN0ZW0pOwogICAgIH0KIAotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJS
b21hbjoKLSAgICAgICAgcmV0dXJuIHRvUm9tYW4odmFsdWUsIExldHRlckNhc2U6Okxvd2VyKTsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyUm9tYW46Ci0gICAgICAgIHJldHVybiB0b1Jv
bWFuKHZhbHVlLCBMZXR0ZXJDYXNlOjpVcHBlcik7Ci0KICAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkFybWVuaWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJBcm1lbmlhbjoKLSAgICAg
ICAgcmV0dXJuIHRvQXJtZW5pYW4odmFsdWUsIExldHRlckNhc2U6OlVwcGVyKTsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6Okxvd2VyQXJtZW5pYW46Ci0gICAgICAgIHJldHVybiB0b0FybWVuaWFu
KHZhbHVlLCBMZXR0ZXJDYXNlOjpMb3dlcik7Ci0KLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okdl
b3JnaWFuOgotICAgICAgICByZXR1cm4gdG9HZW9yZ2lhbih2YWx1ZSk7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpIZWJyZXc6Ci0gICAgICAgIHJldHVybiB0b0hlYnJldyh2YWx1ZSk7CisgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckFybWVuaWFuOiB7CisgICAgICAgIHN0YXRpYyBjb25z
dGV4cHIgQWRkaXRpdmVTeXN0ZW0gdXBwZXJBcm1lbmlhblN5c3RlbSB7CisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgeyA5MDAwLCB7IDB4NTU0IH0gfSwKKyAgICAgICAgICAgICAgICB7
IDgwMDAsIHsgMHg1NTMgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwMCwgeyAweDU1MiB9IH0s
CisgICAgICAgICAgICAgICAgeyA2MDAwLCB7IDB4NTUxIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDUwMDAsIHsgMHg1NTAgfSB9LAorICAgICAgICAgICAgICAgIHsgNDAwMCwgeyAweDU0RiB9IH0s
CisgICAgICAgICAgICAgICAgeyAzMDAwLCB7IDB4NTRFIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDIwMDAsIHsgMHg1NEQgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwMCwgeyAweDU0QyB9IH0s
CisgICAgICAgICAgICAgICAgeyA5MDAsIHsgMHg1NEIgfSB9LAorICAgICAgICAgICAgICAgIHsg
ODAwLCB7IDB4NTRBIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwMCwgeyAweDU0OSB9IH0sCisg
ICAgICAgICAgICAgICAgeyA2MDAsIHsgMHg1NDggfSB9LAorICAgICAgICAgICAgICAgIHsgNTAw
LCB7IDB4NTQ3IH0gfSwKKyAgICAgICAgICAgICAgICB7IDQwMCwgeyAweDU0NiB9IH0sCisgICAg
ICAgICAgICAgICAgeyAzMDAsIHsgMHg1NDUgfSB9LAorICAgICAgICAgICAgICAgIHsgMjAwLCB7
IDB4NTQ0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwMCwgeyAweDU0MyB9IH0sCisgICAgICAg
ICAgICAgICAgeyA5MCwgeyAweDU0MiB9IH0sCisgICAgICAgICAgICAgICAgeyA4MCwgeyAweDU0
MSB9IH0sCisgICAgICAgICAgICAgICAgeyA3MCwgeyAweDU0MCB9IH0sCisgICAgICAgICAgICAg
ICAgeyA2MCwgeyAweDUzRiB9IH0sCisgICAgICAgICAgICAgICAgeyA1MCwgeyAweDUzRSB9IH0s
CisgICAgICAgICAgICAgICAgeyA0MCwgeyAweDUzRCB9IH0sCisgICAgICAgICAgICAgICAgeyAz
MCwgeyAweDUzQyB9IH0sCisgICAgICAgICAgICAgICAgeyAyMCwgeyAweDUzQiB9IH0sCisgICAg
ICAgICAgICAgICAgeyAxMCwgeyAweDUzQSB9IH0sCisgICAgICAgICAgICAgICAgeyA5LCB7IDB4
NTM5IH0gfSwKKyAgICAgICAgICAgICAgICB7IDgsIHsgMHg1MzggfSB9LAorICAgICAgICAgICAg
ICAgIHsgNywgeyAweDUzNyB9IH0sCisgICAgICAgICAgICAgICAgeyA2LCB7IDB4NTM2IH0gfSwK
KyAgICAgICAgICAgICAgICB7IDUsIHsgMHg1MzUgfSB9LAorICAgICAgICAgICAgICAgIHsgNCwg
eyAweDUzNCB9IH0sCisgICAgICAgICAgICAgICAgeyAzLCB7IDB4NTMzIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDIsIHsgMHg1MzIgfSB9LAorICAgICAgICAgICAgICAgIHsgMSwgeyAweDUzMSB9
IH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7IH0KKyAgICAgICAgfTsKKyAgICAgICAg
cmV0dXJuIHRvUHJlZGVmaW5lZEFkZGl0aXZlU3lzdGVtKHZhbHVlLCB1cHBlckFybWVuaWFuU3lz
dGVtKTsKKyAgICB9CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFybWVuaWFuOiB7Cisg
ICAgICAgIHN0YXRpYyBjb25zdGV4cHIgQWRkaXRpdmVTeXN0ZW0gbG93ZXJBcm1lbmlhblN5c3Rl
bSB7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgeyA5MDAwLCB7IDB4NTg0IH0gfSwK
KyAgICAgICAgICAgICAgICB7IDgwMDAsIHsgMHg1ODMgfSB9LAorICAgICAgICAgICAgICAgIHsg
NzAwMCwgeyAweDU4MiB9IH0sCisgICAgICAgICAgICAgICAgeyA2MDAwLCB7IDB4NTgxIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDUwMDAsIHsgMHg1ODAgfSB9LAorICAgICAgICAgICAgICAgIHsg
NDAwMCwgeyAweDU3RiB9IH0sCisgICAgICAgICAgICAgICAgeyAzMDAwLCB7IDB4NTdFIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDIwMDAsIHsgMHg1N0QgfSB9LAorICAgICAgICAgICAgICAgIHsg
MTAwMCwgeyAweDU3QyB9IH0sCisgICAgICAgICAgICAgICAgeyA5MDAsIHsgMHg1N0IgfSB9LAor
ICAgICAgICAgICAgICAgIHsgODAwLCB7IDB4NTdBIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcw
MCwgeyAweDU3OSB9IH0sCisgICAgICAgICAgICAgICAgeyA2MDAsIHsgMHg1NzggfSB9LAorICAg
ICAgICAgICAgICAgIHsgNTAwLCB7IDB4NTc3IH0gfSwKKyAgICAgICAgICAgICAgICB7IDQwMCwg
eyAweDU3NiB9IH0sCisgICAgICAgICAgICAgICAgeyAzMDAsIHsgMHg1NzUgfSB9LAorICAgICAg
ICAgICAgICAgIHsgMjAwLCB7IDB4NTc0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwMCwgeyAw
eDU3MyB9IH0sCisgICAgICAgICAgICAgICAgeyA5MCwgeyAweDU3MiB9IH0sCisgICAgICAgICAg
ICAgICAgeyA4MCwgeyAweDU3MSB9IH0sCisgICAgICAgICAgICAgICAgeyA3MCwgeyAweDU3MCB9
IH0sCisgICAgICAgICAgICAgICAgeyA2MCwgeyAweDU2RiB9IH0sCisgICAgICAgICAgICAgICAg
eyA1MCwgeyAweDU2RSB9IH0sCisgICAgICAgICAgICAgICAgeyA0MCwgeyAweDU2RCB9IH0sCisg
ICAgICAgICAgICAgICAgeyAzMCwgeyAweDU2QyB9IH0sCisgICAgICAgICAgICAgICAgeyAyMCwg
eyAweDU2QiB9IH0sCisgICAgICAgICAgICAgICAgeyAxMCwgeyAweDU2QSB9IH0sCisgICAgICAg
ICAgICAgICAgeyA5LCB7IDB4NTY5IH0gfSwKKyAgICAgICAgICAgICAgICB7IDgsIHsgMHg1Njgg
fSB9LAorICAgICAgICAgICAgICAgIHsgNywgeyAweDU2NyB9IH0sCisgICAgICAgICAgICAgICAg
eyA2LCB7IDB4NTY2IH0gfSwKKyAgICAgICAgICAgICAgICB7IDUsIHsgMHg1NjUgfSB9LAorICAg
ICAgICAgICAgICAgIHsgNCwgeyAweDU2NCB9IH0sCisgICAgICAgICAgICAgICAgeyAzLCB7IDB4
NTYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIsIHsgMHg1NjIgfSB9LAorICAgICAgICAgICAg
ICAgIHsgMSwgeyAweDU2MSB9IH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7IH0KKyAg
ICAgICAgfTsKKyAgICAgICAgcmV0dXJuIHRvUHJlZGVmaW5lZEFkZGl0aXZlU3lzdGVtKHZhbHVl
LCBsb3dlckFybWVuaWFuU3lzdGVtKTsKKyAgICB9CisKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6
Okdlb3JnaWFuOiB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgQWRkaXRpdmVTeXN0ZW0gZ2Vv
cmdpYW5TeXN0ZW0geworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHsgMTAwMDAsIHsg
MHgxMEY1IH0gfSwKKyAgICAgICAgICAgICAgICB7IDkwMDAsIHsgMHgxMEYwIH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDgwMDAsIHsgMHgxMEVGIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwMDAs
IHsgMHgxMEY0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMDAsIHsgMHgxMEVFIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDUwMDAsIHsgMHgxMEVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDQw
MDAsIHsgMHgxMEVDIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwMDAsIHsgMHgxMEVCIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDIwMDAsIHsgMHgxMEVBIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDEwMDAsIHsgMHgxMEU5IH0gfSwKKyAgICAgICAgICAgICAgICB7IDkwMCwgeyAweDEwRTggfSB9
LAorICAgICAgICAgICAgICAgIHsgODAwLCB7IDB4MTBFNyB9IH0sCisgICAgICAgICAgICAgICAg
eyA3MDAsIHsgMHgxMEU2IH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMCwgeyAweDEwRTUgfSB9
LAorICAgICAgICAgICAgICAgIHsgNTAwLCB7IDB4MTBFNCB9IH0sCisgICAgICAgICAgICAgICAg
eyA0MDAsIHsgMHgxMEYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwMCwgeyAweDEwRTIgfSB9
LAorICAgICAgICAgICAgICAgIHsgMjAwLCB7IDB4MTBFMSB9IH0sCisgICAgICAgICAgICAgICAg
eyAxMDAsIHsgMHgxMEUwIH0gfSwKKyAgICAgICAgICAgICAgICB7IDkwLCB7IDB4MTBERiB9IH0s
CisgICAgICAgICAgICAgICAgeyA4MCwgeyAweDEwREUgfSB9LAorICAgICAgICAgICAgICAgIHsg
NzAsIHsgMHgxMEREIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwLCB7IDB4MTBGMiB9IH0sCisg
ICAgICAgICAgICAgICAgeyA1MCwgeyAweDEwREMgfSB9LAorICAgICAgICAgICAgICAgIHsgNDAs
IHsgMHgxMERCIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwLCB7IDB4MTBEQSB9IH0sCisgICAg
ICAgICAgICAgICAgeyAyMCwgeyAweDEwRDkgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAsIHsg
MHgxMEQ4IH0gfSwKKyAgICAgICAgICAgICAgICB7IDksIHsgMHgxMEQ3IH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDgsIHsgMHgxMEYxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcsIHsgMHgxMEQ2
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDYsIHsgMHgxMEQ1IH0gfSwKKyAgICAgICAgICAgICAg
ICB7IDUsIHsgMHgxMEQ0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDQsIHsgMHgxMEQzIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDMsIHsgMHgxMEQyIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIs
IHsgMHgxMEQxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEsIHsgMHgxMEQwIH0gfQorICAgICAg
ICAgICAgfSwKKyAgICAgICAgICAgIHsgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gdG9Q
cmVkZWZpbmVkQWRkaXRpdmVTeXN0ZW0odmFsdWUsIGdlb3JnaWFuU3lzdGVtKTsKKyAgICB9Cisg
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIZWJyZXc6IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhw
ciBBZGRpdGl2ZVN5c3RlbSBoZWJyZXdTeXN0ZW0geworICAgICAgICAgICAgeworICAgICAgICAg
ICAgICAgIHsgMTAwMDAsIHsgMHg1RDksIDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDkw
MDAsIHsgMHg1RDgsIDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDgwMDAsIHsgMHg1RDcs
IDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwMDAsIHsgMHg1RDYsIDB4NUYzIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDYwMDAsIHsgMHg1RDUsIDB4NUYzIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDUwMDAsIHsgMHg1RDQsIDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDQwMDAs
IHsgMHg1RDMsIDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwMDAsIHsgMHg1RDIsIDB4
NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwMDAsIHsgMHg1RDEsIDB4NUYzIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDEwMDAsIHsgMHg1RDAsIDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAg
ICB7IDQwMCwgeyAweDVFQSB9IH0sCisgICAgICAgICAgICAgICAgeyAzMDAsIHsgMHg1RTkgfSB9
LAorICAgICAgICAgICAgICAgIHsgMjAwLCB7IDB4NUU4IH0gfSwKKyAgICAgICAgICAgICAgICB7
IDEwMCwgeyAweDVFNyB9IH0sCisgICAgICAgICAgICAgICAgeyA5MCwgeyAweDVFNiB9IH0sCisg
ICAgICAgICAgICAgICAgeyA4MCwgeyAweDVFNCB9IH0sCisgICAgICAgICAgICAgICAgeyA3MCwg
eyAweDVFMiB9IH0sCisgICAgICAgICAgICAgICAgeyA2MCwgeyAweDVFMSB9IH0sCisgICAgICAg
ICAgICAgICAgeyA1MCwgeyAweDVFMCB9IH0sCisgICAgICAgICAgICAgICAgeyA0MCwgeyAweDVE
RSB9IH0sCisgICAgICAgICAgICAgICAgeyAzMCwgeyAweDVEQyB9IH0sCisgICAgICAgICAgICAg
ICAgeyAyMCwgeyAweDVEQiB9IH0sCisgICAgICAgICAgICAgICAgeyAxOSwgeyAweDVEOSwgMHg1
RDggfSB9LAorICAgICAgICAgICAgICAgIHsgMTgsIHsgMHg1RDksIDB4NUQ3IH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDE3LCB7IDB4NUQ5LCAweDVENiB9IH0sCisgICAgICAgICAgICAgICAgeyAx
NiwgeyAweDVEOCwgMHg1RDYgfSB9LAorICAgICAgICAgICAgICAgIHsgMTUsIHsgMHg1RDgsIDB4
NUQ1IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwLCB7IDB4NUQ5IH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDksIHsgMHg1RDggfSB9LAorICAgICAgICAgICAgICAgIHsgOCwgeyAweDVENyB9IH0s
CisgICAgICAgICAgICAgICAgeyA3LCB7IDB4NUQ2IH0gfSwKKyAgICAgICAgICAgICAgICB7IDYs
IHsgMHg1RDUgfSB9LAorICAgICAgICAgICAgICAgIHsgNSwgeyAweDVENCB9IH0sCisgICAgICAg
ICAgICAgICAgeyA0LCB7IDB4NUQzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMsIHsgMHg1RDIg
fSB9LAorICAgICAgICAgICAgICAgIHsgMiwgeyAweDVEMSB9IH0sCisgICAgICAgICAgICAgICAg
eyAxLCB7IDB4NUQwIH0gfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsgfQorICAgICAg
ICB9OworICAgICAgICByZXR1cm4gdG9QcmVkZWZpbmVkQWRkaXRpdmVTeXN0ZW0odmFsdWUsIGhl
YnJld1N5c3RlbSk7CisgICAgfQogCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktEZWNpbWFs
OiB7CiAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgQ0pLRGVjaW1hbE51bWVyYWxzWzEw
XSA9IHsKQEAgLTEwNjQsNiArMTIyMCwyMzUgQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RT
dHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICByZXR1cm4gdG9OdW1lcmljKHZhbHVl
LCB0YW1pbE51bWVyYWxzKTsKICAgICB9CiAKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkphcGFu
ZXNlSW5mb3JtYWw6IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBBZGRpdGl2ZVN5c3RlbSBq
YXBhbmVzZUluZm9ybWFsU3lzdGVtIHsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB7
IDkwMDAsIHsgMHg0RTVELCAweDUzNDMgfSB9LAorICAgICAgICAgICAgICAgIHsgODAwMCwgeyAw
eDUxNkIsIDB4NTM0MyB9IH0sCisgICAgICAgICAgICAgICAgeyA3MDAwLCB7IDB4NEUwMywgMHg1
MzQzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMDAsIHsgMHg1MTZELCAweDUzNDMgfSB9LAor
ICAgICAgICAgICAgICAgIHsgNTAwMCwgeyAweDRFOTQsIDB4NTM0MyB9IH0sCisgICAgICAgICAg
ICAgICAgeyA0MDAwLCB7IDB4NTZEQiwgMHg1MzQzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMw
MDAsIHsgMHg0RTA5LCAweDUzNDMgfSB9LAorICAgICAgICAgICAgICAgIHsgMjAwMCwgeyAweDRF
OEMsIDB4NTM0MyB9IH0sCisgICAgICAgICAgICAgICAgeyAxMDAwLCB7IDB4NTM0MyB9IH0sCisg
ICAgICAgICAgICAgICAgeyA5MDAsIHsgMHg0RTVELCAweDc2N0UgfSB9LAorICAgICAgICAgICAg
ICAgIHsgODAwLCB7IDB4NTE2QiwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwMCwg
eyAweDRFMDMsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyA2MDAsIHsgMHg1MTZELCAw
eDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgNTAwLCB7IDB4NEU5NCwgMHg3NjdFIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDQwMCwgeyAweDU2REIsIDB4NzY3RSB9IH0sCisgICAgICAgICAg
ICAgICAgeyAzMDAsIHsgMHg0RTA5LCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgMjAw
LCB7IDB4NEU4QywgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwMCwgeyAweDc2N0Ug
fSB9LAorICAgICAgICAgICAgICAgIHsgOTAsIHsgMHg0RTVELCAweDUzNDEgfSB9LAorICAgICAg
ICAgICAgICAgIHsgODAsIHsgMHg1MTZCLCAweDUzNDEgfSB9LAorICAgICAgICAgICAgICAgIHsg
NzAsIHsgMHg0RTAzLCAweDUzNDEgfSB9LAorICAgICAgICAgICAgICAgIHsgNjAsIHsgMHg1MTZE
LCAweDUzNDEgfSB9LAorICAgICAgICAgICAgICAgIHsgNTAsIHsgMHg0RTk0LCAweDUzNDEgfSB9
LAorICAgICAgICAgICAgICAgIHsgNDAsIHsgMHg1NkRCLCAweDUzNDEgfSB9LAorICAgICAgICAg
ICAgICAgIHsgMzAsIHsgMHg0RTA5LCAweDUzNDEgfSB9LAorICAgICAgICAgICAgICAgIHsgMjAs
IHsgMHg0RThDLCAweDUzNDEgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAsIHsgMHg1MzQxIH0g
fSwKKyAgICAgICAgICAgICAgICB7IDksIHsgMHg0RTVEIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDgsIHsgMHg1MTZCIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcsIHsgMHg0RTAzIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDYsIHsgMHg1MTZEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDUsIHsg
MHg0RTk0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDQsIHsgMHg1NkRCIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDMsIHsgMHg0RTA5IH0gfSwKKyAgICAgICAgICAgICAgICB7IDIsIHsgMHg0RThD
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEsIHsgMHg0RTAwIH0gfSwKKyAgICAgICAgICAgICAg
ICB7IDAsIHsgMHgzMDA3IH0gfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsgMHgzMERF
LCAweDMwQTQsIDB4MzBDQSwgMHgzMEI5IH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIHRv
UHJlZGVmaW5lZEFkZGl0aXZlU3lzdGVtKHZhbHVlLCBqYXBhbmVzZUluZm9ybWFsU3lzdGVtKTsK
KyAgICB9CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpKYXBhbmVzZUZvcm1hbDogeworICAgICAg
ICBzdGF0aWMgY29uc3RleHByIEFkZGl0aXZlU3lzdGVtIGphcGFuZXNlRm9ybWFsU3lzdGVtIHsK
KyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB7IDkwMDAsIHsgMHg0RTVELCAweDk2MjEg
fSB9LAorICAgICAgICAgICAgICAgIHsgODAwMCwgeyAweDUxNkIsIDB4OTYyMSB9IH0sCisgICAg
ICAgICAgICAgICAgeyA3MDAwLCB7IDB4NEUwMywgMHg5NjIxIH0gfSwKKyAgICAgICAgICAgICAg
ICB7IDYwMDAsIHsgMHg1MTZELCAweDk2MjEgfSB9LAorICAgICAgICAgICAgICAgIHsgNTAwMCwg
eyAweDRGMEQsIDB4OTYyMSB9IH0sCisgICAgICAgICAgICAgICAgeyA0MDAwLCB7IDB4NTZEQiwg
MHg5NjIxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwMDAsIHsgMHg1M0MyLCAweDk2MjEgfSB9
LAorICAgICAgICAgICAgICAgIHsgMjAwMCwgeyAweDVGMTAsIDB4OTYyMSB9IH0sCisgICAgICAg
ICAgICAgICAgeyAxMDAwLCB7IDB4NThGMSwgMHg5NjIxIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDkwMCwgeyAweDRFNUQsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyA4MDAsIHsgMHg1
MTZCLCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwLCB7IDB4NEUwMywgMHg3NjdF
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMCwgeyAweDUxNkQsIDB4NzY3RSB9IH0sCisgICAg
ICAgICAgICAgICAgeyA1MDAsIHsgMHg0RjBELCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAg
IHsgNDAwLCB7IDB4NTZEQiwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwMCwgeyAw
eDUzQzIsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyAyMDAsIHsgMHg1RjEwLCAweDc2
N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwLCB7IDB4NThGMSwgMHg3NjdFIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDkwLCB7IDB4NEU1RCwgMHg2MkZFIH0gfSwKKyAgICAgICAgICAgICAg
ICB7IDgwLCB7IDB4NTE2QiwgMHg2MkZFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwLCB7IDB4
NEUwMywgMHg2MkZFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwLCB7IDB4NTE2RCwgMHg2MkZF
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDUwLCB7IDB4NEYwRCwgMHg2MkZFIH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDQwLCB7IDB4NTZEQiwgMHg2MkZFIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDMwLCB7IDB4NTNDMiwgMHg2MkZFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwLCB7IDB4NUYx
MCwgMHg2MkZFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwLCB7IDB4NThGMSwgMHg2MkZFIH0g
fSwKKyAgICAgICAgICAgICAgICB7IDksIHsgMHg0RTVEIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDgsIHsgMHg1MTZCIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcsIHsgMHg0RTAzIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDYsIHsgMHg1MTZEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDUsIHsg
MHg0RjBEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDQsIHsgMHg1NkRCIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDMsIHsgMHg1M0MyIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIsIHsgMHg1RjEw
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEsIHsgMHg1OEYxIH0gfSwKKyAgICAgICAgICAgICAg
ICB7IDAsIHsgMHg5NkY2IH0gfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsgMHgzMERF
LCAweDMwQTQsIDB4MzBDQSwgMHgzMEI5IH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIHRv
UHJlZGVmaW5lZEFkZGl0aXZlU3lzdGVtKHZhbHVlLCBqYXBhbmVzZUZvcm1hbFN5c3RlbSk7Cisg
ICAgfQorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S29yZWFuSGFuZ3VsRm9ybWFsOiB7CisgICAg
ICAgIHN0YXRpYyBjb25zdGV4cHIgQWRkaXRpdmVTeXN0ZW0ga29yZWFuSGFuZ3VsRm9ybWFsU3lz
dGVtIHsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB7IDkwMDAsIHsgMHhBRDZDLCAw
eENDOUMgfSB9LAorICAgICAgICAgICAgICAgIHsgODAwMCwgeyAweEQzMTQsIDB4Q0M5QyB9IH0s
CisgICAgICAgICAgICAgICAgeyA3MDAwLCB7IDB4Q0U2MCwgMHhDQzlDIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDYwMDAsIHsgMHhDNzIxLCAweENDOUMgfSB9LAorICAgICAgICAgICAgICAgIHsg
NTAwMCwgeyAweEM2MjQsIDB4Q0M5QyB9IH0sCisgICAgICAgICAgICAgICAgeyA0MDAwLCB7IDB4
QzBBQywgMHhDQzlDIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwMDAsIHsgMHhDMEJDLCAweEND
OUMgfSB9LAorICAgICAgICAgICAgICAgIHsgMjAwMCwgeyAweEM3NzQsIDB4Q0M5QyB9IH0sCisg
ICAgICAgICAgICAgICAgeyAxMDAwLCB7IDB4Qzc3QywgMHhDQzlDIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDkwMCwgeyAweEFENkMsIDB4QkMzMSB9IH0sCisgICAgICAgICAgICAgICAgeyA4MDAs
IHsgMHhEMzE0LCAweEJDMzEgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwLCB7IDB4Q0U2MCwg
MHhCQzMxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMCwgeyAweEM3MjEsIDB4QkMzMSB9IH0s
CisgICAgICAgICAgICAgICAgeyA1MDAsIHsgMHhDNjI0LCAweEJDMzEgfSB9LAorICAgICAgICAg
ICAgICAgIHsgNDAwLCB7IDB4QzBBQywgMHhCQzMxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMw
MCwgeyAweEMwQkMsIDB4QkMzMSB9IH0sCisgICAgICAgICAgICAgICAgeyAyMDAsIHsgMHhDNzc0
LCAweEJDMzEgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwLCB7IDB4Qzc3QywgMHhCQzMxIH0g
fSwKKyAgICAgICAgICAgICAgICB7IDkwLCB7IDB4QUQ2QywgMHhDMkVEIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDgwLCB7IDB4RDMxNCwgMHhDMkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcw
LCB7IDB4Q0U2MCwgMHhDMkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwLCB7IDB4QzcyMSwg
MHhDMkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDUwLCB7IDB4QzYyNCwgMHhDMkVEIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDQwLCB7IDB4QzBBQywgMHhDMkVEIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDMwLCB7IDB4QzBCQywgMHhDMkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwLCB7
IDB4Qzc3NCwgMHhDMkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwLCB7IDB4Qzc3QywgMHhD
MkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDksIHsgMHhBRDZDIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDgsIHsgMHhEMzE0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDcsIHsgMHhDRTYwIH0g
fSwKKyAgICAgICAgICAgICAgICB7IDYsIHsgMHhDNzIxIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDUsIHsgMHhDNjI0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDQsIHsgMHhDMEFDIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDMsIHsgMHhDMEJDIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIsIHsg
MHhDNzc0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEsIHsgMHhDNzdDIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDAsIHsgMHhDNjAxIH0gfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsg
MHhCOUM4LCAweEM3NzQsIDB4QjEwOCwgMHhDMkE0LCAnICcgfQorICAgICAgICB9OworICAgICAg
ICByZXR1cm4gdG9QcmVkZWZpbmVkQWRkaXRpdmVTeXN0ZW0odmFsdWUsIGtvcmVhbkhhbmd1bEZv
cm1hbFN5c3RlbSk7CisgICAgfQorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S29yZWFuSGFuamFJ
bmZvcm1hbDogeworICAgICAgICBzdGF0aWMgY29uc3RleHByIEFkZGl0aXZlU3lzdGVtIGtvcmVh
bkhhbmphSW5mb3JtYWxTeXN0ZW0geworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHsg
OTAwMCwgeyAweDRFNUQsIDB4NTM0MyB9IH0sCisgICAgICAgICAgICAgICAgeyA4MDAwLCB7IDB4
NTE2QiwgMHg1MzQzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwMDAsIHsgMHg0RTAzLCAweDUz
NDMgfSB9LAorICAgICAgICAgICAgICAgIHsgNjAwMCwgeyAweDUxNkQsIDB4NTM0MyB9IH0sCisg
ICAgICAgICAgICAgICAgeyA1MDAwLCB7IDB4NEU5NCwgMHg1MzQzIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDQwMDAsIHsgMHg1NkRCLCAweDUzNDMgfSB9LAorICAgICAgICAgICAgICAgIHsgMzAw
MCwgeyAweDRFMDksIDB4NTM0MyB9IH0sCisgICAgICAgICAgICAgICAgeyAyMDAwLCB7IDB4NEU4
QywgMHg1MzQzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwMDAsIHsgMHg1MzQzIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDkwMCwgeyAweDRFNUQsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAg
ICAgeyA4MDAsIHsgMHg1MTZCLCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwLCB7
IDB4NEUwMywgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMCwgeyAweDUxNkQsIDB4
NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyA1MDAsIHsgMHg0RTk0LCAweDc2N0UgfSB9LAor
ICAgICAgICAgICAgICAgIHsgNDAwLCB7IDB4NTZEQiwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDMwMCwgeyAweDRFMDksIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyAyMDAs
IHsgMHg0RThDLCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwLCB7IDB4NzY3RSB9
IH0sCisgICAgICAgICAgICAgICAgeyA5MCwgeyAweDRFNUQsIDB4NTM0MSB9IH0sCisgICAgICAg
ICAgICAgICAgeyA4MCwgeyAweDUxNkIsIDB4NTM0MSB9IH0sCisgICAgICAgICAgICAgICAgeyA3
MCwgeyAweDRFMDMsIDB4NTM0MSB9IH0sCisgICAgICAgICAgICAgICAgeyA2MCwgeyAweDUxNkQs
IDB4NTM0MSB9IH0sCisgICAgICAgICAgICAgICAgeyA1MCwgeyAweDRFOTQsIDB4NTM0MSB9IH0s
CisgICAgICAgICAgICAgICAgeyA0MCwgeyAweDU2REIsIDB4NTM0MSB9IH0sCisgICAgICAgICAg
ICAgICAgeyAzMCwgeyAweDRFMDksIDB4NTM0MSB9IH0sCisgICAgICAgICAgICAgICAgeyAyMCwg
eyAweDRFOEMsIDB4NTM0MSB9IH0sCisgICAgICAgICAgICAgICAgeyAxMCwgeyAweDUzNDEgfSB9
LAorICAgICAgICAgICAgICAgIHsgOSwgeyAweDRFNUQgfSB9LAorICAgICAgICAgICAgICAgIHsg
OCwgeyAweDUxNkIgfSB9LAorICAgICAgICAgICAgICAgIHsgNywgeyAweDRFMDMgfSB9LAorICAg
ICAgICAgICAgICAgIHsgNiwgeyAweDUxNkQgfSB9LAorICAgICAgICAgICAgICAgIHsgNSwgeyAw
eDRFOTQgfSB9LAorICAgICAgICAgICAgICAgIHsgNCwgeyAweDU2REIgfSB9LAorICAgICAgICAg
ICAgICAgIHsgMywgeyAweDRFMDkgfSB9LAorICAgICAgICAgICAgICAgIHsgMiwgeyAweDRFOEMg
fSB9LAorICAgICAgICAgICAgICAgIHsgMSwgeyAweDRFMDAgfSB9LAorICAgICAgICAgICAgICAg
IHsgMCwgeyAweDk2RjYgfSB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeyAweEI5Qzgs
IDB4Qzc3NCwgMHhCMTA4LCAweEMyQTQsICcgJyB9CisgICAgICAgIH07CisgICAgICAgIHJldHVy
biB0b1ByZWRlZmluZWRBZGRpdGl2ZVN5c3RlbSh2YWx1ZSwga29yZWFuSGFuamFJbmZvcm1hbFN5
c3RlbSk7CisgICAgfQorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S29yZWFuSGFuamFGb3JtYWw6
IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBBZGRpdGl2ZVN5c3RlbSBrb3JlYW5IYW5qYUZv
cm1hbFN5c3RlbSB7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgeyA5MDAwLCB7IDB4
NEU1RCwgMHg0RURGIH0gfSwKKyAgICAgICAgICAgICAgICB7IDgwMDAsIHsgMHg1MTZCLCAweDRF
REYgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwMCwgeyAweDRFMDMsIDB4NEVERiB9IH0sCisg
ICAgICAgICAgICAgICAgeyA2MDAwLCB7IDB4NTE2RCwgMHg0RURGIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDUwMDAsIHsgMHg0RTk0LCAweDRFREYgfSB9LAorICAgICAgICAgICAgICAgIHsgNDAw
MCwgeyAweDU2REIsIDB4NEVERiB9IH0sCisgICAgICAgICAgICAgICAgeyAzMDAwLCB7IDB4NTND
MywgMHg0RURGIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwMDAsIHsgMHg4Q0IzLCAweDRFREYg
fSB9LAorICAgICAgICAgICAgICAgIHsgMTAwMCwgeyAweDU4RjksIDB4NEVERiB9IH0sCisgICAg
ICAgICAgICAgICAgeyA5MDAsIHsgMHg0RTVELCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAg
IHsgODAwLCB7IDB4NTE2QiwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwMCwgeyAw
eDRFMDMsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyA2MDAsIHsgMHg1MTZELCAweDc2
N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgNTAwLCB7IDB4NEU5NCwgMHg3NjdFIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDQwMCwgeyAweDU2REIsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAg
ICAgeyAzMDAsIHsgMHg1M0MzLCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgMjAwLCB7
IDB4OENCMywgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwMCwgeyAweDU4RjksIDB4
NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyA5MCwgeyAweDRFNUQsIDB4NjJGRSB9IH0sCisg
ICAgICAgICAgICAgICAgeyA4MCwgeyAweDUxNkIsIDB4NjJGRSB9IH0sCisgICAgICAgICAgICAg
ICAgeyA3MCwgeyAweDRFMDMsIDB4NjJGRSB9IH0sCisgICAgICAgICAgICAgICAgeyA2MCwgeyAw
eDUxNkQsIDB4NjJGRSB9IH0sCisgICAgICAgICAgICAgICAgeyA1MCwgeyAweDRFOTQsIDB4NjJG
RSB9IH0sCisgICAgICAgICAgICAgICAgeyA0MCwgeyAweDU2REIsIDB4NjJGRSB9IH0sCisgICAg
ICAgICAgICAgICAgeyAzMCwgeyAweDUzQzMsIDB4NjJGRSB9IH0sCisgICAgICAgICAgICAgICAg
eyAyMCwgeyAweDhDQjMsIDB4NjJGRSB9IH0sCisgICAgICAgICAgICAgICAgeyAxMCwgeyAweDU4
RjksIDB4NjJGRSB9IH0sCisgICAgICAgICAgICAgICAgeyA5LCB7IDB4NEU1RCB9IH0sCisgICAg
ICAgICAgICAgICAgeyA4LCB7IDB4NTE2QiB9IH0sCisgICAgICAgICAgICAgICAgeyA3LCB7IDB4
NEUwMyB9IH0sCisgICAgICAgICAgICAgICAgeyA2LCB7IDB4NTE2RCB9IH0sCisgICAgICAgICAg
ICAgICAgeyA1LCB7IDB4NEU5NCB9IH0sCisgICAgICAgICAgICAgICAgeyA0LCB7IDB4NTZEQiB9
IH0sCisgICAgICAgICAgICAgICAgeyAzLCB7IDB4NTNDMyB9IH0sCisgICAgICAgICAgICAgICAg
eyAyLCB7IDB4OENCMyB9IH0sCisgICAgICAgICAgICAgICAgeyAxLCB7IDB4NThGOSB9IH0sCisg
ICAgICAgICAgICAgICAgeyAwLCB7IDB4OTZGNiB9IH0KKyAgICAgICAgICAgIH0sCisgICAgICAg
ICAgICB7IDB4QjlDOCwgMHhDNzc0LCAweEIxMDgsIDB4QzJBNCwgJyAnIH0KKyAgICAgICAgfTsK
KyAgICAgICAgcmV0dXJuIHRvUHJlZGVmaW5lZEFkZGl0aXZlU3lzdGVtKHZhbHVlLCBrb3JlYW5I
YW5qYUZvcm1hbFN5c3RlbSk7CisgICAgfQorCisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhp
b3BpY051bWVyaWM6CisgICAgICAgIHJldHVybiB0b0V0aGlvcGljTnVtZXJpYyh2YWx1ZSk7CisK
ICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlN0cmluZzoKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTEyMCw3ICsxNTA1LDcgQEAgdm9pZCBSZW5kZXJM
aXN0TWFya2VyOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVu
ZGVyU3R5bGUqIG8KIHN0ZDo6dW5pcXVlX3B0cjxMZWdhY3lJbmxpbmVFbGVtZW50Qm94PiBSZW5k
ZXJMaXN0TWFya2VyOjpjcmVhdGVJbmxpbmVCb3goKQogewogICAgIGF1dG8gYm94ID0gUmVuZGVy
Qm94OjpjcmVhdGVJbmxpbmVCb3goKTsKLSAgICBib3gtPnNldEJlaGF2ZXNMaWtlVGV4dChpc1Rl
eHQoKSk7CisgICAgYm94LT5zZXRCZWhhdmVzTGlrZVRleHQoIWlzSW1hZ2UoKSk7CiAgICAgcmV0
dXJuIGJveDsKIH0KIApAQCAtMTE1Nyw3ICsxNTQyLDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2Vy
OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zm
c2UKIAogICAgIExheW91dFJlY3QgYm94KGJveE9yaWdpbiwgc2l6ZSgpKTsKICAgICAKLSAgICBh
dXRvIG1hcmtlclJlY3QgPSBnZXRSZWxhdGl2ZU1hcmtlclJlY3QoKTsKKyAgICBhdXRvIG1hcmtl
clJlY3QgPSByZWxhdGl2ZU1hcmtlclJlY3QoKTsKICAgICBtYXJrZXJSZWN0Lm1vdmVCeShib3hP
cmlnaW4pOwogICAgIGlmIChtYXJrZXJSZWN0LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpA
QCAtMTE4Nyw4ICsxNTcyLDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpwYWludChQYWludElu
Zm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2UKICAgICBjb250ZXh0
LnNldFN0cm9rZVRoaWNrbmVzcygxLjBmKTsKICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihjb2xv
cik7CiAKLSAgICBhdXRvIHR5cGUgPSBzdHlsZSgpLmxpc3RTdHlsZVR5cGUoKTsKLSAgICBzd2l0
Y2ggKHR5cGUpIHsKKyAgICBzd2l0Y2ggKHN0eWxlKCkubGlzdFN0eWxlVHlwZSgpKSB7CiAgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpEaXNjOgogICAgICAgICBjb250ZXh0LmRyYXdFbGxpcHNlKG1h
cmtlclJlY3QpOwogICAgICAgICByZXR1cm47CkBAIC0xMTk5LDE3ICsxNTgzLDEyIEBAIHZvaWQg
UmVuZGVyTGlzdE1hcmtlcjo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91
dFBvaW50JiBwYWludE9mZnNlCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTcXVhcmU6CiAgICAg
ICAgIGNvbnRleHQuZHJhd1JlY3QobWFya2VyUmVjdCk7CiAgICAgICAgIHJldHVybjsKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6Ok5vbmU6Ci0gICAgICAgIHJldHVybjsKICAgICBkZWZhdWx0Ogog
ICAgICAgICBicmVhazsKICAgICB9Ci0gICAgaWYgKG1fdGV4dC5pc0VtcHR5KCkpCisgICAgaWYg
KG1fdGV4dFdpdGhTdWZmaXguaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBjb25z
dCBGb250Q2FzY2FkZSYgZm9udCA9IHN0eWxlKCkuZm9udENhc2NhZGUoKTsKLSAgICBUZXh0UnVu
IHRleHRSdW4gPSBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihtX3RleHQsIHN0eWxlKCkp
OwotCiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGNvbnRleHQsIGZh
bHNlKTsKICAgICBpZiAoIXN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgewogICAg
ICAgICBtYXJrZXJSZWN0Lm1vdmVCeSgtYm94T3JpZ2luKTsKQEAgLTEyMjMsNDcgKzE2MDIsNDQg
QEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29u
c3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2UKIAogICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbiA9
IEZsb2F0UG9pbnQobWFya2VyUmVjdC54KCksIG1hcmtlclJlY3QueSgpICsgc3R5bGUoKS5mb250
TWV0cmljcygpLmFzY2VudCgpKTsKICAgICB0ZXh0T3JpZ2luID0gcm91bmRQb2ludFRvRGV2aWNl
UGl4ZWxzKExheW91dFBvaW50KHRleHRPcmlnaW4pLCBkb2N1bWVudCgpLmRldmljZVNjYWxlRmFj
dG9yKCksIHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKTsKKyAgICBjb250ZXh0LmRy
YXdUZXh0KHN0eWxlKCkuZm9udENhc2NhZGUoKSwgdGV4dFJ1bigpLCB0ZXh0T3JpZ2luKTsKK30K
IAotICAgIGlmICh0eXBlID09IExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrcyB8fCB0eXBlID09IExp
c3RTdHlsZVR5cGU6OkZvb3Rub3RlcyB8fCB0eXBlID09IExpc3RTdHlsZVR5cGU6OlN0cmluZykK
LSAgICAgICAgY29udGV4dC5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCB0ZXh0T3JpZ2luKTsKLSAg
ICBlbHNlIHsKLSAgICAgICAgYXV0byBzdWZmaXggPSBsaXN0TWFya2VyU3VmZml4KHR5cGUsIG1f
bGlzdEl0ZW0tPnZhbHVlKCkpOwotCi0gICAgICAgIC8vIEZJWE1FOiBDb3VsZCB1c2UgYSBWZWN0
b3Igd2l0aCBpbmxpbmUgY2FwYWNpdHkgaW5zdGVhZCBvZiBTdHJpbmcgdG8gYXZvaWQKLSAgICAg
ICAgLy8gbWVtb3J5IGFsbG9jYXRpb24gaGVyZS4KLSAgICAgICAgU3RyaW5nIHRleHRUb0RyYXc7
Ci0KLSAgICAgICAgLy8gU2luY2UgbWFya2VyIHRleHQgaXMgbm90IGFyYml0cmFyeSwgd2UgY2Fu
IGp1ZGdlIGl0cyBkaXJlY3Rpb24ganVzdCBieQotICAgICAgICAvLyBjaGVja2luZyB0aGUgZmly
c3QgY2hhcmFjdGVyLCBhbmQgb25seSBuZWVkIHRvIGhhbmRsZSBVX1JJR0hUX1RPX0xFRlQuCi0g
ICAgICAgIC8vIEZJWE1FOiBDb3VsZCBjaGVjayBtb3JlIGVmZmljaWVudGx5IHRoYW4gdV9jaGFy
RGlyZWN0aW9uLCBzaW5jZSB3ZSBrbm93Ci0gICAgICAgIC8vIG9ubHkgY2VydGFpbiBjaGFyYWN0
ZXJzIGFyZSB1c2VkIGFuZCBvbmx5IG5lZWQgdG8gY2hlY2sgZm9yIFVfUklHSFRfVE9fTEVGVC4K
LSAgICAgICAgYm9vbCBzaG91bGRBZGRTcGFjZSA9IHN1ZmZpeFJlcXVpcmVzU3BhY2Uoc3VmZml4
KTsKLSAgICAgICAgaWYgKHVfY2hhckRpcmVjdGlvbihtX3RleHRbMF0pID09IFVfUklHSFRfVE9f
TEVGVCkgewotICAgICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gbV90ZXh0Lmxlbmd0aCgpOwot
ICAgICAgICAgICAgVUNoYXIqIGNoYXJhY3RlcnM7Ci0gICAgICAgICAgICB0ZXh0VG9EcmF3ID0g
U3RyaW5nOjpjcmVhdGVVbmluaXRpYWxpemVkKGxlbmd0aCArIDEgKyBzaG91bGRBZGRTcGFjZSwg
Y2hhcmFjdGVycyk7Ci0gICAgICAgICAgICBpZiAoIXN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVj
dGlvbigpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNob3VsZEFkZFNwYWNlKQotICAgICAgICAg
ICAgICAgICAgICAqY2hhcmFjdGVycysrID0gc3BhY2U7Ci0gICAgICAgICAgICAgICAgKmNoYXJh
Y3RlcnMrKyA9IHN1ZmZpeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKLSAgICAgICAgICAgICAgICAqY2hhcmFjdGVycysr
ID0gbV90ZXh0W2xlbmd0aCAtIGkgLSAxXTsKLSAgICAgICAgICAgIGlmIChzdHlsZSgpLmlzTGVm
dFRvUmlnaHREaXJlY3Rpb24oKSkgewotICAgICAgICAgICAgICAgICpjaGFyYWN0ZXJzKysgPSBz
dWZmaXg7Ci0gICAgICAgICAgICAgICAgaWYgKHNob3VsZEFkZFNwYWNlKQotICAgICAgICAgICAg
ICAgICAgICAqY2hhcmFjdGVycysrID0gc3BhY2U7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICBpZiAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkp
Ci0gICAgICAgICAgICAgICAgdGV4dFRvRHJhdyA9IG1ha2VTdHJpbmcobV90ZXh0LCBzdWZmaXgs
IHNob3VsZEFkZFNwYWNlID8gIiAiIDogIiIpOworc3RhdGljIFN0cmluZyByZXZlcnNlZChTdHJp
bmdWaWV3IHN0cmluZykKK3sKKyAgICBhdXRvIGxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAg
ICBpZiAobGVuZ3RoIDw9IDEpCisgICAgICAgIHJldHVybiBzdHJpbmcudG9TdHJpbmcoKTsKKyAg
ICBVQ2hhciogY2hhcmFjdGVyczsKKyAgICBhdXRvIHJlc3VsdCA9IFN0cmluZzo6Y3JlYXRlVW5p
bml0aWFsaXplZChsZW5ndGgsIGNoYXJhY3RlcnMpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBsZW5ndGg7ICsraSkKKyAgICAgICAgKmNoYXJhY3RlcnMrKyA9IHN0cmluZ1tsZW5ndGgg
LSBpIC0gMV07CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworVGV4dFJ1biBSZW5kZXJMaXN0TWFy
a2VyOjp0ZXh0UnVuKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIW1fdGV4dFdpdGhTdWZmaXguaXNF
bXB0eSgpKTsKKworICAgIC8vIFNpbmNlIHRoZSBiaWRpIGFsZ29yaXRobSBkb2Vzbid0IHJ1biBv
biB0aGlzIHRleHQsIHdlIGluc3RlYWQgcmVvcmRlciB0aGUgY2hhcmFjdGVycyBoZXJlLgorICAg
IC8vIFdlIHVzZSB1X2NoYXJEaXJlY3Rpb24gdG8gZmlndXJlIG91dCBpZiB0aGUgbWFya2VyIHRl
eHQgaXMgUlRMIGFuZCBhc3N1bWUgdGhlIHN1ZmZpeCBtYXRjaGVzIHRoZSBzdXJyb3VuZGluZyBk
aXJlY3Rpb24uCisgICAgU3RyaW5nIHRleHRGb3JSdW47CisgICAgaWYgKG1fdGV4dElzTGVmdFRv
UmlnaHREaXJlY3Rpb24pIHsKKyAgICAgICAgaWYgKHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVj
dGlvbigpKQorICAgICAgICAgICAgdGV4dEZvclJ1biA9IG1fdGV4dFdpdGhTdWZmaXg7CisgICAg
ICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKHN0eWxlKCkubGlzdFN0eWxlVHlwZSgpID09IExp
c3RTdHlsZVR5cGU6OkRpc2Nsb3N1cmVDbG9zZWQpCisgICAgICAgICAgICAgICAgdGV4dEZvclJ1
biA9IHsgJmJsYWNrTGVmdFBvaW50aW5nU21hbGxUcmlhbmdsZSwgMSB9OwogICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIHRleHRUb0RyYXcgPSBtYWtlU3RyaW5nKHNob3VsZEFkZFNw
YWNlID8gIiAiIDogIiIsIHN1ZmZpeCwgbV90ZXh0KTsKKyAgICAgICAgICAgICAgICB0ZXh0Rm9y
UnVuID0gbWFrZVN0cmluZyhyZXZlcnNlZChtX3RleHRXaXRoU3VmZml4LnN1YnN0cmluZyhtX3Rl
eHRXaXRob3V0U3VmZml4TGVuZ3RoKSksIG1fdGV4dFdpdGhTdWZmaXgubGVmdChtX3RleHRXaXRo
b3V0U3VmZml4TGVuZ3RoKSk7CiAgICAgICAgIH0KLSAgICAgICAgdGV4dFJ1bi5zZXRUZXh0KHRl
eHRUb0RyYXcpOwotCi0gICAgICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgdGV4dFJ1biwgdGV4
dE9yaWdpbik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKCFzdHlsZSgpLmlzTGVmdFRvUmln
aHREaXJlY3Rpb24oKSkKKyAgICAgICAgICAgIHRleHRGb3JSdW4gPSByZXZlcnNlZChtX3RleHRX
aXRoU3VmZml4KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGV4dEZvclJ1biA9IG1ha2VT
dHJpbmcocmV2ZXJzZWQobV90ZXh0V2l0aFN1ZmZpeC5sZWZ0KG1fdGV4dFdpdGhvdXRTdWZmaXhM
ZW5ndGgpKSwgbV90ZXh0V2l0aFN1ZmZpeC5zdWJzdHJpbmcobV90ZXh0V2l0aG91dFN1ZmZpeExl
bmd0aCkpOwogICAgIH0KKyAgICByZXR1cm4gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4o
dGV4dEZvclJ1biwgc3R5bGUoKSk7CiB9CiAKIFJlbmRlckJveCogUmVuZGVyTGlzdE1hcmtlcjo6
cGFyZW50Qm94KFJlbmRlckJveCYgYm94KQpAQCAtMTMwNSw3ICsxNjgxLDcgQEAgdm9pZCBSZW5k
ZXJMaXN0TWFya2VyOjphZGRPdmVyZmxvd0Zyb21MaXN0TWFya2VyKCkKIAogICAgIC8vIEZJWE1F
OiBOZWVkIHRvIGFjY291bnQgZm9yIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGluIHRoZSBsYXlvdXQg
b3ZlcmZsb3cuCiAgICAgaWYgKG1fbGlzdEl0ZW0tPnN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVj
dGlvbigpKSB7Ci0gICAgICAgIG1hcmtlckxvZ2ljYWxMZWZ0ID0gbGluZU9mZnNldEZvckxpc3RJ
dGVtKCkgLSBsaW5lT2Zmc2V0IC0gbV9saXN0SXRlbS0+cGFkZGluZ1N0YXJ0KCkgLSBtX2xpc3RJ
dGVtLT5ib3JkZXJTdGFydCgpICsgbWFyZ2luU3RhcnQoKTsKKyAgICAgICAgbWFya2VyTG9naWNh
bExlZnQgPSBtX2xpbmVPZmZzZXRGb3JMaXN0SXRlbSAtIGxpbmVPZmZzZXQgLSBtX2xpc3RJdGVt
LT5wYWRkaW5nU3RhcnQoKSAtIG1fbGlzdEl0ZW0tPmJvcmRlclN0YXJ0KCkgKyBtYXJnaW5TdGFy
dCgpOwogICAgICAgICBpbmxpbmVCb3hXcmFwcGVyKCktPmFkanVzdExpbmVEaXJlY3Rpb25Qb3Np
dGlvbihtYXJrZXJMb2dpY2FsTGVmdCAtIG1hcmtlck9sZExvZ2ljYWxMZWZ0KTsKICAgICAgICAg
Zm9yIChhdXRvKiBib3ggPSBpbmxpbmVCb3hXcmFwcGVyKCktPnBhcmVudCgpOyBib3g7IGJveCA9
IGJveC0+cGFyZW50KCkpIHsKICAgICAgICAgICAgIGF1dG8gbmV3TG9naWNhbFZpc3VhbE92ZXJm
bG93UmVjdCA9IGJveC0+bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdChsaW5lVG9wLCBsaW5lQm90
dG9tKTsKQEAgLTEzMjcsNyArMTcwMyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6YWRkT3Zl
cmZsb3dGcm9tTGlzdE1hcmtlcigpCiAgICAgICAgICAgICAgICAgaGl0U2VsZlBhaW50aW5nTGF5
ZXIgPSB0cnVlOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbWFya2VyTG9naWNh
bExlZnQgPSBsaW5lT2Zmc2V0Rm9yTGlzdEl0ZW0oKSAtIGxpbmVPZmZzZXQgKyBtX2xpc3RJdGVt
LT5wYWRkaW5nU3RhcnQoKSArIG1fbGlzdEl0ZW0tPmJvcmRlclN0YXJ0KCkgKyBtYXJnaW5FbmQo
KTsKKyAgICAgICAgbWFya2VyTG9naWNhbExlZnQgPSBtX2xpbmVPZmZzZXRGb3JMaXN0SXRlbSAt
IGxpbmVPZmZzZXQgKyBtX2xpc3RJdGVtLT5wYWRkaW5nU3RhcnQoKSArIG1fbGlzdEl0ZW0tPmJv
cmRlclN0YXJ0KCkgKyBtYXJnaW5FbmQoKTsKICAgICAgICAgaW5saW5lQm94V3JhcHBlcigpLT5h
ZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24obWFya2VyTG9naWNhbExlZnQgLSBtYXJrZXJPbGRM
b2dpY2FsTGVmdCk7CiAgICAgICAgIGZvciAoYXV0byogYm94ID0gaW5saW5lQm94V3JhcHBlcigp
LT5wYXJlbnQoKTsgYm94OyBib3ggPSBib3gtPnBhcmVudCgpKSB7CiAgICAgICAgICAgICBhdXRv
IG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QgPSBib3gtPmxvZ2ljYWxWaXN1YWxPdmVyZmxv
d1JlY3QobGluZVRvcCwgbGluZUJvdHRvbSk7CkBAIC0xNDIzLDE5ICsxNzk5LDE0IEBAIHZvaWQg
UmVuZGVyTGlzdE1hcmtlcjo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciBvLCBjb25zdCBJ
bnRSZWN0KikKIAogdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zQW5kQ29udGVu
dCgpCiB7Ci0gICAgdXBkYXRlQ29udGVudCgpOworICAgIC8vIEZJWE1FOiBBIHBlcmZvcm1hbmNl
IG9wdGltaXphdGlvbjogaXQncyBtZXNzeSB0byB1c2UgdGhlIHByZWZlcnJlZExvZ2ljYWxXaWR0
aHMgZGlydHkgYml0IGZvciB0aGlzLiBJdCdzIHVuY2xlYXIgaWYgdGhpcyBpcyBhIHByZW1hdHVy
ZSBvcHRpbWl6YXRpb24uCisgICAgaWYgKHByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSgpKQor
ICAgICAgICB1cGRhdGVDb250ZW50KCk7CiAgICAgdXBkYXRlTWFyZ2lucygpOwogfQogCiB2b2lk
IFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZUNvbnRlbnQoKQogewotICAgIC8vIEZJWE1FOiBUaGlz
IGlmLXN0YXRlbWVudCBpcyBqdXN0IGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLCBidXQgaXQn
cyBtZXNzeSB0byB1c2UgdGhlIHByZWZlcnJlZExvZ2ljYWxXaWR0aHMgZGlydHkgYml0IGZvciB0
aGlzLgotICAgIC8vIEl0J3MgdW5jbGVhciBpZiB0aGlzIGlzIGEgcHJlbWF0dXJlIG9wdGltaXph
dGlvbi4KLSAgICBpZiAoIXByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSgpKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBtX3RleHQgPSBlbXB0eVN0cmluZygpOwotCiAgICAgaWYgKGlzSW1hZ2Uo
KSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIHNvbWV3aGF0IGFyYml0cmFyeSB3aWR0
aC4gIEdlbmVyYXRlZCBpbWFnZXMgZm9yIG1hcmtlcnMgcmVhbGx5IHdvbid0IGJlY29tZSBwYXJ0
aWN1bGFybHkgdXNlZnVsCiAgICAgICAgIC8vIHVudGlsIHdlIHN1cHBvcnQgdGhlIENTUzMgbWFy
a2VyIHBzZXVkb2NsYXNzIHRvIGFsbG93IGNvbnRyb2wgb3ZlciB0aGUgd2lkdGggYW5kIGhlaWdo
dCBvZiB0aGUgbWFya2VyIGJveC4KQEAgLTE0NDMsMjMgKzE4MTQsMjUgQEAgdm9pZCBSZW5kZXJM
aXN0TWFya2VyOjp1cGRhdGVDb250ZW50KCkKICAgICAgICAgTGF5b3V0U2l6ZSBkZWZhdWx0QnVs
bGV0U2l6ZShidWxsZXRXaWR0aCwgYnVsbGV0V2lkdGgpOwogICAgICAgICBMYXlvdXRTaXplIGlt
YWdlU2l6ZSA9IGNhbGN1bGF0ZUltYWdlSW50cmluc2ljRGltZW5zaW9ucyhtX2ltYWdlLmdldCgp
LCBkZWZhdWx0QnVsbGV0U2l6ZSwgRG9Ob3RTY2FsZUJ5RWZmZWN0aXZlWm9vbSk7CiAgICAgICAg
IG1faW1hZ2UtPnNldENvbnRhaW5lckNvbnRleHRGb3JSZW5kZXJlcigqdGhpcywgaW1hZ2VTaXpl
LCBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7CisgICAgICAgIG1fdGV4dFdpdGhTdWZmaXggPSBl
bXB0eVN0cmluZygpOworICAgICAgICBtX3RleHRXaXRob3V0U3VmZml4TGVuZ3RoID0gMDsKKyAg
ICAgICAgbV90ZXh0SXNMZWZ0VG9SaWdodERpcmVjdGlvbiA9IHRydWU7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKICAgICBhdXRvIHR5cGUgPSBzdHlsZSgpLmxpc3RTdHlsZVR5cGUoKTsKICAg
ICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok5vbmU6Ci0gICAgICAg
IGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3RyaW5nOgotICAgICAgICBtX3RleHQg
PSBzdHlsZSgpLmxpc3RTdHlsZVN0cmluZ1ZhbHVlKCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6Q2lyY2xlOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGlzYzoK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlNxdWFyZToKLSAgICAgICAgbV90ZXh0ID0gbGlzdE1h
cmtlclRleHQodHlwZSwgMCk7IC8vIHZhbHVlIGlzIGlnbm9yZWQgZm9yIHRoZXNlIHR5cGVzCisg
ICAgICAgIG1fdGV4dFdpdGhTdWZmaXggPSBzdHlsZSgpLmxpc3RTdHlsZVN0cmluZ1ZhbHVlKCk7
CisgICAgICAgIG1fdGV4dFdpdGhvdXRTdWZmaXhMZW5ndGggPSBtX3RleHRXaXRoU3VmZml4Lmxl
bmd0aCgpOworICAgICAgICAvLyBGSVhNRTogRGVwZW5kaW5nIG9uIHRoZSBzdHJpbmcgdmFsdWUs
IHdlIG1heSBuZWVkIHRoZSByZWFsIGJpZGkgYWxnb3JpdGhtLgorICAgICAgICBtX3RleHRJc0xl
ZnRUb1JpZ2h0RGlyZWN0aW9uID0gdV9jaGFyRGlyZWN0aW9uKG1fdGV4dFdpdGhTdWZmaXhbMF0p
ICE9IFVfUklHSFRfVE9fTEVGVDsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKLSAgICAg
ICAgbV90ZXh0ID0gbGlzdE1hcmtlclRleHQodHlwZSwgbV9saXN0SXRlbS0+dmFsdWUoKSk7Cisg
ICAgICAgIGF1dG8gdGV4dCA9IGxpc3RNYXJrZXJUZXh0KHR5cGUsIG1fbGlzdEl0ZW0tPnZhbHVl
KCkpOworICAgICAgICBtX3RleHRXaXRoU3VmZml4ID0gbWFrZVN0cmluZyh0ZXh0LCBsaXN0TWFy
a2VyU3VmZml4KHR5cGUpKTsKKyAgICAgICAgbV90ZXh0V2l0aG91dFN1ZmZpeExlbmd0aCA9IHRl
eHQubGVuZ3RoKCk7CisgICAgICAgIG1fdGV4dElzTGVmdFRvUmlnaHREaXJlY3Rpb24gPSB1X2No
YXJEaXJlY3Rpb24odGV4dFswXSkgIT0gVV9SSUdIVF9UT19MRUZUOwogICAgICAgICBicmVhazsK
ICAgICB9CiB9CkBAIC0xNDgwLDMzICsxODUzLDE1IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBm
b250ID0gc3R5bGUoKS5mb250Q2FzY2FkZSgpOwogCiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsV2lk
dGg7Ci0gICAgYXV0byB0eXBlID0gc3R5bGUoKS5saXN0U3R5bGVUeXBlKCk7Ci0gICAgc3dpdGNo
ICh0eXBlKSB7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpOb25lOgotICAgICAgICBicmVhazsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrczoKLSAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkZvb3Rub3RlczoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlN0cmluZzoKLSAgICAgICAg
aWYgKCFtX3RleHQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBUZXh0UnVuIHJ1biA9IFJlbmRl
ckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKG1fdGV4dCwgc3R5bGUoKSk7Ci0gICAgICAgICAgICBs
b2dpY2FsV2lkdGggPSBmb250LndpZHRoKHJ1bik7IC8vIG5vIHN1ZmZpeCBmb3IgdGhlc2UgdHlw
ZXMKLSAgICAgICAgfQotICAgICAgICBicmVhazsKKyAgICBzd2l0Y2ggKHN0eWxlKCkubGlzdFN0
eWxlVHlwZSgpKSB7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDaXJjbGU6CiAgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpEaXNjOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3F1YXJlOgogICAg
ICAgICBsb2dpY2FsV2lkdGggPSAoZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpICogMiAvIDMg
KyAxKSAvIDIgKyAyOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICBpZiAo
bV90ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IDA7Ci0gICAgICAg
IGVsc2UgewotICAgICAgICAgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9jazo6Y29uc3RydWN0
VGV4dFJ1bihtX3RleHQsIHN0eWxlKCkpOwotICAgICAgICAgICAgTGF5b3V0VW5pdCBpdGVtV2lk
dGggeyBmb250LndpZHRoKHJ1bikgfTsKLSAgICAgICAgICAgIFVDaGFyIHN1ZmZpeFsyXSA9IHsg
bGlzdE1hcmtlclN1ZmZpeCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKSwgJyAnIH07Ci0gICAg
ICAgICAgICBMYXlvdXRVbml0IHN1ZmZpeFdpZHRoIHsgZm9udC53aWR0aChSZW5kZXJCbG9jazo6
Y29uc3RydWN0VGV4dFJ1bihzdWZmaXgsIHN1ZmZpeFJlcXVpcmVzU3BhY2Uoc3VmZml4WzBdKSA/
IDIgOiAxLCBzdHlsZSgpKSkgfTsKLSAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IGl0ZW1XaWR0
aCArIHN1ZmZpeFdpZHRoOwotICAgICAgICB9CisgICAgICAgIGlmICghbV90ZXh0V2l0aFN1ZmZp
eC5pc0VtcHR5KCkpCisgICAgICAgICAgICBsb2dpY2FsV2lkdGggPSBmb250LndpZHRoKHRleHRS
dW4oKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMTU1MCwxNCArMTkwNSwxMiBAQCB2
b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQogICAgICAgICAgICAgbWFyZ2lu
U3RhcnQgPSAtb2Zmc2V0IC0gY01hcmtlclBhZGRpbmcgLSAxOwogICAgICAgICAgICAgbWFyZ2lu
RW5kID0gb2Zmc2V0ICsgY01hcmtlclBhZGRpbmcgKyAxIC0gbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoKCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpO
b25lOgotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3Ry
aW5nOgotICAgICAgICAgICAgaWYgKCFtX3RleHQuaXNFbXB0eSgpKQorICAgICAgICAgICAgaWYg
KCFtX3RleHRXaXRoU3VmZml4LmlzRW1wdHkoKSkKICAgICAgICAgICAgICAgICBtYXJnaW5TdGFy
dCA9IC1taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKCFtX3RleHQuaXNFbXB0eSgpKSB7CisgICAg
ICAgICAgICBpZiAoIW1fdGV4dFdpdGhTdWZmaXguaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAg
ICAgbWFyZ2luU3RhcnQgPSAtbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgLSBvZmZzZXQgLyAy
OwogICAgICAgICAgICAgICAgIG1hcmdpbkVuZCA9IG9mZnNldCAvIDI7CiAgICAgICAgICAgICB9
CkBAIC0xNTgyLDUzICsxOTM1LDE4IEBAIExheW91dFVuaXQgUmVuZGVyTGlzdE1hcmtlcjo6YmFz
ZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlLCBib29sIGZpCiAgICAgcmV0
dXJuIFJlbmRlckJveDo6YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwg
ZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKTsKIH0KIAotU3RyaW5nIFJlbmRlckxpc3RNYXJr
ZXI6OnN1ZmZpeCgpIGNvbnN0Ci17Ci0gICAgYXV0byB0eXBlID0gc3R5bGUoKS5saXN0U3R5bGVU
eXBlKCk7Ci0gICAgaWYgKHR5cGUgPT0gTGlzdFN0eWxlVHlwZTo6U3RyaW5nKQotICAgICAgICBy
ZXR1cm4gZW1wdHlTdHJpbmcoKTsKLQotICAgIGF1dG8gc3VmZml4ID0gbGlzdE1hcmtlclN1ZmZp
eCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKTsKLQotICAgIGlmIChzdWZmaXggPT0gJyAnKQot
ICAgICAgICByZXR1cm4gIiAiX3N0cjsKLSAgICBpZiAoIXN1ZmZpeFJlcXVpcmVzU3BhY2Uoc3Vm
Zml4KSkKLSAgICAgICAgcmV0dXJuIHsgJnN1ZmZpeCwgMSB9OwotCi0gICAgVUNoYXIgZGF0YVsy
XTsKLSAgICBpZiAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpIHsKLSAgICAgICAg
ZGF0YVswXSA9IHN1ZmZpeDsKLSAgICAgICAgZGF0YVsxXSA9ICcgJzsKLSAgICB9IGVsc2Ugewot
ICAgICAgICBkYXRhWzBdID0gJyAnOwotICAgICAgICBkYXRhWzFdID0gc3VmZml4OwotICAgIH0K
LSAgICByZXR1cm4geyBkYXRhLCAyIH07Ci19Ci0KIGJvb2wgUmVuZGVyTGlzdE1hcmtlcjo6aXNJ
bnNpZGUoKSBjb25zdAogewogICAgIHJldHVybiBtX2xpc3RJdGVtLT5ub3RJbkxpc3QoKSB8fCBz
dHlsZSgpLmxpc3RTdHlsZVBvc2l0aW9uKCkgPT0gTGlzdFN0eWxlUG9zaXRpb246Okluc2lkZTsK
IH0KIAotRmxvYXRSZWN0IFJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0aXZlTWFya2VyUmVjdCgp
CitGbG9hdFJlY3QgUmVuZGVyTGlzdE1hcmtlcjo6cmVsYXRpdmVNYXJrZXJSZWN0KCkKIHsKICAg
ICBpZiAoaXNJbWFnZSgpKQogICAgICAgICByZXR1cm4gRmxvYXRSZWN0KDAsIDAsIG1faW1hZ2Ut
PmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSkud2lkdGgoKSwgbV9pbWFn
ZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKS5oZWlnaHQoKSk7Ci0g
ICAgCisKICAgICBGbG9hdFJlY3QgcmVsYXRpdmVSZWN0OwotICAgIGF1dG8gdHlwZSA9IHN0eWxl
KCkubGlzdFN0eWxlVHlwZSgpOwotICAgIHN3aXRjaCAodHlwZSkgewotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6QXN0ZXJpc2tzOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzOgot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3RyaW5nOiB7Ci0gICAgICAgIGlmIChtX3RleHQuaXNF
bXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwotICAgICAgICBjb25zdCBG
b250Q2FzY2FkZSYgZm9udCA9IHN0eWxlKCkuZm9udENhc2NhZGUoKTsKLSAgICAgICAgVGV4dFJ1
biBydW4gPSBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihtX3RleHQsIHN0eWxlKCkpOwot
ICAgICAgICByZWxhdGl2ZVJlY3QgPSBGbG9hdFJlY3QoMCwgMCwgZm9udC53aWR0aChydW4pLCBm
b250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwotICAgICAgICBicmVhazsKLSAgICB9CisgICAg
c3dpdGNoIChzdHlsZSgpLmxpc3RTdHlsZVR5cGUoKSkgewogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6RGlzYzoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNpcmNsZToKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlNxdWFyZTogewpAQCAtMTYzOSwxNyArMTk1NywxMiBAQCBGbG9hdFJlY3QgUmVu
ZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVNYXJrZXJSZWN0KCkKICAgICAgICAgcmVsYXRpdmVS
ZWN0ID0gRmxvYXRSZWN0KDEsIDMgKiAoYXNjZW50IC0gYXNjZW50ICogMiAvIDMpIC8gMiwgYnVs
bGV0V2lkdGgsIGJ1bGxldFdpZHRoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6Tm9uZToKLSAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwogICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIGlmIChtX3RleHQuaXNFbXB0eSgpKQorICAgICAgICBpZiAobV90ZXh0
V2l0aFN1ZmZpeC5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gRmxvYXRSZWN0KCk7Ci0g
ICAgICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250ID0gc3R5bGUoKS5mb250Q2FzY2FkZSgpOwot
ICAgICAgICBUZXh0UnVuIHJ1biA9IFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKG1fdGV4
dCwgc3R5bGUoKSk7Ci0gICAgICAgIGZsb2F0IGl0ZW1XaWR0aCA9IGZvbnQud2lkdGgocnVuKTsK
LSAgICAgICAgVUNoYXIgc3VmZml4WzJdID0geyBsaXN0TWFya2VyU3VmZml4KHR5cGUsIG1fbGlz
dEl0ZW0tPnZhbHVlKCkpLCAnICcgfTsKLSAgICAgICAgZmxvYXQgc3VmZml4V2lkdGggPSBmb250
LndpZHRoKFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKHN1ZmZpeCwgc3VmZml4UmVxdWly
ZXNTcGFjZShzdWZmaXhbMF0pID8gMiA6IDEsIHN0eWxlKCkpKTsKLSAgICAgICAgcmVsYXRpdmVS
ZWN0ID0gRmxvYXRSZWN0KDAsIDAsIGl0ZW1XaWR0aCArIHN1ZmZpeFdpZHRoLCBmb250LmZvbnRN
ZXRyaWNzKCkuaGVpZ2h0KCkpOworICAgICAgICBhdXRvJiBmb250ID0gc3R5bGUoKS5mb250Q2Fz
Y2FkZSgpOworICAgICAgICByZWxhdGl2ZVJlY3QgPSBGbG9hdFJlY3QoMCwgMCwgZm9udC53aWR0
aCh0ZXh0UnVuKCkpLCBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOworICAgICAgICBicmVh
azsKICAgICB9CiAKICAgICBpZiAoIXN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkg
ewpAQCAtMTY3NSw0ICsxOTg4LDkgQEAgTGF5b3V0UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpzZWxl
Y3Rpb25SZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWMKICAgICByZXR1
cm4gbG9jYWxUb0NvbnRhaW5lclF1YWQoRmxvYXRSZWN0KHJlY3QpLCByZXBhaW50Q29udGFpbmVy
KS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOwogfQogCitTdHJpbmdWaWV3IFJlbmRlckxpc3RNYXJr
ZXI6OnRleHRXaXRob3V0U3VmZml4KCkgY29uc3QKK3sKKyAgICByZXR1cm4gU3RyaW5nVmlldyB7
IG1fdGV4dFdpdGhTdWZmaXggfS5sZWZ0KG1fdGV4dFdpdGhvdXRTdWZmaXhMZW5ndGgpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RNYXJrZXIuaAppbmRleCA1OWUzYmU5ZTA4YmYyMjdmNTZkMzhiOWZkNTAwNjk1NTMxZTMy
YTg2Li43OGJlZGRlYjYzNTUwNjQ2Y2EyNTM5MDA5ODg1ZDgwYzgzOWRkYjM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmgKQEAgLTEsNyArMSw3IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAg
ICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDkgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAzLTIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zOCw1NiAr
MzgsNDMgQEAgcHVibGljOgogICAgIFJlbmRlckxpc3RNYXJrZXIoUmVuZGVyTGlzdEl0ZW0mLCBS
ZW5kZXJTdHlsZSYmKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJMaXN0TWFya2VyKCk7CiAKLSAgICBj
b25zdCBTdHJpbmcmIHRleHQoKSBjb25zdCB7IHJldHVybiBtX3RleHQ7IH0KLSAgICBTdHJpbmcg
c3VmZml4KCkgY29uc3Q7CisgICAgU3RyaW5nVmlldyB0ZXh0V2l0aG91dFN1ZmZpeCgpIGNvbnN0
OworICAgIFN0cmluZ1ZpZXcgdGV4dFdpdGhTdWZmaXgoKSBjb25zdCB7IHJldHVybiBtX3RleHRX
aXRoU3VmZml4OyB9CiAKICAgICBib29sIGlzSW5zaWRlKCkgY29uc3Q7CiAKLSAgICBMYXlvdXRV
bml0IGxpbmVPZmZzZXRGb3JMaXN0SXRlbSgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU9mZnNldEZv
ckxpc3RJdGVtOyB9Ci0KICAgICB2b2lkIHVwZGF0ZU1hcmdpbnNBbmRDb250ZW50KCk7Ci0KICAg
ICB2b2lkIGFkZE92ZXJmbG93RnJvbUxpc3RNYXJrZXIoKTsKIAogcHJpdmF0ZToKLSAgICB2b2lk
IHdpbGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJlRGVzdHJveWVkKCkg
ZmluYWw7CisgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
ICJSZW5kZXJMaXN0TWFya2VyIjsgfQorICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxX
aWR0aHMoKSBmaW5hbDsKKyAgICBib29sIGlzTGlzdE1hcmtlcigpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIHRydWU7IH0KKyAgICBib29sIGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIGZhbHNlOyB9CisgICAgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2lu
dCYpIGZpbmFsOworICAgIHZvaWQgbGF5b3V0KCkgZmluYWw7CisgICAgdm9pZCBpbWFnZUNoYW5n
ZWQoV3JhcHBlZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KikgZmluYWw7CisgICAgc3RkOjp1bmlx
dWVfcHRyPExlZ2FjeUlubGluZUVsZW1lbnRCb3g+IGNyZWF0ZUlubGluZUJveCgpIGZpbmFsOwor
ICAgIExheW91dFVuaXQgbGluZUhlaWdodChib29sIGZpcnN0TGluZSwgTGluZURpcmVjdGlvbk1v
ZGUsIExpbmVQb3NpdGlvbk1vZGUpIGNvbnN0IGZpbmFsOworICAgIExheW91dFVuaXQgYmFzZWxp
bmVQb3NpdGlvbihGb250QmFzZWxpbmUsIGJvb2wgZmlyc3RMaW5lLCBMaW5lRGlyZWN0aW9uTW9k
ZSwgTGluZVBvc2l0aW9uTW9kZSkgY29uc3QgZmluYWw7CisgICAgYm9vbCBpc0ltYWdlKCkgY29u
c3QgZmluYWw7CisgICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yUmVwYWludChjb25zdCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBib29sIGNsaXBUb1Zpc2li
bGVDb250ZW50KSBmaW5hbDsKKyAgICBib29sIGNhbkJlU2VsZWN0aW9uTGVhZigpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVy
ZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBmaW5hbDsKIAogICAgIHZvaWQgZWxl
bWVudCgpIGNvbnN0ID0gZGVsZXRlOwogCi0gICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJMaXN0TWFya2VyIjsgfQotICAgIHZvaWQgY29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKSBvdmVycmlkZTsKLQotICAgIGJvb2wgaXNMaXN0
TWFya2VyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotICAgIGJvb2wgY2FuSGF2
ZUNoaWxkcmVuKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KLQotICAgIHZvaWQg
cGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBvdmVycmlkZTsKLQotICAgIHZv
aWQgbGF5b3V0KCkgb3ZlcnJpZGU7Ci0KLSAgICB2b2lkIGltYWdlQ2hhbmdlZChXcmFwcGVkSW1h
Z2VQdHIsIGNvbnN0IEludFJlY3QqID0gMCkgb3ZlcnJpZGU7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9w
dHI8TGVnYWN5SW5saW5lRWxlbWVudEJveD4gY3JlYXRlSW5saW5lQm94KCkgb3ZlcnJpZGU7Ci0K
LSAgICBMYXlvdXRVbml0IGxpbmVIZWlnaHQoYm9vbCBmaXJzdExpbmUsIExpbmVEaXJlY3Rpb25N
b2RlLCBMaW5lUG9zaXRpb25Nb2RlID0gUG9zaXRpb25PbkNvbnRhaW5pbmdMaW5lKSBjb25zdCBv
dmVycmlkZTsKLSAgICBMYXlvdXRVbml0IGJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lLCBi
b29sIGZpcnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUsIExpbmVQb3NpdGlvbk1vZGUgPSBQb3Np
dGlvbk9uQ29udGFpbmluZ0xpbmUpIGNvbnN0IG92ZXJyaWRlOwotCi0gICAgYm9vbCBpc0ltYWdl
KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc1RleHQoKSBjb25zdCB7IHJldHVybiAhaXNJ
bWFnZSgpOyB9Ci0KLSAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3RGb3JSZXBhaW50KGNvbnN0
IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGJvb2wgY2xpcFRvVmlz
aWJsZUNvbnRlbnQgPSB0cnVlKSBvdmVycmlkZTsKLSAgICBib29sIGNhbkJlU2VsZWN0aW9uTGVh
ZigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLQogICAgIHZvaWQgdXBkYXRlTWFy
Z2lucygpOwogICAgIHZvaWQgdXBkYXRlQ29udGVudCgpOwotCi0gICAgdm9pZCBzdHlsZURpZENo
YW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJp
ZGU7Ci0KICAgICBSZW5kZXJCb3gqIHBhcmVudEJveChSZW5kZXJCb3gmKTsKLQotICAgIEZsb2F0
UmVjdCBnZXRSZWxhdGl2ZU1hcmtlclJlY3QoKTsKKyAgICBGbG9hdFJlY3QgcmVsYXRpdmVNYXJr
ZXJSZWN0KCk7CiAgICAgTGF5b3V0UmVjdCBsb2NhbFNlbGVjdGlvblJlY3QoKTsKKyAgICBUZXh0
UnVuIHRleHRSdW4oKSBjb25zdDsKIAotICAgIFN0cmluZyBtX3RleHQ7CisgICAgU3RyaW5nIG1f
dGV4dFdpdGhTdWZmaXg7CisgICAgdWludDhfdCBtX3RleHRXaXRob3V0U3VmZml4TGVuZ3RoIHsg
MCB9OworICAgIGJvb2wgbV90ZXh0SXNMZWZ0VG9SaWdodERpcmVjdGlvbiB7IHRydWUgfTsKICAg
ICBSZWZQdHI8U3R5bGVJbWFnZT4gbV9pbWFnZTsKICAgICBXZWFrUHRyPFJlbmRlckxpc3RJdGVt
PiBtX2xpc3RJdGVtOwogICAgIExheW91dFVuaXQgbV9saW5lT2Zmc2V0Rm9yTGlzdEl0ZW07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKaW5kZXggODJm
ZjA4NWQ0MGNjZjMwNjIxYTg0NWI4MWJjYjc5YjFmZTM0ODkzMS4uZjVhZjU3YmMzODFiNjJjNDFl
M2YyOTYzMTk1ZWM1MGNiODZiMjY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtNDQwLDcgKzQ0MCw3IEBAIHZvaWQgUmVuZGVyVHJlZUFz
VGV4dDo6d3JpdGVSZW5kZXJPYmplY3QoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlck9iamVj
dCYgbywKICAgICB9CiAKICAgICBpZiAoaXM8UmVuZGVyTGlzdE1hcmtlcj4obykpIHsKLSAgICAg
ICAgU3RyaW5nIHRleHQgPSBkb3duY2FzdDxSZW5kZXJMaXN0TWFya2VyPihvKS50ZXh0KCk7Cisg
ICAgICAgIFN0cmluZyB0ZXh0ID0gZG93bmNhc3Q8UmVuZGVyTGlzdE1hcmtlcj4obykudGV4dFdp
dGhvdXRTdWZmaXgoKS50b1N0cmluZygpOwogICAgICAgICBpZiAoIXRleHQuaXNFbXB0eSgpKSB7
CiAgICAgICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSAhPSAxKQogICAgICAgICAgICAgICAgIHRl
eHQgPSBxdW90ZUFuZEVzY2FwZU5vblByaW50YWJsZXModGV4dCk7CkBAIC05NTcsNyArOTU3LDcg
QEAgU3RyaW5nIG1hcmtlclRleHRGb3JMaXN0SXRlbShFbGVtZW50KiBlbGVtZW50KQogICAgIGlm
ICghaXM8UmVuZGVyTGlzdEl0ZW0+KHJlbmRlcmVyKSkKICAgICAgICAgcmV0dXJuIFN0cmluZygp
OwogCi0gICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlckxpc3RJdGVtPigqcmVuZGVyZXIpLm1hcmtl
clRleHQoKTsKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTGlzdEl0ZW0+KCpyZW5kZXJlciku
bWFya2VyVGV4dFdpdGhvdXRTdWZmaXgoKS50b1N0cmluZygpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGVDb25zdGFudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlQ29uc3RhbnRzLmNwcAppbmRleCAxYWMxN2JkMTA3NmMxMjNhMDA5YTAzYmEyYjNk
Y2NiNWM0NTVhMDExLi5kZWM2MzNhNTIxMGM0YTIwMWVmMzQxMWYwNzIyYWYzM2YyY2I4Mzc4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDE1LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC03MTQsOTMgKzcxNCw3IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9y
PDwoVGV4dFN0cmVhbSYgdHMsIExpc3RTdHlsZVBvc2l0aW9uIHBvc2l0aW9uKQogCiBUZXh0U3Ry
ZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBMaXN0U3R5bGVUeXBlIHN0eWxlVHlwZSkK
IHsKLSAgICBzd2l0Y2ggKHN0eWxlVHlwZSkgewotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QWZh
cjogdHMgPDwgImFmYXIiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWM6
IHRzIDw8ICJhbWhhcmljIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBbWhhcmlj
QWJlZ2VkZTogdHMgPDwgImFtaGFyaWMtYWJlZ2VkZSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6QXJhYmljSW5kaWM6IHRzIDw8ICJhcmFiaWMtaW5kaWMiOyBicmVhazsKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkFybWVuaWFuOiB0cyA8PCAiYXJtZW5pYW4iOyBicmVhazsKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrczogdHMgPDwgImFzdGVyaXNrcyI7IGJyZWFr
OwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QmVuZ2FsaTogdHMgPDwgImJlbmdhbGkiOyBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJpbmFyeTogdHMgPDwgImJpbmFyeSI7IGJyZWFr
OwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLRGVjaW1hbDogdHMgPDwgImNqay1kZWNpbWFs
IjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzogdHMgPDwg
ImNqay1pZGVvZ3JhcGhpYyI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2FtYm9k
aWFuOiB0cyA8PCAiY2FtYm9kaWFuIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpD
aXJjbGU6IHRzIDw8ICJjaXJjbGUiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNK
S0VhcnRobHlCcmFuY2g6IHRzIDw8ICJjamstZWFydGhseS1icmFuY2giOyBicmVhazsKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkNKS0hlYXZlbmx5U3RlbTogdHMgPDwgImNqay1oZWF2ZW5seS1z
dGVtIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsOiB0cyA8PCAiZGVj
aW1hbCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbExlYWRpbmdaZXJv
OiB0cyA8PCAiZGVjaW1hbC1sZWFkaW5nLXplcm8iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkRldmFuYWdhcmk6IHRzIDw8ICJkZXZhbmFnYXJpIjsgYnJlYWs7Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpEaXNjOiB0cyA8PCAiZGlzYyI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RXRoaW9waWM6IHRzIDw8ICJldGhpb3BpYyI7IGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlOiB0cyA8PCAiZXRoaW9waWMtYWJlZ2VkZSI7IGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlQW1FdDogdHMgPDwg
ImV0aGlvcGljLWFiZWdlZGUtYW0tZXQiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkV0aGlvcGljQWJlZ2VkZUdlejogdHMgPDwgImV0aGlvcGljLWFiZWdlZGUtZ2V6IjsgYnJlYWs7
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdlZGVUaUVyOiB0cyA8PCAiZXRo
aW9waWMtYWJlZ2VkZS10aS1lciI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNBYmVnZWRlVGlFdDogdHMgPDwgImV0aGlvcGljLWFiZWdlZGUtdGktZXQiOyBicmVhazsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBYUVyOiB0cyA8PCAiZXRo
aW9waWMtaGFsZWhhbWUtYWEtZXIiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0
aGlvcGljSGFsZWhhbWVBYUV0OiB0cyA8PCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXQiOyBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBbUV0OiB0cyA8PCAi
ZXRoaW9waWMtaGFsZWhhbWUtYW0tZXQiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkV0aGlvcGljSGFsZWhhbWVHZXo6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS1nZXoiOyBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVPbUV0OiB0cyA8PCAi
ZXRoaW9waWMtaGFsZWhhbWUtb20tZXQiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkV0aGlvcGljSGFsZWhhbWVTaWRFdDogdHMgPDwgImV0aGlvcGljLWhhbGVoYW1lLXNpZC1ldCI7
IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVNvRXQ6IHRz
IDw8ICJldGhpb3BpYy1oYWxlaGFtZS1zby1ldCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpRXI6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS10aS1l
ciI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpRXQ6
IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS10aS1ldCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpZzogdHMgPDwgImV0aGlvcGljLWhhbGVoYW1lLXRp
ZyI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzOiB0cyA8PCAiZm9v
dG5vdGVzIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHZW9yZ2lhbjogdHMgPDwg
Imdlb3JnaWFuIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdWphcmF0aTogdHMg
PDwgImd1amFyYXRpIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdXJtdWtoaTog
dHMgPDwgImd1cm11a2hpIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIYW5ndWw6
IHRzIDw8ICJoYW5ndWwiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bENv
bnNvbmFudDogdHMgPDwgImhhbmd1bC1jb25zb25hbnQiOyBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkhlYnJldzogdHMgPDwgImhlYnJldyI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6SGlyYWdhbmE6IHRzIDw8ICJoaXJhZ2FuYSI7IGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYTogdHMgPDwgImhpcmFnYW5hLWlyb2hhIjsgYnJlYWs7
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYW5uYWRhOiB0cyA8PCAia2FubmFkYSI7IGJyZWFr
OwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmE6IHRzIDw8ICJrYXRha2FuYSI7IGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmFJcm9oYTogdHMgPDwgImthdGFr
YW5hLWlyb2hhIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLaG1lcjogdHMgPDwg
ImtobWVyIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMYW86IHRzIDw8ICJsYW8i
OyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyQWxwaGE6IHRzIDw8ICJsb3dl
ci1hbHBoYSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJBcm1lbmlhbjog
dHMgPDwgImxvd2VyLWFybWVuaWFuIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpM
b3dlckdyZWVrOiB0cyA8PCAibG93ZXItZ3JlZWsiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Okxvd2VySGV4YWRlY2ltYWw6IHRzIDw8ICJsb3dlci1oZXhhZGVjaW1hbCI7IGJyZWFr
OwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbjogdHMgPDwgImxvd2VyLWxhdGlu
IjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlck5vcndlZ2lhbjogdHMgPDwg
Imxvd2VyLW5vcndlZ2lhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJS
b21hbjogdHMgPDwgImxvd2VyLXJvbWFuIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpNYWxheWFsYW06IHRzIDw8ICJtYWxheWFsYW0iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Ok1vbmdvbGlhbjogdHMgPDwgIm1vbmdvbGlhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6TXlhbm1hcjogdHMgPDwgIm15YW5tYXIiOyBicmVhazsKLSAgICBjYXNlIExp
c3RTdHlsZVR5cGU6Ok5vbmU6IHRzIDw8ICJub25lIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpPY3RhbDogdHMgPDwgIm9jdGFsIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpPcml5YTogdHMgPDwgIm9yaXlhIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpPcm9tbzogdHMgPDwgIm9yb21vIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpQ
ZXJzaWFuOiB0cyA8PCAicGVyc2lhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
U2lkYW1hOiB0cyA8PCAic2lkYW1hIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpT
b21hbGk6IHRzIDw8ICJzb21hbGkiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlNx
dWFyZTogdHMgPDwgInNxdWFyZSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3Ry
aW5nOiB0cyA8PCAic3RyaW5nIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUYW1p
bDogdHMgPDwgInRhbWlsIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUZWx1Z3U6
IHRzIDw8ICJ0ZWx1Z3UiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRoYWk6IHRz
IDw8ICJ0aGFpIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWJldGFuOiB0cyA8
PCAidGliZXRhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmU6IHRzIDw8
ICJ0aWdyZSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFcjogdHMg
PDwgInRpZ3JpbnlhLWVyIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55
YUVyQWJlZ2VkZTogdHMgPDwgInRpZ3JpbnlhLWVyLWFiZWdlZGUiOyBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQ6IHRzIDw8ICJ0aWdyaW55YS1ldCI7IGJyZWFrOwot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdEFiZWdlZGU6IHRzIDw8ICJ0aWdyaW55
YS1ldC1hYmVnZWRlIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckFscGhh
OiB0cyA8PCAidXBwZXItYWxwaGEiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVw
cGVyQXJtZW5pYW46IHRzIDw8ICJ1cHBlci1hcm1lbmlhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6VXBwZXJHcmVlazogdHMgPDwgInVwcGVyLWdyZWVrIjsgYnJlYWs7Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckhleGFkZWNpbWFsOiB0cyA8PCAidXBwZXItaGV4YWRl
Y2ltYWwiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyTGF0aW46IHRzIDw8
ICJ1cHBlci1sYXRpbiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJOb3J3
ZWdpYW46IHRzIDw8ICJ1cHBlci1ub3J3ZWdpYW4iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVwcGVyUm9tYW46IHRzIDw8ICJ1cHBlci1yb21hbiI7IGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6VXJkdTogdHMgPDwgInVyZHUiOyBicmVhazsKLSAgICB9Ci0gICAgcmV0
dXJuIHRzOworICAgIHJldHVybiB0cyA8PCBnZXRWYWx1ZU5hbWUodG9DU1NWYWx1ZUlEKHN0eWxl
VHlwZSkpOwogfQogCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBNYXJn
aW5Db2xsYXBzZSBjb2xsYXBzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5kZXggMjQxZmU1MDk2MTZmNDk1MjNkZTYy
NjEwMjA4MjQ3YjljNWZjNzU4Mi4uMzM2NDYyZjcwZDY5ODc3YWU3ZDEwNTAzYzc4ODYxNjIzZTdi
MDRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlQ29uc3RhbnRzLmgKQEAgLTY1OCw2ICs2NTgsMTggQEAgZW51bSBjbGFzcyBMaXN0U3R5
bGVUeXBlIDogdWludDhfdCB7CiAgICAgS2F0YWthbmFJcm9oYSwKICAgICBDSktEZWNpbWFsLAog
ICAgIFRhbWlsLAorICAgIERpc2Nsb3N1cmVPcGVuLAorICAgIERpc2Nsb3N1cmVDbG9zZWQsCisg
ICAgSmFwYW5lc2VJbmZvcm1hbCwKKyAgICBKYXBhbmVzZUZvcm1hbCwKKyAgICBLb3JlYW5IYW5n
dWxGb3JtYWwsCisgICAgS29yZWFuSGFuamFJbmZvcm1hbCwKKyAgICBLb3JlYW5IYW5qYUZvcm1h
bCwKKyAgICBTaW1wbGlmaWVkQ2hpbmVzZUluZm9ybWFsLAorICAgIFNpbXBsaWZpZWRDaGluZXNl
Rm9ybWFsLAorICAgIFRyYWRpdGlvbmFsQ2hpbmVzZUluZm9ybWFsLAorICAgIFRyYWRpdGlvbmFs
Q2hpbmVzZUZvcm1hbCwKKyAgICBFdGhpb3BpY051bWVyaWMsCiAgICAgU3RyaW5nLAogICAgIE5v
bmUKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggOGRiZGIyOGJmNzQ4YmVjMjQyNGZiYjIwNmQxNzBiYmI4NTczNmQ2My4u
MWY4MWIwZjEyZjY0ZDIzMDUyZGVkZWQxZjNiM2EwZTQwZDE0YTNlNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDIxLTA2LTIxICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAg
ICAgICBJbXByb3ZlIG1vcmUgb2YgdGhlIENTUyBsaXN0IHN0eWxlIGltcGxlbWVudGF0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MjA2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhw
ZWN0YXRpb25zOiBFeHBlY3QgYWJvdXQgNTAgbW9yZSBjc3MtY291bnRlci1zdHlsZXMgdGVzdHMg
dG8gcGFzcy4KKworICAgICAgICAqIGZhc3QvbGlzdHMvbGktdmFsdWVzLWV4cGVjdGVkLnR4dDog
VXBkYXRlZCB0byBleHBlY3QgbmV3bHkgc3BlY2lmaWVkIGJlaGF2aW9yLiBXaGVuCisgICAgICAg
IHRoaXMgdGVzdCB3YXMgd3JpdHRlbiwgdGhlIHNwZWNpZmljYXRpb24gd2FzIGRpZmZlcmVudC4K
KyAgICAgICAgKiBmYXN0L2xpc3RzL2xpLXZhbHVlcy5odG1sOiBEaXR0by4KKyAgICAgICAgKiBm
YXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtZmFsbGJhY2stc3R5bGUtZXhwZWN0ZWQudHh0
OiBEaXR0by4gQWxzbyBtYW55IG9mIHRoZXNlCisgICAgICAgIHdlcmUgZXhwZWN0aW5nIGZhaWx1
cmVzLgorICAgICAgICAqIGZhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFjay1z
dHlsZS5odG1sOiBEaXR0by4KKyAgICAgICAgKiBmYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHls
ZXMtbnVtZXJpYy1leHBlY3RlZC50eHQ6IERpdHRvLiBBbHNvIGFkZGVkIHRlc3RzIGZvcgorICAg
ICAgICBldGhpb3BpYy1udW1lcmljLgorICAgICAgICAqIGZhc3QvbGlzdHMvdzMtY3NzMy1saXN0
LXN0eWxlcy1udW1lcmljLmh0bWw6IERpdHRvLgorCisgICAgICAgICogZmFzdC9saXN0cy93My1s
aXN0LXN0eWxlcy1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgZXhwZWN0ZWQgcmVzdWx0IGZvciAwIGlu
IEhlYnJldy4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBNb3Zl
ZCBzb21lIGltYWdlIGZhaWx1cmUgZXhwZWN0YXRpb25zIGZyb20gaGVyZSB0byB0aGUKKyAgICAg
ICAgbWFpbiBUZXN0RXhwZWN0YXRpb25zIGJlY2F1c2UgdGhleSBkbyBub3Qgc2VlbSB0byBiZSBw
bGF0Zm9ybS1zcGVjaWZpYy4KKwogMjAyMS0wNi0yMCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ1NTIGNvdW50ZXIgc3R5bGUgaW1wcm92ZW1lbnRzIGZvciBBcm1l
bmlhbiwgVGFtaWwsIGFuZCBzb21lIENKSyBzdHlsZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGRl
NGUzNDE4ZDc1NTU1MmQyYjJlZTY1ZmFhMDk0ZGFmYzcxMDhiYzguLmE4YzY5OWUyYzc5MTM2ZGY5
MmI2YzY2MmZiY2U0ZmYxMzg2NjJmNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDc0Niw3ICs0
NzQ2LDE2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDIuaHRtCiB3ZWJraXQub3JnL2IvMjI0MzU3IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy13cml0aW5nLW1vZGVzL3Npemlu
Zy1vcnRob2ctdnJsLWluLWh0Yi0wMTMueGh0IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQu
b3JnL2IvMjI0MzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZp
ZXcvY3Nzb20tZ2V0Qm91bmRpbmdDbGllbnRSZWN0LXZlcnRpY2FsLXJsLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KIAotIyBAY291bnRlci1zdHlsZSByZWYgdGVzdHMgdGhhdCBjdXJyZW50bHkg
ZmFpbAorIyBjb3VudGVyIHN0eWxlIHJlZiB0ZXN0cyB0aGF0IGZhaWwgYmVjYXVzZSBvZiBzdWJ0
bGUgY2hhcmFjdGVyIHBvc2l0aW9uaW5nIGRpZmZlcmVuY2VzCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvYmVuZ2FsaS9jc3MzLWNvdW50ZXIt
c3R5bGVzLTExNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvZ3VqYXJhdGkvY3NzMy1jb3VudGVy
LXN0eWxlcy0xMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2d1cm11a2hpL2NzczMtY291bnRl
ci1zdHlsZXMtMTI2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9sYW8vY3NzMy1jb3VudGVyLXN0
eWxlcy0xMzIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2xvd2VyLWFybWVuaWFuL2NzczMtY291
bnRlci1zdHlsZXMtMTE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9sb3dlci1yb21hbi9jc3Mz
LWNvdW50ZXItc3R5bGVzLTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvdXBwZXItcm9tYW4v
Y3NzMy1jb3VudGVyLXN0eWxlcy0wMjQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIHRl
c3RzIHRoYXQgZmFpbCBiZWNhdXNlIEBjb3VudGVyLXN0eWxlIGlzIG5vdCBpbXBsZW1lbnRlZCB5
ZXQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxl
cy9jc3NvbS9jc3NvbS1hZGRpdGl2ZS1zeW1ib2xzLXNldHRlci1pbnZhbGlkLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9jc3NvbS9jc3NvbS1hZGRpdGl2ZS1zeW1ib2xzLXNldHRlci5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY291bnRlci1zdHlsZXMvY3Nzb20vY3Nzb20tZmFsbGJhY2stc2V0dGVyLWludmFsaWQuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDc2Niw2MCArNDc3NSw2IEBAIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jc3NvbS9jc3NvbS1z
eW1ib2xzLXNldHRlCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291
bnRlci1zdHlsZXMvY3Nzb20vY3Nzb20tc3lzdGVtLXNldHRlci0xLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVy
LXN0eWxlcy9jc3NvbS9jc3NvbS1zeXN0ZW0tc2V0dGVyLTIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5
bGVzL2Nzc29tL2Nzc29tLXN5c3RlbS1zZXR0ZXItaW52YWxpZC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1z
dHlsZXMvaGVicmV3L2NzczMtY291bnRlci1zdHlsZXMtMDE2YS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1z
dHlsZXMvamFwYW5lc2UtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDQ3Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9qYXBhbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNDguaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL2phcGFuZXNlLWZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVz
LTA0OS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvamFwYW5lc2UtZm9ybWFsL2NzczMtY291bnRl
ci1zdHlsZXMtMDUwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9qYXBhbmVzZS1mb3JtYWwvY3Nz
My1jb3VudGVyLXN0eWxlcy0wNTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2phcGFuZXNlLWlu
Zm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDQyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9q
YXBhbmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA0My5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRl
ci1zdHlsZXMvamFwYW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNDQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvdW50ZXItc3R5bGVzL2phcGFuZXNlLWluZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMt
MDQ1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9qYXBhbmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50
ZXItc3R5bGVzLTA0Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMva29yZWFuLWhhbmd1bC1mb3Jt
YWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2tvcmVh
bi1oYW5ndWwtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDUzLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVy
LXN0eWxlcy9rb3JlYW4taGFuZ3VsLWZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA1NC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY291bnRlci1zdHlsZXMva29yZWFuLWhhbmd1bC1mb3JtYWwvY3NzMy1jb3VudGVyLXN0
eWxlcy0wNTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2tvcmVhbi1oYW5ndWwtZm9ybWFsL2Nz
czMtY291bnRlci1zdHlsZXMtMDU2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rb3JlYW4taGFu
amEtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDYyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxl
cy9rb3JlYW4taGFuamEtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDYzLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9rb3JlYW4taGFuamEtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDY0
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rb3JlYW4taGFuamEtZm9ybWFsL2NzczMtY291bnRl
ci1zdHlsZXMtMDY1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rb3JlYW4taGFuamEtZm9ybWFs
L2NzczMtY291bnRlci1zdHlsZXMtMDY2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rb3JlYW4t
aGFuamEtaW5mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNTcuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXIt
c3R5bGVzL2tvcmVhbi1oYW5qYS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA1OC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY291bnRlci1zdHlsZXMva29yZWFuLWhhbmphLWluZm9ybWFsL2NzczMtY291bnRlci1z
dHlsZXMtMDU5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rb3JlYW4taGFuamEtaW5mb3JtYWwv
Y3NzMy1jb3VudGVyLXN0eWxlcy0wNjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2tvcmVhbi1o
YW5qYS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA2MS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1z
dHlsZXMvbG93ZXItYXJtZW5pYW4vY3NzMy1jb3VudGVyLXN0eWxlcy0xMTQuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL2xvd2VyLXJvbWFuL2NzczMtY291bnRlci1zdHlsZXMtMDE5Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb3VudGVyLXN0eWxlcy9sb3dlci1yb21hbi9jc3MzLWNvdW50ZXItc3R5bGVzLTAyMC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY291bnRlci1zdHlsZXMvbG93ZXItcm9tYW4vY3NzMy1jb3VudGVyLXN0eWxlcy0wMjBh
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9sb3dlci1yb21hbi9jc3MzLWNvdW50ZXItc3R5bGVz
LTAyMGIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3NpbXAtY2hpbmVzZS1mb3JtYWwvY3NzMy1j
b3VudGVyLXN0eWxlcy0wNzYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3NpbXAtY2hpbmVzZS1m
b3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNzcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3Np
bXAtY2hpbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNzguaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50
ZXItc3R5bGVzL3NpbXAtY2hpbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNzkuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL3NpbXAtY2hpbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0
eWxlcy0wODAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3NpbXAtY2hpbmVzZS1pbmZvcm1hbC9j
c3MzLWNvdW50ZXItc3R5bGVzLTA3MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvc2ltcC1jaGlu
ZXNlLWluZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDcyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0
eWxlcy9zaW1wLWNoaW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNzMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvdW50ZXItc3R5bGVzL3NpbXAtY2hpbmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5
bGVzLTA3NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvc2ltcC1jaGluZXNlLWluZm9ybWFsL2Nz
czMtY291bnRlci1zdHlsZXMtMDc1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy90cmFkLWNoaW5l
c2UtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDg2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxl
cy90cmFkLWNoaW5lc2UtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDg3Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy90cmFkLWNoaW5lc2UtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDg4
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy90cmFkLWNoaW5lc2UtZm9ybWFsL2NzczMtY291bnRl
ci1zdHlsZXMtMDg5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy90cmFkLWNoaW5lc2UtZm9ybWFs
L2NzczMtY291bnRlci1zdHlsZXMtMDkwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy90cmFkLWNo
aW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wODEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXIt
c3R5bGVzL3RyYWQtY2hpbmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA4Mi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY291bnRlci1zdHlsZXMvdHJhZC1jaGluZXNlLWluZm9ybWFsL2NzczMtY291bnRlci1z
dHlsZXMtMDgzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy90cmFkLWNoaW5lc2UtaW5mb3JtYWwv
Y3NzMy1jb3VudGVyLXN0eWxlcy0wODQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hp
bmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA4NS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1z
dHlsZXMvdXBwZXItcm9tYW4vY3NzMy1jb3VudGVyLXN0eWxlcy0wMjMuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50
ZXItc3R5bGVzL3VwcGVyLXJvbWFuL2NzczMtY291bnRlci1zdHlsZXMtMDI0Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy91cHBlci1yb21hbi9jc3MzLWNvdW50ZXItc3R5bGVzLTAyNGEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogCiAjIENTUyB3aWxsLWNoYW5nZSBmYWlsdXJlcwogd2Via2l0
Lm9yZy9iLzIyNDkyOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtd2ls
bC1jaGFuZ2Uvd2lsbC1jaGFuZ2UtYWJzcG9zLWNiLWR5bmFtaWMtMDAxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvbGktdmFsdWVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvbGktdmFsdWVzLWV4cGVjdGVk
LnR4dAppbmRleCBlY2RlZGE4NjJmMmFmMmUzZjA5NWU4ZjQ5ZDM3ZDhhZDNhNjkyMGI1Li5lNDQ4
Y2QzYWNiOTUxMTQ2NTJkMTM2ZDUzYjliNjVjNmQ3MGNhZjQxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2xpc3RzL2xpLXZhbHVlcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9saXN0cy9saS12YWx1ZXMtZXhwZWN0ZWQudHh0CkBAIC0xMywxMCArMTMsMTIgQEAKIDAg
VGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1hbCAwIChhcm1lbmlhbjog
MS05OTk5KS4KIDAgVGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1hbCAw
IChnZW9yZ2lhbjogMS0xOTk5OSkuCiAwIFRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNr
IHRvIGRlY2ltYWwgMCAoYW5jaWVudC10YW1pbDogMS05OTk5KS4KLS0xIFRoZSBsaXN0IG1hcmtl
ciBzaG91bGQgZmFsbCBiYWNrIHRvIGNqay1kZWNpbWFsIC0xIChqYXBhbmVzZS1pbmZvcm1hbDog
MC05OTk5KS4KLS0xIFRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGNqay1kZWNp
bWFsIC0xIChqYXBhbmVzZS1mb3JtYWw6IDAtOTk5OSkuCi0tMSBUaGUgbGlzdCBtYXJrZXIgc2hv
dWxkIGZhbGwgYmFjayB0byBkZWNpbWFsIC0xIChrb3JlYW4taGFuZ3VsLWZvcm1hbDogMC05OTk5
KS4KLS0xIFRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGRlY2ltYWwgLTEgKGtv
cmVhbi1oYW5qYS1pbmZvcm1hbDogMC05OTk5KS4KLS0xIFRoZSBsaXN0IG1hcmtlciBzaG91bGQg
ZmFsbCBiYWNrIHRvIGRlY2ltYWwgLTEgKGtvcmVhbi1oYW5qYS1mb3JtYWw6IDAtOTk5OSkuCivk
uIDjgIfjgIfjgIfjgIcgVGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gY2prLWRl
Y2ltYWwgMTAwMDAgKGphcGFuZXNlLWluZm9ybWFsOiAtOTk5OS05OTk5KS4KKy0xMDAwMCBUaGUg
bGlzdCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0byBkZWNpbWFsIC0xMDAwMCAoamFwYW5lc2Ut
aW5mb3JtYWw6IC05OTk5LTk5OTkpLgor5LiA44CH44CH44CH44CHIFRoZSBsaXN0IG1hcmtlciBz
aG91bGQgZmFsbCBiYWNrIHRvIGNqay1kZWNpbWFsIDEwMDAwIChqYXBhbmVzZS1mb3JtYWw6IC05
OTk5LTk5OTkpLgorLTEwMDAwIFRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGRl
Y2ltYWwgLTEwMDAwIChqYXBhbmVzZS1mb3JtYWw6IC05OTk5LTk5OTkpLgorLTEwMDAwIFRoZSBs
aXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGRlY2ltYWwgLTEwMDAwIChrb3JlYW4taGFu
Z3VsLWZvcm1hbDogLTk5OTktOTk5OSkuCistMTAwMDAgVGhlIGxpc3QgbWFya2VyIHNob3VsZCBm
YWxsIGJhY2sgdG8gZGVjaW1hbCAtMTAwMDAgKGtvcmVhbi1oYW5qYS1pbmZvcm1hbDogLTk5OTkt
OTk5OSkuCistMTAwMDAgVGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1h
bCAtMTAwMDAgKGtvcmVhbi1oYW5qYS1mb3JtYWw6IC05OTk5LTk5OTkpLgogMCBUaGUgbGlzdCBt
YXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0byBkZWNpbWFsIDAgKGdyZWVrOiAxLTk5OSkuCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvbGktdmFsdWVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2xpc3RzL2xpLXZhbHVlcy5odG1sCmluZGV4IGZmMmIzZTY4YTMwODg2OTc3M2Zi
MmExMjkwMjNmMTY4MmFiODhkNTguLjhhMzQwODlhNzdlMDAzZDAwMGJmYjJhYTEzM2E0ZWM3NzVj
Y2UxNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvbGktdmFsdWVzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy9saS12YWx1ZXMuaHRtbApAQCAtNDAsMTMgKzQw
LDEzIEBAIGZ1bmN0aW9uIGluaXQoKQogICAgIDxsaSB2YWx1ZT0iMCIgc3R5bGU9Imxpc3Qtc3R5
bGUtdHlwZTogYXJtZW5pYW47Ij5UaGUgbGlzdCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0byBk
ZWNpbWFsIDAgKGFybWVuaWFuOiAxLTk5OTkpLjwvbGk+CiAgICAgPGxpIHZhbHVlPSIwIiBzdHls
ZT0ibGlzdC1zdHlsZS10eXBlOiBnZW9yZ2lhbjsiPlRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFs
bCBiYWNrIHRvIGRlY2ltYWwgMCAoZ2VvcmdpYW46IDEtMTk5OTkpLjwvbGk+CiAgICAgPGxpIHZh
bHVlPSIwIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiBhbmNpZW50LXRhbWlsOyI+VGhlIGxpc3Qg
bWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1hbCAwIChhbmNpZW50LXRhbWlsOiAxLTk5
OTkpLjwvbGk+Ci0gICAgPCEtLSBGSVhNRTogV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhp
cyBsaXN0LXN0eWxlLXR5cGUgLT4gZmFsbCBiYWNrIHRvIGRlY2ltYWwgLS0+Ci0gICAgPGxpIHZh
bHVlPSItMSIgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTogamFwYW5lc2UtaW5mb3JtYWw7Ij5UaGUg
bGlzdCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0byBjamstZGVjaW1hbCAtMSAoamFwYW5lc2Ut
aW5mb3JtYWw6IDAtOTk5OSkuPC9saT4KLSAgICA8IS0tIEZJWE1FOiBXZSBkb24ndCBjdXJyZW50
bHkgc3VwcG9ydCB0aGlzIGxpc3Qtc3R5bGUtdHlwZSAtPiBmYWxsIGJhY2sgdG8gZGVjaW1hbCAt
LT4KLSAgICA8bGkgdmFsdWU9Ii0xIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiBqYXBhbmVzZS1m
b3JtYWw7Ij5UaGUgbGlzdCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0byBjamstZGVjaW1hbCAt
MSAoamFwYW5lc2UtZm9ybWFsOiAwLTk5OTkpLjwvbGk+Ci0gICAgPGxpIHZhbHVlPSItMSIgc3R5
bGU9Imxpc3Qtc3R5bGUtdHlwZToga29yZWFuLWhhbmd1bC1mb3JtYWw7Ij5UaGUgbGlzdCBtYXJr
ZXIgc2hvdWxkIGZhbGwgYmFjayB0byBkZWNpbWFsIC0xIChrb3JlYW4taGFuZ3VsLWZvcm1hbDog
MC05OTk5KS48L2xpPgotICAgIDxsaSB2YWx1ZT0iLTEiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6
IGtvcmVhbi1oYW5qYS1pbmZvcm1hbDsiPlRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNr
IHRvIGRlY2ltYWwgLTEgKGtvcmVhbi1oYW5qYS1pbmZvcm1hbDogMC05OTk5KS48L2xpPgotICAg
IDxsaSB2YWx1ZT0iLTEiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGtvcmVhbi1oYW5qYS1mb3Jt
YWw7Ij5UaGUgbGlzdCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0byBkZWNpbWFsIC0xIChrb3Jl
YW4taGFuamEtZm9ybWFsOiAwLTk5OTkpLjwvbGk+CisgICAgPGxpIHZhbHVlPSIxMDAwMCIgc3R5
bGU9Imxpc3Qtc3R5bGUtdHlwZTogamFwYW5lc2UtaW5mb3JtYWw7Ij5UaGUgbGlzdCBtYXJrZXIg
c2hvdWxkIGZhbGwgYmFjayB0byBjamstZGVjaW1hbCAxMDAwMCAoamFwYW5lc2UtaW5mb3JtYWw6
IC05OTk5LTk5OTkpLjwvbGk+CisgICAgPGxpIHZhbHVlPSItMTAwMDAiIHN0eWxlPSJsaXN0LXN0
eWxlLXR5cGU6IGphcGFuZXNlLWluZm9ybWFsOyI+VGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxs
IGJhY2sgdG8gZGVjaW1hbCAtMTAwMDAgKGphcGFuZXNlLWluZm9ybWFsOiAtOTk5OS05OTk5KS48
L2xpPgorICAgIDxsaSB2YWx1ZT0iMTAwMDAiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGphcGFu
ZXNlLWZvcm1hbDsiPlRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGNqay1kZWNp
bWFsIDEwMDAwIChqYXBhbmVzZS1mb3JtYWw6IC05OTk5LTk5OTkpLjwvbGk+CisgICAgPGxpIHZh
bHVlPSItMTAwMDAiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGphcGFuZXNlLWZvcm1hbDsiPlRo
ZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGRlY2ltYWwgLTEwMDAwIChqYXBhbmVz
ZS1mb3JtYWw6IC05OTk5LTk5OTkpLjwvbGk+CisgICAgPGxpIHZhbHVlPSItMTAwMDAiIHN0eWxl
PSJsaXN0LXN0eWxlLXR5cGU6IGtvcmVhbi1oYW5ndWwtZm9ybWFsOyI+VGhlIGxpc3QgbWFya2Vy
IHNob3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1hbCAtMTAwMDAgKGtvcmVhbi1oYW5ndWwtZm9ybWFs
OiAtOTk5OS05OTk5KS48L2xpPgorICAgIDxsaSB2YWx1ZT0iLTEwMDAwIiBzdHlsZT0ibGlzdC1z
dHlsZS10eXBlOiBrb3JlYW4taGFuamEtaW5mb3JtYWw7Ij5UaGUgbGlzdCBtYXJrZXIgc2hvdWxk
IGZhbGwgYmFjayB0byBkZWNpbWFsIC0xMDAwMCAoa29yZWFuLWhhbmphLWluZm9ybWFsOiAtOTk5
OS05OTk5KS48L2xpPgorICAgIDxsaSB2YWx1ZT0iLTEwMDAwIiBzdHlsZT0ibGlzdC1zdHlsZS10
eXBlOiBrb3JlYW4taGFuamEtZm9ybWFsOyI+VGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJh
Y2sgdG8gZGVjaW1hbCAtMTAwMDAgKGtvcmVhbi1oYW5qYS1mb3JtYWw6IC05OTk5LTk5OTkpLjwv
bGk+CiAgICAgPGxpIHZhbHVlPSIwIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiBncmVlazsiPlRo
ZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGRlY2ltYWwgMCAoZ3JlZWs6IDEtOTk5
KS48L2xpPgogPC9vbD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbGlz
dHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFjay1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtZmFsbGJhY2stc3R5bGUtZXhw
ZWN0ZWQudHh0CmluZGV4IGQ2NjIzZTBiNDBlNTM0MTcxOTY2ZGFjZDAzOGRmMjFjYThkYTMwOTku
LmIyMzk5NGZjYzA0NTY2NGJhZTM3NDE5ZmRiYTkxNWZkYmZhOGFiMzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFjay1zdHlsZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy93My1jc3MzLWxpc3Qtc3R5
bGVzLWZhbGxiYWNrLXN0eWxlLWV4cGVjdGVkLnR4dApAQCAtMTEsMTQgKzExLDE0IEBAIFBBU1Mg
bGlzdCBtYXJrZXIgaXMg1ZTVi9WC1LkuCiBQQVNTIGxpc3QgbWFya2VyIGlzIDEwMDAwLgogY2pr
LWlkZW9ncmFwaGljCiAKLVBBU1MgbGlzdCBtYXJrZXIgaXMgLTEuCitQQVNTIGxpc3QgbWFya2Vy
IGlzIOiyoOS4gC4KIFBBU1MgbGlzdCBtYXJrZXIgaXMg6Zu2LgogUEFTUyBsaXN0IG1hcmtlciBp
cyDkuIAuCiBldGhpb3BpYy1udW1lcmljCiAKIFBBU1MgbGlzdCBtYXJrZXIgaXMgLTEuCiBQQVNT
IGxpc3QgbWFya2VyIGlzIDAuCi1QQVNTIGxpc3QgbWFya2VyIGlzIDEuCitQQVNTIGxpc3QgbWFy
a2VyIGlzIOGNqS4KIGdlb3JnaWFuCiAKIFBBU1MgbGlzdCBtYXJrZXIgaXMgLTEuCkBAIC0zMCwy
MSArMzAsMjEgQEAgUEFTUyBsaXN0IG1hcmtlciBpcyAyMDAwMS4KIGhlYnJldwogCiBQQVNTIGxp
c3QgbWFya2VyIGlzIC0xLgotUEFTUyBsaXN0IG1hcmtlciBpcyDXkNek16EuCitQQVNTIGxpc3Qg
bWFya2VyIGlzIDAuCiBQQVNTIGxpc3QgbWFya2VyIGlzINeQLgotUEFTUyBsaXN0IG1hcmtlciBp
cyDXqteq16fXpteYJ9eq16rXp9em15guCitQQVNTIGxpc3QgbWFya2VyIGlzIDk5OTk5OS4KIFBB
U1MgbGlzdCBtYXJrZXIgaXMgMTAwMDAwMC4KIFBBU1MgbGlzdCBtYXJrZXIgaXMgMTAwMDAwMS4K
IGphcGFuZXNlLWZvcm1hbAogCi1QQVNTIGxpc3QgbWFya2VyIGlzIC0xLgotUEFTUyBsaXN0IG1h
cmtlciBpcyAwLgotUEFTUyBsaXN0IG1hcmtlciBpcyAxLgorUEFTUyBsaXN0IG1hcmtlciBpcyDj
g57jgqTjg4rjgrnlo7EuCitQQVNTIGxpc3QgbWFya2VyIGlzIOmbti4KK1BBU1MgbGlzdCBtYXJr
ZXIgaXMg5aOxLgogamFwYW5lc2UtaW5mb3JtYWwKIAotUEFTUyBsaXN0IG1hcmtlciBpcyAtMS4K
LVBBU1MgbGlzdCBtYXJrZXIgaXMgMC4KLVBBU1MgbGlzdCBtYXJrZXIgaXMgMS4KK1BBU1MgbGlz
dCBtYXJrZXIgaXMg44Oe44Kk44OK44K55LiALgorUEFTUyBsaXN0IG1hcmtlciBpcyDjgIcuCitQ
QVNTIGxpc3QgbWFya2VyIGlzIOS4gC4KIGxvd2VyLWFybWVuaWFuCiAKIFBBU1MgbGlzdCBtYXJr
ZXIgaXMgLTEuCkBAIC01NywxNCArNTcsMTQgQEAgUEFTUyBsaXN0IG1hcmtlciBpcyAwLgogUEFT
UyBsaXN0IG1hcmtlciBpcyBpLgogc2ltcC1jaGluZXNlLWZvcm1hbAogCi1QQVNTIGxpc3QgbWFy
a2VyIGlzIC0xLgotUEFTUyBsaXN0IG1hcmtlciBpcyAwLgotUEFTUyBsaXN0IG1hcmtlciBpcyAx
LgorUEFTUyBsaXN0IG1hcmtlciBpcyDotJ/lo7kuCitQQVNTIGxpc3QgbWFya2VyIGlzIOmbti4K
K1BBU1MgbGlzdCBtYXJrZXIgaXMg5aO5Lgogc2ltcC1jaGluZXNlLWluZm9ybWFsCiAKLVBBU1Mg
bGlzdCBtYXJrZXIgaXMgLTEuCi1QQVNTIGxpc3QgbWFya2VyIGlzIDAuCi1QQVNTIGxpc3QgbWFy
a2VyIGlzIDEuCitQQVNTIGxpc3QgbWFya2VyIGlzIOi0n+S4gC4KK1BBU1MgbGlzdCBtYXJrZXIg
aXMg6Zu2LgorUEFTUyBsaXN0IG1hcmtlciBpcyDkuIAuCiBzeXJpYWMKIAogUEFTUyBsaXN0IG1h
cmtlciBpcyAtMS4KQEAgLTc3LDE0ICs3NywxNCBAQCBQQVNTIGxpc3QgbWFya2VyIGlzIOCvpi4K
IFBBU1MgbGlzdCBtYXJrZXIgaXMg4K+nLgogdHJhZC1jaGluZXNlLWZvcm1hbAogCi1QQVNTIGxp
c3QgbWFya2VyIGlzIC0xLgotUEFTUyBsaXN0IG1hcmtlciBpcyAwLgotUEFTUyBsaXN0IG1hcmtl
ciBpcyAxLgorUEFTUyBsaXN0IG1hcmtlciBpcyDosqDlo7kuCitQQVNTIGxpc3QgbWFya2VyIGlz
IOmbti4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg5aO5LgogdHJhZC1jaGluZXNlLWluZm9ybWFsCiAK
LVBBU1MgbGlzdCBtYXJrZXIgaXMgLTEuCi1QQVNTIGxpc3QgbWFya2VyIGlzIDAuCi1QQVNTIGxp
c3QgbWFya2VyIGlzIDEuCitQQVNTIGxpc3QgbWFya2VyIGlzIOiyoOS4gC4KK1BBU1MgbGlzdCBt
YXJrZXIgaXMg6Zu2LgorUEFTUyBsaXN0IG1hcmtlciBpcyDkuIAuCiB1cHBlci1hcm1lbmlhbgog
CiBQQVNTIGxpc3QgbWFya2VyIGlzIC0xLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9s
aXN0cy93My1jc3MzLWxpc3Qtc3R5bGVzLWZhbGxiYWNrLXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtZmFsbGJhY2stc3R5bGUuaHRtbAppbmRl
eCBhNjA0OTQzMmY1OTI4MzQ2OTI5M2U1YmE3NzZiZDNjZDQ1ZjEyZTlhLi41ZTQ3ZmM3ODcwMGM0
ZDIyNmFiMjhhMmM1NTk1OTJiM2FlOTk3M2FkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtZmFsbGJhY2stc3R5bGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtZmFsbGJhY2stc3R5bGUuaHRt
bApAQCAtMTUsMzcgKzE1LDIxIEBACiAgICAgICAgICovCiAgICAgICAgIAogICAgICAgICBvbC5h
cm1lbmlhbiB7IGxpc3Qtc3R5bGUtdHlwZTogYXJtZW5pYW47IH0KLSAgICAgICAgCiAgICAgICAg
IG9sLmNqay1pZGVvZ3JhcGhpYyB7IGxpc3Qtc3R5bGUtdHlwZTogY2prLWlkZW9ncmFwaGljOyB9
Ci0gICAgICAgIAogICAgICAgICBvbC5ldGhpb3BpYy1udW1lcmljIHsgbGlzdC1zdHlsZS10eXBl
OiBldGhpb3BpYy1udW1lcmljOyB9Ci0gICAgICAgIAogICAgICAgICBvbC5nZW9yZ2lhbiB7IGxp
c3Qtc3R5bGUtdHlwZTogZ2VvcmdpYW47IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmhlYnJldyB7
IGxpc3Qtc3R5bGUtdHlwZTogaGVicmV3OyB9Ci0gICAgICAgIAogICAgICAgICBvbC5qYXBhbmVz
ZS1mb3JtYWwgeyBsaXN0LXN0eWxlLXR5cGU6IGphcGFuZXNlLWZvcm1hbDsgfQotICAgICAgICAK
ICAgICAgICAgb2wuamFwYW5lc2UtaW5mb3JtYWwgeyBsaXN0LXN0eWxlLXR5cGU6IGphcGFuZXNl
LWluZm9ybWFsOyB9Ci0gICAgICAgIAogICAgICAgICBvbC5sb3dlci1hcm1lbmlhbiB7IGxpc3Qt
c3R5bGUtdHlwZTogbG93ZXItYXJtZW5pYW47IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmxvd2Vy
LXJvbWFuIHsgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfQotICAgICAgICAKICAgICAg
ICAgb2wuc2ltcC1jaGluZXNlLWZvcm1hbCB7IGxpc3Qtc3R5bGUtdHlwZTogc2ltcC1jaGluZXNl
LWZvcm1hbDsgfQotICAgICAgICAKICAgICAgICAgb2wuc2ltcC1jaGluZXNlLWluZm9ybWFsIHsg
bGlzdC1zdHlsZS10eXBlOiBzaW1wLWNoaW5lc2UtaW5mb3JtYWw7IH0KLSAgICAgICAgCiAgICAg
ICAgIG9sLnN5cmlhYyB7IGxpc3Qtc3R5bGUtdHlwZTogc3lyaWFjOyB9Ci0gICAgICAgIAogICAg
ICAgICBvbC50YW1pbCB7IGxpc3Qtc3R5bGUtdHlwZTogdGFtaWw7IH0KLSAgICAgICAgCiAgICAg
ICAgIG9sLnRyYWQtY2hpbmVzZS1mb3JtYWwgeyBsaXN0LXN0eWxlLXR5cGU6IHRyYWQtY2hpbmVz
ZS1mb3JtYWw7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLnRyYWQtY2hpbmVzZS1pbmZvcm1hbCB7
IGxpc3Qtc3R5bGUtdHlwZTogdHJhZC1jaGluZXNlLWluZm9ybWFsOyB9Ci0gICAgICAgIAogICAg
ICAgICBvbC51cHBlci1hcm1lbmlhbiB7IGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYXJtZW5pYW47
IH0KLSAgICAgICAgCiAgICAgICAgIG9sLnVwcGVyLXJvbWFuIHsgbGlzdC1zdHlsZS10eXBlOiB1
cHBlci1yb21hbjsgfQogICAgIDwvc3R5bGU+CiAgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9k
dW1wLWxpc3QuanMiPjwvc2NyaXB0PgpAQCAtNjYsNyArNTAsNyBAQAogICAgIDxoMT5DU1MzIEZh
bGxiYWNrIHRvIERlY2ltYWwgTGlzdCBTdHlsZTwvaDE+CiAgICAgPGRpdiBpZD0iZGVzY3JpcHRp
b24iPgogICAgICAgICA8cD5UaGlzIHRlc3RzIHRoYXQgd2UgZmFsbGJhY2sgdG8gdGhlIGRlY2lt
YWwgbGlzdCBzdHlsZSB0eXBlIHdoZW4gdGhlIG9yZGluYWwgaXMgb3V0c2lkZSB0aGUgcmVwcmVz
ZW50YWJsZSByYW5nZSBmb3IgdGhlIGxpc3Qgc3R5bGUgdHlwZSBhcyBwZXIgdGhlIDxhIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbGlzdHMvIj5DU1MzIExpc3RzIG1vZHVsZTwvYT4g
KERyYWZ0IDcgTm92ZW1iZXIgMjAwMikuIFRoaXMgdGVzdCBQQVNTRUQgaWYgdGhlIGxpc3QgaXRl
bSBtYXRjaGVzIGl0cyBtYXJrZXIgZm9yIGV2ZXJ5IGxpc3QgaXRlbSAoYmVsb3cpLjwvcD4KLSAg
ICAgICAgPHA+Tm90ZSwgYXMgb2YgMTIvMDQvMjAxMCwgZXRoaW9waWMtbnVtZXJpYzsgamFwYW5l
c2UtZm9ybWFsOyBqYXBhbmVzZS1pbmZvcm1hbDsgc2ltcC1jaGluZXNlLWZvcm1hbDsgc2ltcC1j
aGluZXNlLWluZm9ybWFsOyBzeXJpYWM7IHRhbWlsOyB0cmFkLWNoaW5lc2UtZm9ybWFsOyBhbmQg
dHJhZC1jaGluZXNlLWluZm9ybWFsIGFyZSB1bnN1cHBvcnRlZCBhbmQgaGVuY2UgaGF2ZSBleHBl
Y3RlZCBmYWlsdXJlIHJlc3VsdHMuPC9wPgorICAgICAgICA8cD5Ob3RlLCBhcyBvZiAyMDIxLTA2
LTIwLCBzeXJpYWMgaXMgdW5zdXBwb3J0ZWQgYW5kIGhlbmNlIGhhcyBleHBlY3RlZCBmYWlsdXJl
IHJlc3VsdHMuPC9wPgogICAgIDwvZGl2PgogICAgIDxoci8+CiAgICAgPGgyPkFsZ29yaXRobWlj
PC9oMj4KQEAgLTg2LDE5ICs3MCwxOCBAQAogICAgIDxkaXYgY2xhc3M9InRlc3QiPgogICAgICAg
ICA8aDI+Y2prLWlkZW9ncmFwaGljPC9oMj4KICAgICAgICAgPG9sIGNsYXNzPSJjamstaWRlb2dy
YXBoaWMiIHN0YXJ0PSItMSI+Ci0gICAgICAgICAgICA8bGk+LTE8L2xpPgorICAgICAgICAgICAg
PGxpPiYjeDhDQTA7JiN4NEUwMDs8L2xpPgogICAgICAgICAgICAgPGxpPiYjeDk2RjY7PC9saT4K
ICAgICAgICAgICAgIDxsaT4mI3g0RTAwOzwvbGk+CiAgICAgICAgIDwvb2w+CiAgICAgPC9kaXY+
CiAgICAgCiAgICAgPGRpdiBjbGFzcz0idGVzdCI+Ci0gICAgICAgIDwhLS0gRklYTUU6IFdlIGRv
bid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgbGlzdC1zdHlsZS10eXBlLiBUaGVzZSBhcmUgZXhw
ZWN0ZWQgZmFpbHVyZSByZXN1bHRzLiAtLT4KICAgICAgICAgPGgyPmV0aGlvcGljLW51bWVyaWM8
L2gyPgogICAgICAgICA8b2wgY2xhc3M9ImV0aGlvcGljLW51bWVyaWMiIHN0YXJ0PSItMSI+CiAg
ICAgICAgICAgICA8bGk+LTE8L2xpPgogICAgICAgICAgICAgPGxpPjA8L2xpPgotICAgICAgICAg
ICAgPGxpPjE8L2xpPgorICAgICAgICAgICAgPGxpPiYjeDEzNjk7PC9saT4KICAgICAgICAgPC9v
bD4KICAgICA8L2Rpdj4KICAgICAKQEAgLTExOSwzMSArMTAyLDI5IEBACiAgICAgICAgIDxoMj5o
ZWJyZXc8L2gyPgogICAgICAgICA8b2wgY2xhc3M9ImhlYnJldyIgc3RhcnQ9Ii0xIj4KICAgICAg
ICAgICAgIDxsaT4tMTwvbGk+Ci0gICAgICAgICAgICA8bGk+JiN4NUQwOyYjeDVFNDsmI3g1RTE7
PC9saT4KKyAgICAgICAgICAgIDxsaT4wPC9saT4KICAgICAgICAgICAgIDxsaT4mI3g1RDA7PC9s
aT4KICAgICAgICAgPC9vbD4KICAgICAgICAgPG9sIGNsYXNzPSJoZWJyZXciIHN0YXJ0PSI5OTk5
OTkiPgotICAgICAgICAgICAgPGxpPiYjeDVFQTsmI3g1RUE7JiN4NUU3OyYjeDVFNjsmI3g1RDg7
JiN4Mjc7JiN4NUVBOyYjeDVFQTsmI3g1RTc7JiN4NUU2OyYjeDVEODs8L2xpPgorICAgICAgICAg
ICAgPGxpPjk5OTk5OTwvbGk+CiAgICAgICAgICAgICA8bGk+MTAwMDAwMDwvbGk+CiAgICAgICAg
ICAgICA8bGk+MTAwMDAwMTwvbGk+CiAgICAgICAgIDwvb2w+CiAgICAgPC9kaXY+CiAgICAgPGRp
diBjbGFzcz0idGVzdCI+Ci0gICAgICAgIDwhLS0gRklYTUU6IFdlIGRvbid0IGN1cnJlbnRseSBz
dXBwb3J0IHRoaXMgbGlzdC1zdHlsZS10eXBlLiBUaGVzZSBhcmUgZXhwZWN0ZWQgZmFpbHVyZSBy
ZXN1bHRzLiAtLT4KICAgICAgICAgPGgyPmphcGFuZXNlLWZvcm1hbDwvaDI+CiAgICAgICAgIDxv
bCBjbGFzcz0iamFwYW5lc2UtZm9ybWFsIiBzdGFydD0iLTEiPgotICAgICAgICAgICAgPGxpPi0x
PC9saT4KLSAgICAgICAgICAgIDxsaT4wPC9saT4KLSAgICAgICAgICAgIDxsaT4xPC9saT4KKyAg
ICAgICAgICAgIDxsaT4mI3gzMERFOyYjeDMwQTQ7JiN4MzBDQTsmI3gzMEI5OyYjeDU4RjE7PC9s
aT4KKyAgICAgICAgICAgIDxsaT4mI3g5NkY2OzwvbGk+CisgICAgICAgICAgICA8bGk+JiN4NThG
MTs8L2xpPgogICAgICAgICA8L29sPgogICAgIDwvZGl2PgogICAgIDxkaXYgY2xhc3M9InRlc3Qi
PgotICAgICAgICA8IS0tIEZJWE1FOiBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCB0aGlzIGxp
c3Qtc3R5bGUtdHlwZS4gVGhlc2UgYXJlIGV4cGVjdGVkIGZhaWx1cmUgcmVzdWx0cy4gLS0+CiAg
ICAgICAgIDxoMj5qYXBhbmVzZS1pbmZvcm1hbDwvaDI+CiAgICAgICAgIDxvbCBjbGFzcz0iamFw
YW5lc2UtaW5mb3JtYWwiIHN0YXJ0PSItMSI+Ci0gICAgICAgICAgICA8bGk+LTE8L2xpPgotICAg
ICAgICAgICAgPGxpPjA8L2xpPgotICAgICAgICAgICAgPGxpPjE8L2xpPgorICAgICAgICAgICAg
PGxpPiYjeDMwREU7JiN4MzBBNDsmI3gzMENBOyYjeDMwQjk7JiN4NEUwMDs8L2xpPgorICAgICAg
ICAgICAgPGxpPiYjeDMwMDc7PC9saT4KKyAgICAgICAgICAgIDxsaT4mI3g0RTAwOzwvbGk+CiAg
ICAgICAgIDwvb2w+CiAgICAgPC9kaXY+CiAgICAgPGRpdiBjbGFzcz0idGVzdCI+CkBAIC0xNjMs
MjEgKzE0NCwxOSBAQAogICAgICAgICA8L29sPgogICAgIDwvZGl2PgogICAgIDxkaXYgY2xhc3M9
InRlc3QiPgotICAgICAgICA8IS0tIEZJWE1FOiBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCB0
aGlzIGxpc3Qtc3R5bGUtdHlwZS4gVGhlc2UgYXJlIGV4cGVjdGVkIGZhaWx1cmUgcmVzdWx0cy4g
LS0+CiAgICAgICAgIDxoMj5zaW1wLWNoaW5lc2UtZm9ybWFsPC9oMj4KICAgICAgICAgPG9sIGNs
YXNzPSJzaW1wLWNoaW5lc2UtZm9ybWFsIiBzdGFydD0iLTEiPgotICAgICAgICAgICAgPGxpPi0x
PC9saT4KLSAgICAgICAgICAgIDxsaT4wPC9saT4KLSAgICAgICAgICAgIDxsaT4xPC9saT4KKyAg
ICAgICAgICAgIDxsaT4mI3g4RDFGOyYjeDU4Rjk7PC9saT4KKyAgICAgICAgICAgIDxsaT4mI3g5
NkY2OzwvbGk+CisgICAgICAgICAgICA8bGk+JiN4NThGOTs8L2xpPgogICAgICAgICA8L29sPgog
ICAgIDwvZGl2PgogICAgIDxkaXYgY2xhc3M9InRlc3QiPgotICAgICAgICA8IS0tIEZJWE1FOiBX
ZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCB0aGlzIGxpc3Qtc3R5bGUtdHlwZS4gVGhlc2UgYXJl
IGV4cGVjdGVkIGZhaWx1cmUgcmVzdWx0cy4gLS0+CiAgICAgICAgIDxoMj5zaW1wLWNoaW5lc2Ut
aW5mb3JtYWw8L2gyPgogICAgICAgICA8b2wgY2xhc3M9InNpbXAtY2hpbmVzZS1pbmZvcm1hbCIg
c3RhcnQ9Ii0xIj4KLSAgICAgICAgICAgIDxsaT4tMTwvbGk+Ci0gICAgICAgICAgICA8bGk+MDwv
bGk+Ci0gICAgICAgICAgICA8bGk+MTwvbGk+CisgICAgICAgICAgICA8bGk+JiN4OEQxRjsmI3g0
RTAwOzwvbGk+CisgICAgICAgICAgICA8bGk+JiN4OTZGNjs8L2xpPgorICAgICAgICAgICAgPGxp
PiYjeDRFMDA7PC9saT4KICAgICAgICAgPC9vbD4KICAgICA8L2Rpdj4KICAgICA8ZGl2IGNsYXNz
PSJ0ZXN0Ij4KQEAgLTE5OCwyMSArMTc3LDE5IEBACiAgICAgICAgIDwvb2w+CiAgICAgPC9kaXY+
CiAgICAgPGRpdiBjbGFzcz0idGVzdCI+Ci0gICAgICAgIDwhLS0gRklYTUU6IFdlIGRvbid0IGN1
cnJlbnRseSBzdXBwb3J0IHRoaXMgbGlzdC1zdHlsZS10eXBlLiBUaGVzZSBhcmUgZXhwZWN0ZWQg
ZmFpbHVyZSByZXN1bHRzLiAtLT4KICAgICAgICAgPGgyPnRyYWQtY2hpbmVzZS1mb3JtYWw8L2gy
PgogICAgICAgICA8b2wgY2xhc3M9InRyYWQtY2hpbmVzZS1mb3JtYWwiIHN0YXJ0PSItMSI+Ci0g
ICAgICAgICAgICA8bGk+LTE8L2xpPgotICAgICAgICAgICAgPGxpPjA8L2xpPgotICAgICAgICAg
ICAgPGxpPjE8L2xpPgorICAgICAgICAgICAgPGxpPiYjeDhDQTA7JiN4NThGOTs8L2xpPgorICAg
ICAgICAgICAgPGxpPiYjeDk2RjY7PC9saT4KKyAgICAgICAgICAgIDxsaT4mI3g1OEY5OzwvbGk+
CiAgICAgICAgIDwvb2w+CiAgICAgPC9kaXY+CiAgICAgPGRpdiBjbGFzcz0idGVzdCI+Ci0gICAg
ICAgIDwhLS0gRklYTUU6IFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgbGlzdC1zdHls
ZS10eXBlLiBUaGVzZSBhcmUgZXhwZWN0ZWQgZmFpbHVyZSByZXN1bHRzLiAtLT4KICAgICAgICAg
PGgyPnRyYWQtY2hpbmVzZS1pbmZvcm1hbDwvaDI+CiAgICAgICAgIDxvbCBjbGFzcz0idHJhZC1j
aGluZXNlLWluZm9ybWFsIiBzdGFydD0iLTEiPgotICAgICAgICAgICAgPGxpPi0xPC9saT4KLSAg
ICAgICAgICAgIDxsaT4wPC9saT4KLSAgICAgICAgICAgIDxsaT4xPC9saT4KKyAgICAgICAgICAg
IDxsaT4mI3g4Q0EwOyYjeDRFMDA7PC9saT4KKyAgICAgICAgICAgIDxsaT4mI3g5NkY2OzwvbGk+
CisgICAgICAgICAgICA8bGk+JiN4NEUwMDs8L2xpPgogICAgICAgICA8L29sPgogICAgIDwvZGl2
PgogICAgIDxkaXYgY2xhc3M9InRlc3QiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9s
aXN0cy93My1jc3MzLWxpc3Qtc3R5bGVzLW51bWVyaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9saXN0cy93My1jc3MzLWxpc3Qtc3R5bGVzLW51bWVyaWMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGM0ZGJlOWI2MjA4MWZjN2RhZmZjODQ3YTk3YzcyYjg2NjZmNzMwYjQuLjhiYTkxYzY4MmNk
ZWE2ZGNlMTA2N2M4ZGRjOWYyNDAwNzQ1NWVlMTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1udW1lcmljLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtbnVtZXJpYy1leHBlY3Rl
ZC50eHQKQEAgLTM4Niw0ICszODYsMjMgQEAgUEFTUyBsaXN0IG1hcmtlciBpcyAwLgogUEFTUyBs
aXN0IG1hcmtlciBpcyAxLgogUEFTUyBsaXN0IG1hcmtlciBpcyAtODAwMDAwMDAuCiBQQVNTIGxp
c3QgbWFya2VyIGlzIC03RkZGRkZGRi4KK2V0aGlvcGljLW51bWVyaWMKKworUEFTUyBsaXN0IG1h
cmtlciBpcyDhjakuCitQQVNTIGxpc3QgbWFya2VyIGlzIOGNqi4KK1BBU1MgbGlzdCBtYXJrZXIg
aXMg4Y2rLgorUEFTUyBsaXN0IG1hcmtlciBpcyDhjawuCitQQVNTIGxpc3QgbWFya2VyIGlzIOGN
rS4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg4Y2uLgorUEFTUyBsaXN0IG1hcmtlciBpcyDhja8uCitQ
QVNTIGxpc3QgbWFya2VyIGlzIOGNsC4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg4Y2xLgorUEFTUyBs
aXN0IG1hcmtlciBpcyDhjbIuCitQQVNTIGxpc3QgbWFya2VyIGlzIOGNsuGNqS4KK1BBU1MgbGlz
dCBtYXJrZXIgaXMgMC4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg4Y27LgorUEFTUyBsaXN0IG1hcmtl
ciBpcyDhjakuCitQQVNTIGxpc3QgbWFya2VyIGlzIOGNuOGNsOGNu+GNqeGNvOGNuuGNqi4KK1BB
U1MgbGlzdCBtYXJrZXIgaXMgLTIxNDc0ODM2NDguCitQQVNTIGxpc3QgbWFya2VyIGlzIC0yMTQ3
NDgzNjQ3LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xpc3RzL3czLWNzczMtbGlz
dC1zdHlsZXMtbnVtZXJpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy93My1jc3MzLWxp
c3Qtc3R5bGVzLW51bWVyaWMuaHRtbAppbmRleCBhZTI2MWZhYjA2ZmNmODEyMGJhYmQ5YzE1OThl
Yzc3NjU5Y2I3MmRjLi5iNjk1ZTY3M2Y2Yjg3NGFjYTIzODhjNTNhNWE4MzBhMTNkYTIyNGEzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtbnVt
ZXJpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxl
cy1udW1lcmljLmh0bWwKQEAgLTQsNiArNCw3IEBACiAgICAgPHN0eWxlPgogICAgICAgICAudGVz
dCBvbCB7IGZsb2F0OiBsZWZ0OyBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9CiAgICAgICAgIC50ZXN0
IGgyIHsgY2xlYXI6IGxlZnQ7IH0KKyAgICAgICAgLnJpZ2h0IHsgcGFkZGluZy1sZWZ0OiAxMjBw
eDsgfQogICAgICAgICAubmVnYXRpdmUtbnVtYmVyIHsgcGFkZGluZy1sZWZ0OiAzMDBweDsgfQog
ICAgICAgICAubmVnYXRpdmUtbnVtYmVyIGxpOmJlZm9yZSB7IGNvbnRlbnQ6ICJcMDAyRCI7IH0K
ICAgICAgICAgCkBAIC0xMyw0OSArMTQsMjggQEAKICAgICAgICAgKi8KICAgICAgICAgCiAgICAg
ICAgIG9sLmFyYWJpYy1pbmRpYyB7IGxpc3Qtc3R5bGUtdHlwZTogYXJhYmljLWluZGljOyB9Ci0g
ICAgICAgIAogICAgICAgICBvbC5iaW5hcnkgeyBsaXN0LXN0eWxlLXR5cGU6IGJpbmFyeTsgfQot
ICAgICAgICAKICAgICAgICAgb2wuYmVuZ2FsaSB7IGxpc3Qtc3R5bGUtdHlwZTogYmVuZ2FsaTsg
fQotICAgICAgICAKICAgICAgICAgb2wuY2FtYm9kaWFuIHsgbGlzdC1zdHlsZS10eXBlOiBjYW1i
b2RpYW47IH0KICAgICAgICAgb2wua2htZXIgeyBsaXN0LXN0eWxlLXR5cGU6IGtobWVyOyB9Ci0g
ICAgICAgIAogICAgICAgICBvbC5kZWNpbWFsIHsgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsOyB9
Ci0gICAgICAgIAogICAgICAgICBvbC5kZWNpbWFsLWxlYWRpbmctemVybyB7IGxpc3Qtc3R5bGUt
dHlwZTogZGVjaW1hbC1sZWFkaW5nLXplcm87IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmRldmFu
YWdhcmkgeyBsaXN0LXN0eWxlLXR5cGU6IGRldmFuYWdhcmk7IH0KLSAgICAgICAgCiAgICAgICAg
IG9sLmd1amFyYXRpIHsgbGlzdC1zdHlsZS10eXBlOiBndWphcmF0aTsgfQotICAgICAgICAKICAg
ICAgICAgb2wuZ3VybXVraGkgeyBsaXN0LXN0eWxlLXR5cGU6IGd1cm11a2hpOyB9Ci0gICAgICAg
IAogICAgICAgICBvbC5rYW5uYWRhIHsgbGlzdC1zdHlsZS10eXBlOiBrYW5uYWRhOyB9Ci0gICAg
ICAgIAogICAgICAgICBvbC5sb3dlci1oZXhhZGVjaW1hbCB7IGxpc3Qtc3R5bGUtdHlwZTogbG93
ZXItaGV4YWRlY2ltYWw7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmxhbyB7IGxpc3Qtc3R5bGUt
dHlwZTogbGFvOyB9Ci0gICAgICAgIAogICAgICAgICBvbC5tYWxheWFsYW0geyBsaXN0LXN0eWxl
LXR5cGU6IG1hbGF5YWxhbTsgfQotICAgICAgICAKICAgICAgICAgb2wubW9uZ29saWFuIHsgbGlz
dC1zdHlsZS10eXBlOiBtb25nb2xpYW47IH0KLSAgICAgICAgCiAgICAgICAgIG9sLm15YW5tYXIg
eyBsaXN0LXN0eWxlLXR5cGU6IG15YW5tYXI7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLm9jdGFs
IHsgbGlzdC1zdHlsZS10eXBlOiBvY3RhbDsgfQotICAgICAgICAKICAgICAgICAgb2wub3JpeWEg
eyBsaXN0LXN0eWxlLXR5cGU6IG9yaXlhOyB9Ci0gICAgICAgIAogICAgICAgICBvbC5wZXJzaWFu
IHsgbGlzdC1zdHlsZS10eXBlOiBwZXJzaWFuOyB9CiAgICAgICAgIG9sLnVyZHUgeyBsaXN0LXN0
eWxlLXR5cGU6IHVyZHU7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLnRlbHVndSB7IGxpc3Qtc3R5
bGUtdHlwZTogdGVsdWd1OyB9Ci0gICAgICAgIAogICAgICAgICBvbC50aWJldGFuIHsgbGlzdC1z
dHlsZS10eXBlOiB0aWJldGFuOyB9Ci0gICAgICAgIAogICAgICAgICBvbC50aGFpIHsgbGlzdC1z
dHlsZS10eXBlOiB0aGFpOyB9Ci0gICAgICAgIAogICAgICAgICBvbC51cHBlci1oZXhhZGVjaW1h
bCB7IGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItaGV4YWRlY2ltYWw7IH0KICAgICA8L3N0eWxlPgog
ICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZHVtcC1saXN0LmpzIj48L3NjcmlwdD4KQEAgLTcx
LDcgKzUxLDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5l
cikKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICAKKwogICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CiAgICAgICAgICAgICBmaWx0ZXJMaXN0c1dpdGhSZXBs
YWNlbWVudChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudGVzdCBvbCIpLCB0ZXN0TGlzdEl0
ZW1NYXJrZXJFcXVhbHNMaXN0SXRlbVRleHQpOwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5y
ZW1vdmVDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKSk7IC8vIFJl
bW92ZSBkZXNjcmlwdGlvbiB3aGVuIHJ1bm5pbmcgaW4gRFJULgpAQCAtNzA1LDUgKzY4NSwzOCBA
QAogICAgICAgICAgICAgPGxpPjdGRkZGRkZGPC9saT4KICAgICAgICAgPC9vbD4KICAgICA8L2Rp
dj4KKworICAgIDxkaXYgY2xhc3M9InRlc3QiPgorICAgICAgICA8aDI+ZXRoaW9waWMtbnVtZXJp
YzwvaDI+CisgICAgICAgIDxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiBldGhpb3BpYy1udW1l
cmljIj4KKyAgICAgICAgICAgIDxsaT4mI3gxMzY5OzwvbGk+CisgICAgICAgICAgICA8bGk+JiN4
MTM2QTs8L2xpPgorICAgICAgICAgICAgPGxpPiYjeDEzNkI7PC9saT4KKyAgICAgICAgICAgIDxs
aT4mI3gxMzZDOzwvbGk+CisgICAgICAgICAgICA8bGk+JiN4MTM2RDs8L2xpPgorICAgICAgICAg
ICAgPGxpPiYjeDEzNkU7PC9saT4KKyAgICAgICAgICAgIDxsaT4mI3gxMzZGOzwvbGk+CisgICAg
ICAgICAgICA8bGk+JiN4MTM3MDs8L2xpPgorICAgICAgICAgICAgPGxpPiYjeDEzNzE7PC9saT4K
KyAgICAgICAgICAgIDxsaT4mI3gxMzcyOzwvbGk+CisgICAgICAgICAgICA8bGk+JiN4MTM3Mjsm
I3gxMzY5OzwvbGk+CisgICAgICAgIDwvb2w+CisgICAgICAgIDxvbCBzdHlsZT0ibGlzdC1zdHls
ZS10eXBlOiBldGhpb3BpYy1udW1lcmljIiBzdGFydD0iMCI+CisgICAgICAgICAgICA8bGk+MDwv
bGk+CisgICAgICAgIDwvb2w+CisgICAgICAgIDxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiBl
dGhpb3BpYy1udW1lcmljIiBzdGFydD0iMTAwIj4KKyAgICAgICAgICAgIDxsaT4mI3gxMzdCOzwv
bGk+CisgICAgICAgIDwvb2w+CisgICAgICAgIDxvbCBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiBl
dGhpb3BpYy1udW1lcmljIiBzdGFydD0iLTIxNDc0ODM2NDkiPgorICAgICAgICAgICAgPGxpPiYj
eDEzNjk7PC9saT4KKyAgICAgICAgPC9vbD4KKyAgICAgICAgPG9sIHN0eWxlPSJsaXN0LXN0eWxl
LXR5cGU6IGV0aGlvcGljLW51bWVyaWMiIGNsYXNzPSJyaWdodCIgc3RhcnQ9Ijc4MDEwMDkyIj4K
KyAgICAgICAgICAgIDxsaT4mI3gxMzc4OyYjeDEzNzA7JiN4MTM3QjsmI3gxMzY5OyYjeDEzN0M7
JiN4MTM3QTsmI3gxMzZBOzwvbGk+CisgICAgICAgIDwvb2w+CisgICAgICAgIDxvbCBzdHlsZT0i
bGlzdC1zdHlsZS10eXBlOiBldGhpb3BpYy1udW1lcmljIiBjbGFzcz0ibmVnYXRpdmUtbnVtYmVy
IiBzdGFydD0iLTIxNDc0ODM2NDgiPgorICAgICAgICAgICAgPGxpPjIxNDc0ODM2NDg8L2xpPgor
ICAgICAgICAgICAgPGxpPjIxNDc0ODM2NDc8L2xpPgorICAgICAgICA8L29sPgorICAgIDwvZGl2
PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy93
My1saXN0LXN0eWxlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2xpc3RzL3czLWxp
c3Qtc3R5bGVzLWV4cGVjdGVkLnR4dAppbmRleCA2MTk2YmY3MGM4YTI3NGZlNmJlZDc0MzUwZThi
MTgwN2Q2OGE2NjY5Li5kMWMwNTNhZjgzODhlZjY5NzI2NTA2NThiMTAwZDc0NzVjNWEzMGFhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xpc3RzL3czLWxpc3Qtc3R5bGVzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xpc3RzL3czLWxpc3Qtc3R5bGVzLWV4cGVjdGVk
LnR4dApAQCAtMjI5LDcgKzIyOSw3IEBAIFRoZSBDU1MyLjAgc3BlY2lmaWNhdGlvbiBkb2Vzbid0
IGRlZmluZSB0aGUgYWxnb3JpdGhtIGZvciB0aGUgSGVicmV3IG51bWJlcmluZy4KINem15ggbmlu
ZXR5LW5pbmUsIHVuZGVmaW5lZCwgbWF5IHNob3cg16bXmAog16cgaHVuZHJlZCwgdW5kZWZpbmVk
LCBtYXkgc2hvdyDXpwog16fXkCBhIGh1bmRyZWQgYW5kIG9uZSwgdW5kZWZpbmVkLCBtYXkgc2hv
dyDXp9eQCi3XkNek16EgemVybywgdW5kZWZpbmVkLCBtYXkgc2hvdyDXkNek16EKKzAgemVybywg
dW5kZWZpbmVkLCBtYXkgc2hvdyDXkNek16EKINeQIG9uZSwgc2hvdWxkIHNob3cg15AKIGdlb3Jn
aWFuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOGMz
ODg3OTczNDVjMzQ2NzU0ZTk0OTdhMDIwMWE3Y2E2ZGQ5MjYxNy4uNDE1NmQ1MmFkZDdiNDlhMmZi
NmQ5NjZjYWZiYmU3YjA3NTk4NzRhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTIxNjMsMTAgKzIxNjMsNiBAQCB3ZWJraXQub3JnL2IvMjIxMTAwIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUt
YQogCiAjIEBjb3VudGVyLXN0eWxlIFdQVCBmYWlsdXJlcyBzcGVjaWZpYyB0byBNYWMgcGxhdGZv
cm1zCiBbIE1vamF2ZSBDYXRhbGluYSBdIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9sb3dlci1hcm1lbmlhbi9jc3MzLWNvdW50ZXItc3R5bGVz
LTExMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvYmVuZ2FsaS9jc3MzLWNvdW50ZXItc3R5bGVz
LTExNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvZ3VqYXJhdGkvY3NzMy1jb3VudGVyLXN0eWxl
cy0xMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2d1cm11a2hpL2NzczMtY291bnRlci1zdHls
ZXMtMTI2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9sYW8vY3NzMy1jb3VudGVyLXN0eWxlcy0x
MzIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjIyMTg1IG1lZGlh
L21lZGlhLWV4dGVuc2lvbi13aXRoLWZyYWdtZW50Lmh0bWwgWyBDcmFzaCBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431868</attachid>
            <date>2021-06-21 09:20:19 -0700</date>
            <delta_ts>2021-06-22 04:01:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227206-20210621092018.patch</filename>
            <type>text/plain</type>
            <size>136400</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5MDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgzNmE5ZjhiMGUyMzVmMmFhN2Y0NWY3
M2U2YmU0ODAzNGU4NGIyNWQuLmFhMjYzMTkyYWM5YThlYmVkYjJhNmI5NjI1N2M4NmJhYjc0YzQw
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDYtMjEgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIEltcHJvdmUgbW9yZSBvZiB0aGUgQ1NTIGxpc3Qgc3R5bGUg
aW1wbGVtZW50YXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjcyMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg6IEFkZGVkIGJsYWNrRG93bi9M
ZWZ0L1JpZ2h0UG9pbnRpbmdTbWFsbFRyaWFuZ2xlLgorCiAyMDIxLTA2LTIxICBQaGlsaXBwZSBO
b3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxk
IGZpeCBhZnRlciByMjc5MDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRhNjA0ODY3OWRjYWQyMDNiMGYzMTg3
MGNlZmRmYmExOGM5NWNiNS4uODE0MWFkODYwZDQ3OTlmNzlmNDkwMTlhNDBlNGZhYzY1ODkwNjBh
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0OCBAQAorMjAyMS0wNi0yMSAgRGFyaW4gQWRsZXIg
IDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wcm92ZSBtb3JlIG9mIHRoZSBDU1MgbGlz
dCBzdHlsZSBpbXBsZW1lbnRhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNzIwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIDEyIG5ldyB2YWx1ZXMgZm9yIGxpc3Qt
c3R5bGUtdHlwZTogZGlzY2xvc3VyZS1jbG9zZWQsCisgICAgICAgIGRpc2Nsb3N1cmUtb3Blbiwg
ZXRoaW9waWMtbnVtZXJpYywgamFwYW5lc2UtZm9ybWFsLCBqYXBhbmVzZS1pbmZvcm1hbCwKKyAg
ICAgICAga29yZWFuLWhhbmd1bC1mb3JtYWwsIGtvcmVhbi1oYW5qYS1mb3JtYWwsIGtvcmVhbi1o
YW5qYS1pbmZvcm1hbCwKKyAgICAgICAgc2ltcC1jaGluZXNlLWZvcm1hbCwgc2ltcC1jaGluZXNl
LWluZm9ybWFsLCB0cmFkLWNoaW5lc2UtaW5mb3JtYWwsCisgICAgICAgIGFuZCB0cmFkLWNoaW5l
c2UtZm9ybWFsLgorCisgICAgICAgIEltcHJvdmVkIGltcGxlbWVudGF0aW9uIHRvIG1hdGNoIHNw
ZWNpZmljYXRpb24gbW9yZSBjbG9zZWx5IGZvciBhIGZldworICAgICAgICBleGlzdGluZyB2YWx1
ZXMgZm9yIGxpc3Qtc3R5bGUtdHlwZTogYXJtZW5pYW4sIGNqay1pZGVvZ3JhcGhpYywgaGVicmV3
LAorICAgICAgICBsb3dlci1hcm1lbmlhbiwgbG93ZXItcm9tYW4sIHVwcGVyLWFybWVuaWFuLCBh
bmQgdXBwZXItcm9tYW4uCisKKyAgICAgICAgRml4ZWQgYSByZW5kZXJpbmcgaXNzdWUgd2hlcmUg
d2Ugd291bGQgcG9zaXRpb24gbGlzdCBpdGVtcyBpbmNvcnJlY3RseQorICAgICAgICBpbiBsaXN0
LXN0eWxlLXBvc2l0aW9uOmluc2lkZSBjYXNlcyBiZWNhdXNlIG9mIG1lYXN1cmluZyB0aGUgbGlz
dCBtYXJrZXIKKyAgICAgICAgd2lkdGhzIGFuZCB0aGUgbGlzdCBtYXJrZXIgc3VmZml4IHdpZHRo
cyBzZXBhcmF0ZWx5IGFuZCBhZGRpbmcgdGhlbQorICAgICAgICBpbnN0ZWFkIG9mIG1lYXN1cmlu
ZyB0aGVtIHRvZ2V0aGVyLiBUaGlzIHdhcyBjYXVzaW5nIHNvbWUgb2YgdGhlCisgICAgICAgIFdl
YiBQbGF0Zm9ybSBUZXN0cywgZG9uZSB1c2luZyByZWYgdGVzdHMsIHRvIGZhaWwuCisKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bGlzdE1hcmtlclRleHRGb3JOb2RlKTogVXBkYXRlZCBzaW5jZQorICAgICAgICBSZW5k
ZXJMaXN0SXRlbTo6bWFya2VyVGV4dFdpdGhTdWZmaXggbm93IHJldHVybnMgYSBTdHJpbmdWaWV3
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzdHJpbmdWYWx1
ZSBjb25zdCk6IFVwZGF0ZWQKKyAgICAgICAgdG8gY2FsbCBSZW5kZXJMaXN0TWFya2VyOjp0ZXh0
V2l0aG91dFN1ZmZpeC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSHlwZXJsaW5rLmNwcDoKKyAgICAgICAgKHJhbmdlTGVuZ3RoRm9yT2JqZWN0KTogRGl0dG8u
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRl
eHQuY3BwOgorICAgICAgICAoYWNjZXNzaWJpbGl0eU9iamVjdExlbmd0aCk6IERpdHRvLgorICAg
ICAgICAod2Via2l0QWNjZXNzaWJsZVRleHRHZXRUZXh0KTogVXBkYXRlZCBzaW5jZQorICAgICAg
ICBSZW5kZXJMaXN0SXRlbTo6bWFya2VyVGV4dFdpdGhTdWZmaXggbm93IHJldHVybnMgYSBTdHJp
bmdWaWV3LgorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OnRvQ1NTVmFsdWVJRCk6IEZhY3RvcmVkIHRoaXMgb3V0IGludG8gYSBz
ZXBhcmF0ZSBoZWxwZXIuCisgICAgICAgIEFsc28gbWFkZSBpdCB0YWtlIGFkdmFudGFnZSBvZiB0
aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIGVudW1lcmF0aW9uCisgICAgICAgIGFuZCB0aGUg
Q1NTIHZhbHVlIGtleXdvcmRzIHRoYXQgdGhlIGNvZGUgaW4gdGhlIG90aGVyIGRpcmVjdGlvbiBh
bHJlYWR5CisgICAgICAgIHdhcyByZWx5aW5nIG9uIHNvIHdlIGRvbid0IGhhdmUgdG8gbGlzdCBh
bGwgdGhlIGtleXdvcmRzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKTogUmVmYWN0b3JlZCB0byBjYWxsIHRoZQorICAgICAgICB0b0NTU1Zh
bHVlSUQgZnVuY3Rpb24uCisKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbjogQWRk
ZWQgMTIgbmV3IGxpc3QtdHlwZS1zdHlsZSBjb25zdGFudHM6CisgICAgICAgIGRpc2Nsb3N1cmUt
b3BlbiwgZGlzY2xvc3VyZS1jbG9zZWQsIGphcGFuZXNlLWluZm9ybWFsLCBqYXBhbmVzZS1mb3Jt
YWwsCisgICAgICAgIGtvcmVhbi1oYW5ndWwtZm9ybWFsLCBrb3JlYW4taGFuamEtaW5mb3JtYWws
IGtvcmVhbi1oYW5qYS1mb3JtYWwsCisgICAgICAgIHNpbXAtY2hpbmVzZS1pbmZvcm1hbCwgc2lt
cC1jaGluZXNlLWZvcm1hbCwgdHJhZC1jaGluZXNlLWluZm9ybWFsLAorICAgICAgICB0cmFkLWNo
aW5lc2UtZm9ybWFsLCBhbmQgZXRoaW9waWMtbnVtZXJpYy4KKworICAgICAgICAqIGNzcy9wYXJz
ZXIvQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
b3BlcnR5UGFyc2VySGVscGVyczo6aXNQcmVkZWZpbmVkQ291bnRlclN0eWxlKTogVXBkYXRlZAor
ICAgICAgICBzaW5jZSB0aGUgbGFzdCBwcmVkZWZpbmVkIGNvdW50ZXIgc3R5bGUgaXMgRXRoaW9w
aWNOdW1lcmljLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RJdGVtOjptYXJrZXJUZXh0V2l0aG91dFN1ZmZpeCBj
b25zdCk6IFJlbmFtZWQgZnJvbQorICAgICAgICBtYXJrZXJUZXh0LCBhbmQgY2hhbmdlZCB0byBy
ZXR1cm4gYSBTdHJpbmdWaWV3LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEl0ZW06Om1h
cmtlclRleHRXaXRoU3VmZml4IGNvbnN0KTogUmV0dXJuIGEgU3RyaW5nVmlldy4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGlzdEl0ZW0uaDogVXBkYXRlZCBmb3IgdGhlIGFib3ZlLgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dG9Sb21hbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjp0b0FscGhhYmV0aWNPck51
bWVyaWMpOiBUd2Vha2VkIHRvIHVzZSBjb21waWxlIHRpbWUgaW5zdGVhZCBvZgorICAgICAgICBy
dW50aW1lIGNoZWNrcyBmb3IgYWxwaGFiZXRpYyB2cy4gbnVtZXJpYy4KKyAgICAgICAgKFdlYkNv
cmU6OnRvU3ltYm9saWMpOiBVcGRhdGVkIGZvciBhYm92ZS4KKyAgICAgICAgKFdlYkNvcmU6OnRv
QWxwaGFiZXRpYyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6dG9OdW1lcmljKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjp0b0hlYnJld1VuZGVyMTAwMCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjp0b0hlYnJldyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjp0b0FybWVu
aWFuVW5kZXIxMDAwMCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjp0b0FybWVuaWFuKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRvR2VvcmdpYW4pOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6dG9DSktJZGVvZ3JhcGhpYyk6IEFkZGVkIGhhbmRsaW5nIGZvciBuZWdhdGl2
ZSBudW1iZXJzIGFuZCBhbHNvCisgICAgICAgIHR3ZWFrZWQgY29kaW5nIHN0eWxlIGEgYml0Lgor
ICAgICAgICAoV2ViQ29yZTo6dG9QcmVkZWZpbmVkQWRkaXRpdmVTeXN0ZW0pOiBBZGRlZC4gSW1w
bGVtZW50cyB0aGUgYWRkaXRpdmUKKyAgICAgICAgc3lzdGVtIGNvbmNlcHQsIHdoaWNoIHdlIHVz
ZSBiZWxvdyB0byByZS1pbXBsZW1lbnQgSGVicmV3LCBBcm1lbmlhbiwKKyAgICAgICAgR2Vvcmdp
YW4sIEphcGFuZXNlLCBhbmQgS29yZWFuIHN0eWxlcy4KKyAgICAgICAgKFdlYkNvcmU6OnRvRXRo
aW9waWNOdW1lcmljKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjplZmZlY3RpdmVMaXN0TWFy
a2VyVHlwZSk6IEFkZGVkIHRoZSBuZXcgc3R5bGVzLiBBbHNvIHVwZGF0ZWQgdGhlCisgICAgICAg
IGFsbG93YWJsZSB2YWx1ZXMgZm9yIENKS0lkZW9ncmFwaGljIHRvIGFsbG93IG5lZ2F0aXZlIG51
bWJlcnMsIGFuZCBmb3IgSGVicmV3CisgICAgICAgIHRvIG5vIGxvbmdlciBhbGxvdyAwIG9yIG51
bWJlcnMgb3ZlciAxMDk5OS4gQWxzbyBzb3J0ZWQgdGhlIHNlY3Rpb25zIGJ5IHRoZQorICAgICAg
ICBuYW1lIG9mIHRoZSBmaXJzdCBsaXN0IHN0eWxlIHR5cGUgaW4gZWFjaCBzZWN0aW9uLgorICAg
ICAgICAoV2ViQ29yZTo6bGlzdE1hcmtlclN1ZmZpeCk6IENoYW5nZWQgdG8gcmV0dXJuIGEgU3Ry
aW5nVmlldyBpbnN0ZWFkIG9mIGEKKyAgICAgICAgVUNoYXIsIGFuZCBpbmNsdWRlIHRoZSB0cmFp
bGluZyBzcGFjZS4gQ2hvb3NlIHRoZSBzdWZmaXggYmFzZWQgb24gdGhlCisgICAgICAgIHNwZWNp
ZmllZCB0eXBlIGFuZCBub3QgdGhlIGVmZmVjdGl2ZSB0eXBlLCBzbyBmYWxsYmFjayBkb2VzIG5v
dCBjYXVzZSB0aGUKKyAgICAgICAgc3VmZml4IHRvIGZhbGwgYmFjay4gQWRkZWQgdGhlIG5ldyB0
eXBlcy4KKyAgICAgICAgKFdlYkNvcmU6OnN1ZmZpeFJlcXVpcmVzU3BhY2UpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6bGlzdE1hcmtlclRleHQpOiBBZGRlZCBpbXBsZW1lbnRhdGlvbnMg
Zm9yIGFsbCB0aGUgbmV3IHR5cGVzLgorICAgICAgICBBbHNvIHVwZGF0ZWQgdGhlIGltcGxlbWVu
dGF0aW9uIG9mIENKS0lkZW9ncmFwaGljLCBMb3dlclJvbWFuLCBVcHBlclJvbWFuLAorICAgICAg
ICBBcm1lbmlhbiwgVXBwZXJBcm1lbmlhbiwgTG93ZXJBcm1lbmlhbiwgR2VvcmdpYW4sIGFuZCBI
ZWJyZXcgdG8gbWF0Y2ggYQorICAgICAgICBuZXdlciBDU1Mgc3BlY2lmaWNhdGlvbiBkcmFmdCwg
YW5kIGluIG1vc3QgY2FzZXMgd2FzIGFibGUgdG8gdXNlCisgICAgICAgIHRvUHJlZGVmaW5lZEFk
ZGl0aXZlU3lzdGVtIGluc3RlYWQgb2YgbGFuZ3VhZ2Utc3BlY2lmaWMgZnVuY3Rpb25zLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6Y3JlYXRlSW5saW5lQm94KTogU3RvcCB1
c2luZyB0aGUgaXNUZXh0IGZ1bmN0aW9uLAorICAgICAgICB3aGljaCB3YXMgb25seSB1c2VkIGhl
cmUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpwYWludCk6IFVwZGF0ZWQg
Zm9yIHRoZSBuYW1lIGNoYW5nZSBvZgorICAgICAgICByZWxhdGl2ZU1hcmtlclJlY3QuIFJlbW92
ZWQgdW5uZWVkZWQgc3BlY2lhbCBjYXNlIGZvciBMaXN0U3R5bGVUeXBlOjpOb25lLgorICAgICAg
ICBVc2UgdGhlIG5ldyBSZW5kZXJMaXN0TWFya2VyOjp0ZXh0UnVuIGZ1bmN0aW9uLCBtb3Zpbmcg
YWxsIHRoZSBjb2RlIHRoYXQKKyAgICAgICAgZGVhbHMgd2l0aCBkaXJlY3Rpb24gYW5kIHN1ZmZp
eCBpbiB0aGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OnJldmVyc2VkKTogQWRkZWQuIEhlbHBlciB1
c2VkIGJ5IHRleHRSdW4uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjp0ZXh0
UnVuIGNvbnN0KTogQWRkZWQuIENvbXBvc2VzIGEgVGV4dFJ1biBmb3IKKyAgICAgICAgZHJhd2lu
ZyBvciBtZWFzdXJpbmcgdGV4dC4gQnkgdXNpbmcgdGhlIHNhbWUgZnVuY3Rpb24gaW4gYWxsIHRo
b3NlIHBsYWNlcywKKyAgICAgICAgd2UgZ3VhcmFudGVlIHdlIG1lYXN1cmUgdGhlIHRleHQgdG9n
ZXRoZXIgaW5zdGVhZCBvZiBpbiBwaWVjZXMsIHdoaWNoIGZpeGVzCisgICAgICAgIHNvbWUgbGF5
b3V0IGVycm9ycyBsZWFkaW5nIHRvIHRlc3QgZmFpbHVyZXMgdGhhdCBtZWFzdXJpbmcgc2VwYXJh
dGVseSBhbmQKKyAgICAgICAgYWRkaW5nIHRoZSByZXN1bHRzIHRvZ2V0aGVyIHdhcyBjYXVzaW5n
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6YWRkT3ZlcmZsb3dGcm9tTGlz
dE1hcmtlcik6IFVzZSB0aGUgZGF0YQorICAgICAgICBtZW1iZXIgbV9saW5lT2Zmc2V0Rm9yTGlz
dEl0ZW0gaW5zdGVhZCBvZiB0aGUgbGluZU9mZnNldEZvckxpc3RJdGVtCisgICAgICAgIGZ1bmN0
aW9uLCB3aGljaCB3YXMgb25seSB1c2VkIGhlcmUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
aXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zQW5kQ29udGVudCk6IE1vdmVkIHRoZSBjaGVjayBvZgor
ICAgICAgICBwcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkgYW5kIHRoZSBjb21tZW50IGFib3V0
IGl0IGhlcmUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVDb250
ZW50KTogTW92ZWQgY2hlY2sgb2YKKyAgICAgICAgcHJlZmVycmVkTG9naWNhbFdpZHRoc0RpcnR5
IG91dCBvZiB0aGlzIGZ1bmN0aW9uIHNpbmNlIG9uZSBjYWxsZXIgYXNzZXJ0cworICAgICAgICBp
dCwgYW5kIHNvIHRoZSBvdGhlciBjYWxsZXIgY2FuIGRvIHRoZSBjaGVjayBpdHNlbGYuIEFkZGVk
IGNvZGUgdG8gc2V0CisgICAgICAgIG1fdGV4dFdpdGhTdWZmaXgsIG1fdGV4dFdpdGhvdXRTdWZm
aXhMZW5ndGgsIGFuZCBtX3RleHRJc0xlZnRUb1JpZ2h0RGlyZWN0aW9uLgorICAgICAgICBSZW1v
dmVkIHVubmVlZGVkIHNwZWNpYWwgY2FzZXMgZm9yIExpc3RTdHlsZVR5cGU6Ok5vbmUsIENpcmNs
ZSwgRGlzYywgYW5kCisgICAgICAgIFNxdWFyZSwgd2hpY2ggYXJlIGFsbCBoYW5kbGVkIGNvcnJl
Y3RseSBieSB0aGUgbWFpbiBhbGdvcml0aG0uIEFkZGVkIGEgRklYTUUKKyAgICAgICAgYWJvdXQg
dGhlIGluYWRlcXVhY3kgb2Ygb3VyIGJpZGkgYWxnb3JpdGhtIGltcGxlbWVudGF0aW9uIGZvciB0
aGUgZ2VuZXJhbCBjYXNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6Y29t
cHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOiBVc2UgdGhlIG5ldworICAgICAgICB0ZXh0UnVu
IGZ1bmN0aW9uLCBhbGxvd2luZyB1cyB0byByZW1vdmUgc29tZSBzcGVjaWFsIGNhc2UgY29kZSwg
aW5jbHVkaW5nCisgICAgICAgIHRoZSBzcGVjaWFsIGNhc2VzIGZvciBMaXN0U3R5bGVUeXBlOjpO
b25lLCBBc3Rlcmlza3MsIEZvb3Rub3RlcywgYW5kIFN0cmluZy4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMpOiBSZW1vdmVkIHVubmVlZGVkIHNwZWNp
YWwgY2FzZSBmb3IKKyAgICAgICAgTGlzdFN0eWxlVHlwZTo6Tm9uZSwgYW5kIHVwZGF0ZWQgc3Ry
aW5nIGVtcHR5IGNoZWNrcyBmb3IgdGhlIG5ldyBuYW1lIG9mIHRoZQorICAgICAgICBtX3RleHRX
aXRoU3VmZml4IGRhdGEgbWVtYmVyLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtl
cjo6c3VmZml4IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RN
YXJrZXI6OnJlbGF0aXZlTWFya2VyUmVjdCk6IFJlbmFtZWQgZnJvbQorICAgICAgICBnZXRSZWxh
dGl2ZU1hcmtlclJlY3QuIFVzZSB0aGUgbmV3IHRleHRSdW4gZnVuY3Rpb24sIGFsbG93aW5nIHVz
IHRvIHJlbW92ZQorICAgICAgICBzb21lIHNwZWNpYWwgY2FzZSBjb2RlLCBpbmNsdWRpbmcgdGhl
IHNwZWNpYWwgY2FzZXMgZm9yIExpc3RUeWxlVHlwZTo6Tm9uZSwKKyAgICAgICAgQXN0ZXJpc2tz
LCBGb290bm90ZXMsIGFuZCBTdHJpbmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFy
a2VyOjp0ZXh0V2l0aG91dFN1ZmZpeCBjb25zdCk6IEFkZGVkLgorCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxpc3RNYXJrZXIuaDogTWFya2VkIGZ1bmN0aW9ucyBhcyBmaW5hbCBpbnN0ZWFk
IG9mIGp1c3QKKyAgICAgICAgb3ZlcnJpZGUuIEdvdCByaWQgb2YgdW5uZWVkZWQgc3VmZml4IGFu
ZCBsaW5lT2Zmc2V0Rm9yTGlzdEl0ZW0gZnVuY3Rpb25zLgorICAgICAgICBSZW5hbWVkIHRleHQg
b3QgdGV4dFdpdGhvdXRTdWZmaXggYW5kIGFkZGVkIHRleHRXaXRoU3VmZml4LiBBZGRlZCB0ZXh0
UnVuCisgICAgICAgIHByaXZhdGUgbWVtYmVyIGZ1bmN0aW9uLiBSZXBsYWNlZCBtX3RleHQgd2l0
aCBtX3RleHRXaXRoU3VmZml4LAorICAgICAgICBtX3RleHRXaXRob3V0U3VmZml4TGVuZ3RoLCBh
bmQgbV90ZXh0SXNMZWZ0VG9SaWdodERpcmVjdGlvbi4KKworICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRyZWVBc1RleHQ6
OndyaXRlUmVuZGVyT2JqZWN0KTogVXNlIHRleHRXaXRob3V0U3VmZml4LgorICAgICAgICAoV2Vi
Q29yZTo6bWFya2VyVGV4dEZvckxpc3RJdGVtKTogVXNlIG1hcmtlclRleHRXaXRob3V0U3VmZml4
LgorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Om9wZXJhdG9yPDwpOiBVc2UgZ2V0VmFsdWVOYW1lIGZyb20gQ1NT
VmFsdWVLZXl3b3Jkcy5oIGFuZAorICAgICAgICB0b0NTU1ZhbHVlSUQgdG8gYXZvaWQgcmVwZWF0
aW5nIHRoZSBuYW1lcyBvZiBhbGwgdGhlIGxpc3Qgc3R5bGUgdHlwZXMgaGVyZS4KKworICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOiBBZGRlZCB0aGUgMTIg
bmV3IGxpc3Qgc3R5bGUgdHlwZXMuCisKIDIwMjEtMDYtMjEgIEFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSByZWR1bmRhbnQgSGl0VGVzdExvY2F0aW9uKGNv
bnN0IExheW91dFBvaW50JiBjZW50ZXJQb2ludCwgdW5zaWduZWQgdG9wUGFkZGluZywgdW5zaWdu
ZWQgcmlnaHRQYWRkaW5nLCB1bnNpZ25lZCBib3R0b21QYWRkaW5nLCB1bnNpZ25lZCBsZWZ0UGFk
ZGluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMu
aCBiL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaAppbmRleCAwYTVjMzI3
YzZhMWZjMGM4YjZkY2YxYWU2YjE4Y2U0NTJhN2NiMGQwLi4wZDE0OGYyNjdlNGY3YWFjODgwYjky
N2VjYjgxMjhhZDFjOGMzMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL0No
YXJhY3Rlck5hbWVzLmgKKysrIGIvU291cmNlL1dURi93dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1l
cy5oCkBAIC00MSw2ICs0MSw5IEBAIGNvbnN0ZXhwciBVQ2hhcjMyIGFlZ2VhbldvcmRTZXBhcmF0
b3JEb3QgPSAweDEwMTAxOwogY29uc3RleHByIFVDaGFyMzIgYWVnZWFuV29yZFNlcGFyYXRvckxp
bmUgPSAweDEwMTAwOwogY29uc3RleHByIFVDaGFyIGFwb3N0cm9waGUgPSAweDAwMjc7CiBjb25z
dGV4cHIgVUNoYXIgYmxhY2tDaXJjbGUgPSAweDI1Q0Y7Citjb25zdGV4cHIgVUNoYXIgYmxhY2tE
b3duUG9pbnRpbmdTbWFsbFRyaWFuZ2xlID0gMHgyNUJFOworY29uc3RleHByIFVDaGFyIGJsYWNr
TGVmdFBvaW50aW5nU21hbGxUcmlhbmdsZSA9IDB4MjVDMjsKK2NvbnN0ZXhwciBVQ2hhciBibGFj
a1JpZ2h0UG9pbnRpbmdTbWFsbFRyaWFuZ2xlID0gMHgyNUI4OwogY29uc3RleHByIFVDaGFyIGJs
YWNrU3F1YXJlID0gMHgyNUEwOwogY29uc3RleHByIFVDaGFyIGJsYWNrVXBQb2ludGluZ1RyaWFu
Z2xlID0gMHgyNUIyOwogY29uc3RleHByIFVDaGFyIGJ1bGxldCA9IDB4MjAyMjsKQEAgLTExMyw2
ICsxMTYsOSBAQCB1c2luZyBXVEY6OlVuaWNvZGU6OkhpcmFnYW5hTGV0dGVyU21hbGxBOwogdXNp
bmcgV1RGOjpVbmljb2RlOjphZWdlYW5Xb3JkU2VwYXJhdG9yRG90OwogdXNpbmcgV1RGOjpVbmlj
b2RlOjphZWdlYW5Xb3JkU2VwYXJhdG9yTGluZTsKIHVzaW5nIFdURjo6VW5pY29kZTo6YmxhY2tD
aXJjbGU7Cit1c2luZyBXVEY6OlVuaWNvZGU6OmJsYWNrRG93blBvaW50aW5nU21hbGxUcmlhbmds
ZTsKK3VzaW5nIFdURjo6VW5pY29kZTo6YmxhY2tMZWZ0UG9pbnRpbmdTbWFsbFRyaWFuZ2xlOwor
dXNpbmcgV1RGOjpVbmljb2RlOjpibGFja1JpZ2h0UG9pbnRpbmdTbWFsbFRyaWFuZ2xlOwogdXNp
bmcgV1RGOjpVbmljb2RlOjpibGFja1NxdWFyZTsKIHVzaW5nIFdURjo6VW5pY29kZTo6YmxhY2tV
cFBvaW50aW5nVHJpYW5nbGU7CiB1c2luZyBXVEY6OlVuaWNvZGU6OmJ1bGxldDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCmlu
ZGV4IDM0ZWE4ZjQ4YzkwMzg2MGMxZGYzZjNmZTg2YjQ0YzdjYjU3MjcwZDMuLjQ0MzZmZDhjYTk5
MGFmMmU1Y2MxNDcwNDdmYzM5YzI0NzAxMDRlNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMTE2MCw3ICsxMTYw
LDcgQEAgc3RhdGljIFN0cmluZyBsaXN0TWFya2VyVGV4dEZvck5vZGUoTm9kZSogbm9kZSkKICAg
ICAvLyBJZiB0aGlzIGlzIGluIGEgbGlzdCBpdGVtLCB3ZSBuZWVkIHRvIG1hbnVhbGx5IGFkZCB0
aGUgdGV4dCBmb3IgdGhlIGxpc3QgbWFya2VyCiAgICAgLy8gYmVjYXVzZSBhIFJlbmRlckxpc3RN
YXJrZXIgZG9lcyBub3QgaGF2ZSBhIE5vZGUgZXF1aXZhbGVudCBhbmQgdGh1cyBkb2VzIG5vdCBh
cHBlYXIKICAgICAvLyB3aGVuIGl0ZXJhdGluZyB0ZXh0LgotICAgIHJldHVybiBsaXN0SXRlbS0+
bWFya2VyVGV4dFdpdGhTdWZmaXgoKTsKKyAgICByZXR1cm4gbGlzdEl0ZW0tPm1hcmtlclRleHRX
aXRoU3VmZml4KCkudG9TdHJpbmcoKTsKIH0KIAogLy8gUmV0dXJucyB0aGUgdGV4dCBhc3NvY2lh
dGVkIHdpdGggYSBsaXN0IG1hcmtlciBpZiB0aGlzIG5vZGUgaXMgY29udGFpbmVkIHdpdGhpbiBh
IGxpc3QgaXRlbS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCmluZGV4IGZjYWQ0YzczNWViMzkzNTU0YWU3
OTA5MjY1ZTg2MTBlYzAzODU4YmYuLjhmMjc3ZTQ3YWQ1ODYwOTkwMWI2ZjY3ZDNhOWUwY2M0MzYz
MjA4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtNzcwLDcgKzc3MCw3IEBAIFN0cmluZyBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzdHJpbmdWYWx1ZSgpIGNvbnN0CiAgICAgfQogICAg
IAogICAgIGlmIChpczxSZW5kZXJMaXN0TWFya2VyPigqbV9yZW5kZXJlcikpCi0gICAgICAgIHJl
dHVybiBkb3duY2FzdDxSZW5kZXJMaXN0TWFya2VyPigqbV9yZW5kZXJlcikudGV4dCgpOworICAg
ICAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTGlzdE1hcmtlcj4oKm1fcmVuZGVyZXIpLnRleHRX
aXRob3V0U3VmZml4KCkudG9TdHJpbmcoKTsKICAgICAKICAgICBpZiAoaXNXZWJBcmVhKCkpCiAg
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5jcHAKaW5kZXgg
YzY0YzVkOWE0MjE4N2QzY2Y4NTZmNGFkZjIzOWY2YjRlZDZmOTQ1Ny4uMDVjYmQ2ZmU3NTFkYzE2
MGJmNDc0ODQyZTg1ZDVjNmVmNDhlZTU3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5jcHAK
QEAgLTE3Nyw4ICsxNzcsNyBAQCBzdGF0aWMgZ2ludCByYW5nZUxlbmd0aEZvck9iamVjdChBY2Nl
c3NpYmlsaXR5T2JqZWN0JiBvYmosIGNvbnN0IHN0ZDo6b3B0aW9uYWw8UwogICAgIGlmICghaXM8
UmVuZGVyTGlzdE1hcmtlcj4ocmVuZGVyZXIpKQogICAgICAgICByZXR1cm4gYmFzZUxlbmd0aDsK
IAotICAgIGF1dG8mIG1hcmtlciA9IGRvd25jYXN0PFJlbmRlckxpc3RNYXJrZXI+KCpyZW5kZXJl
cik7Ci0gICAgcmV0dXJuIGJhc2VMZW5ndGggKyBtYXJrZXIudGV4dCgpLmxlbmd0aCgpICsgbWFy
a2VyLnN1ZmZpeCgpLmxlbmd0aCgpOworICAgIHJldHVybiBiYXNlTGVuZ3RoICsgZG93bmNhc3Q8
UmVuZGVyTGlzdE1hcmtlcj4oKnJlbmRlcmVyKS50ZXh0V2l0aFN1ZmZpeCgpLmxlbmd0aCgpOwog
fQogCiBzdGF0aWMgZ2ludCB3ZWJraXRBY2Nlc3NpYmxlSHlwZXJsaW5rR2V0U3RhcnRJbmRleChB
dGtIeXBlcmxpbmsqIGxpbmspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKaW5k
ZXggMzcxNGNhMmM3ODdlYzQ5NjVmZDQwZjAyMThjZThhOTFlMmIyMzEyNC4uMDgxZmE4YzM2MWIw
ZWY0ZjA2MmQ4MzBmODhkZjRhNzQwNzgyNWRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VUZXh0LmNwcApAQCAtMjQzLDExICsyNDMsOCBAQCBzdGF0aWMgZ3VpbnQgYWNjZXNzaWJpbGl0
eU9iamVjdExlbmd0aChjb25zdCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCiAgICAgLy8g
VGVjaG5vbG9naWVzLCB3ZSBuZWVkIHRvIGhhdmUgYSB3YXkgdG8gbWVhc3VyZSB0aGVpciBsZW5n
dGgKICAgICAvLyBmb3IgdGhvc2UgY2FzZXMgd2hlbiBpdCdzIG5lZWRlZCB0byB0YWtlIGl0IGlu
dG8gYWNjb3VudAogICAgIC8vIHNlcGFyYXRlbHkgKGFzIGluIGdldEFjY2Vzc2liaWxpdHlPYmpl
Y3RGb3JPZmZzZXQpCi0gICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IG9iamVjdC0+cmVuZGVy
ZXIoKTsKLSAgICBpZiAoaXM8UmVuZGVyTGlzdE1hcmtlcj4ocmVuZGVyZXIpKSB7Ci0gICAgICAg
IGF1dG8mIG1hcmtlciA9IGRvd25jYXN0PFJlbmRlckxpc3RNYXJrZXI+KCpyZW5kZXJlcik7Ci0g
ICAgICAgIHJldHVybiBtYXJrZXIudGV4dCgpLmxlbmd0aCgpICsgbWFya2VyLnN1ZmZpeCgpLmxl
bmd0aCgpOwotICAgIH0KKyAgICBpZiAoYXV0byByZW5kZXJlciA9IG9iamVjdC0+cmVuZGVyZXIo
KTsgaXM8UmVuZGVyTGlzdE1hcmtlcj4ocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4gZG93bmNh
c3Q8UmVuZGVyTGlzdE1hcmtlcj4oKnJlbmRlcmVyKS50ZXh0V2l0aFN1ZmZpeCgpLmxlbmd0aCgp
OwogCiAgICAgcmV0dXJuIDA7CiB9CkBAIC00NjEsNyArNDU4LDcgQEAgc3RhdGljIGdjaGFyKiB3
ZWJraXRBY2Nlc3NpYmxlVGV4dEdldFRleHQoQXRrVGV4dCogdGV4dCwgZ2ludCBzdGFydE9mZnNl
dCwgZ2ludAogICAgIGlmIChjb3JlT2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5
Um9sZTo6TGlzdEl0ZW0pIHsKICAgICAgICAgUmVuZGVyT2JqZWN0KiBvYmpSZW5kZXJlciA9IGNv
cmVPYmplY3QtPnJlbmRlcmVyKCk7CiAgICAgICAgIGlmIChpczxSZW5kZXJMaXN0SXRlbT4ob2Jq
UmVuZGVyZXIpKSB7Ci0gICAgICAgICAgICBTdHJpbmcgbWFya2VyVGV4dCA9IGRvd25jYXN0PFJl
bmRlckxpc3RJdGVtPigqb2JqUmVuZGVyZXIpLm1hcmtlclRleHRXaXRoU3VmZml4KCk7CisgICAg
ICAgICAgICBTdHJpbmcgbWFya2VyVGV4dCA9IGRvd25jYXN0PFJlbmRlckxpc3RJdGVtPigqb2Jq
UmVuZGVyZXIpLm1hcmtlclRleHRXaXRoU3VmZml4KCkudG9TdHJpbmcoKTsKICAgICAgICAgICAg
IHJldCA9IG9ialJlbmRlcmVyLT5zdHlsZSgpLmRpcmVjdGlvbigpID09IFRleHREaXJlY3Rpb246
OkxUUiA/IG1hcmtlclRleHQgKyByZXQgOiByZXQgKyBtYXJrZXJUZXh0OwogICAgICAgICAgICAg
aWYgKGVuZE9mZnNldCA9PSAtMSkKICAgICAgICAgICAgICAgICBhY3R1YWxFbmRPZmZzZXQgPSBy
ZXQubGVuZ3RoKCkgKyBtYXJrZXJUZXh0Lmxlbmd0aCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzY4MDdiOTRkODQ3YmUwNWE1MmE1
YjhkZGFkMjY3MDJiNDBiMzYzZi4uNDc0OWFmN2QyNjI2Nzc1ZjZmYTY0MWM5OTUyNjhhMDg3ODgz
MDBjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFw
cGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5n
cy5oCkBAIC0xNzMxLDI2NyArMTczMSwyNiBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRp
dmVWYWx1ZTo6b3BlcmF0b3IgTGlzdFN0eWxlUG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBM
aXN0U3R5bGVQb3NpdGlvbjo6T3V0c2lkZTsKIH0KIAotdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKExpc3RTdHlsZVR5cGUgZSkKLSAgICA6IENT
U1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQoraW5saW5lIENTU1ZhbHVlSUQgdG9DU1NWYWx1ZUlEKExp
c3RTdHlsZVR5cGUgc3R5bGUpCiB7Ci0gICAgc2V0UHJpbWl0aXZlVW5pdFR5cGUoQ1NTVW5pdFR5
cGU6OkNTU19WQUxVRV9JRCk7Ci0gICAgc3dpdGNoIChlKSB7Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpBZmFyOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUFmYXI7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QW1oYXJpYzoKLSAgICAgICAgbV92
YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVBbWhhcmljOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkFtaGFyaWNBYmVnZWRlOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQg
PSBDU1NWYWx1ZUFtaGFyaWNBYmVnZWRlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkFyYWJpY0luZGljOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1
ZUFyYWJpY0luZGljOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFy
bWVuaWFuOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUFybWVuaWFuOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrczoKLSAgICAgICAg
bV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVBc3Rlcmlza3M7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6QmluYXJ5OgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBD
U1NWYWx1ZUJpbmFyeTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpC
ZW5nYWxpOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUJlbmdhbGk7Ci0gICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLRGVjaW1hbDoKLSAgICAgICAg
bV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVDamtEZWNpbWFsOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0VhcnRobHlCcmFuY2g6Ci0gICAgICAgIG1fdmFsdWUu
dmFsdWVJRCA9IENTU1ZhbHVlQ2prRWFydGhseUJyYW5jaDsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpDSktIZWF2ZW5seVN0ZW06Ci0gICAgICAgIG1fdmFsdWUudmFs
dWVJRCA9IENTU1ZhbHVlQ2prSGVhdmVubHlTdGVtOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkNKS0lkZW9ncmFwaGljOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQg
PSBDU1NWYWx1ZUNqa0lkZW9ncmFwaGljOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkNhbWJvZGlhbjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVD
YW1ib2RpYW47Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2lyY2xl
OgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUNpcmNsZTsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsTGVhZGluZ1plcm86Ci0gICAgICAg
IG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlRGVjaW1hbExlYWRpbmdaZXJvOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRlY2ltYWw6Ci0gICAgICAgIG1fdmFsdWUu
dmFsdWVJRCA9IENTU1ZhbHVlRGVjaW1hbDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpEZXZhbmFnYXJpOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1
ZURldmFuYWdhcmk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGlz
YzoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVEaXNjOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljOgotICAgICAgICBtX3ZhbHVlLnZh
bHVlSUQgPSBDU1NWYWx1ZUV0aGlvcGljOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVFdGhpb3BpY0FiZWdlZGU7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6RXRoaW9waWNBYmVnZWRlQW1FdDoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVFdGhpb3BpY0FiZWdlZGVBbUV0OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUdlejoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0g
Q1NTVmFsdWVFdGhpb3BpY0FiZWdlZGVHZXo7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlVGlFcjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlE
ID0gQ1NTVmFsdWVFdGhpb3BpY0FiZWdlZGVUaUVyOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZVRpRXQ6Ci0gICAgICAgIG1fdmFsdWUudmFs
dWVJRCA9IENTU1ZhbHVlRXRoaW9waWNBYmVnZWRlVGlFdDsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQWFFcjoKLSAgICAgICAgbV92YWx1
ZS52YWx1ZUlEID0gQ1NTVmFsdWVFdGhpb3BpY0hhbGVoYW1lQWFFcjsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQWFFdDoKLSAgICAgICAg
bV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVFdGhpb3BpY0hhbGVoYW1lQWFFdDsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lQW1FdDoKLSAg
ICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVFdGhpb3BpY0hhbGVoYW1lQW1FdDsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lR2V6
OgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUV0aGlvcGljSGFsZWhhbWVHZXo7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFt
ZU9tRXQ6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlRXRoaW9waWNIYWxlaGFt
ZU9tRXQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNI
YWxlaGFtZVNpZEV0OgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUV0aGlvcGlj
SGFsZWhhbWVTaWRFdDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpF
dGhpb3BpY0hhbGVoYW1lU29FdDoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVF
dGhpb3BpY0hhbGVoYW1lU29FdDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFcjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVFdGhpb3BpY0hhbGVoYW1lVGlFcjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlFdDoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlE
ID0gQ1NTVmFsdWVFdGhpb3BpY0hhbGVoYW1lVGlFdDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlnOgotICAgICAgICBtX3ZhbHVlLnZh
bHVlSUQgPSBDU1NWYWx1ZUV0aGlvcGljSGFsZWhhbWVUaWc7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQg
PSBDU1NWYWx1ZUZvb3Rub3RlczsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpHZW9yZ2lhbjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVHZW9yZ2lh
bjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdWphcmF0aToKLSAg
ICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVHdWphcmF0aTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdXJtdWtoaToKLSAgICAgICAgbV92YWx1ZS52YWx1
ZUlEID0gQ1NTVmFsdWVHdXJtdWtoaTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpIYW5ndWw6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSGFuZ3Vs
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okhhbmd1bENvbnNvbmFu
dDoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVIYW5ndWxDb25zb25hbnQ7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGVicmV3OgotICAgICAgICBt
X3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUhlYnJldzsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpIaXJhZ2FuYToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVIaXJhZ2FuYTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpI
aXJhZ2FuYUlyb2hhOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUhpcmFnYW5h
SXJvaGE7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2FubmFkYToK
LSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVLYW5uYWRhOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hOgotICAgICAgICBtX3ZhbHVlLnZh
bHVlSUQgPSBDU1NWYWx1ZUthdGFrYW5hOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkthdGFrYW5hSXJvaGE6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlS2F0YWthbmFJcm9oYTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpLaG1lcjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVLaG1lcjsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMYW86Ci0gICAgICAgIG1fdmFsdWUu
dmFsdWVJRCA9IENTU1ZhbHVlTGFvOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHls
ZVR5cGU6Okxvd2VyQWxwaGE6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlTG93
ZXJBbHBoYTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFy
bWVuaWFuOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUxvd2VyQXJtZW5pYW47
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJHcmVlazoKLSAg
ICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVMb3dlckdyZWVrOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VySGV4YWRlY2ltYWw6Ci0gICAgICAgIG1f
dmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlTG93ZXJIZXhhZGVjaW1hbDsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckxhdGluOgotICAgICAgICBtX3ZhbHVlLnZh
bHVlSUQgPSBDU1NWYWx1ZUxvd2VyTGF0aW47Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6TG93ZXJOb3J3ZWdpYW46Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENT
U1ZhbHVlTG93ZXJOb3J3ZWdpYW47Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6TG93ZXJSb21hbjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVMb3dl
clJvbWFuOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok1hbGF5YWxh
bToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVNYWxheWFsYW07Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TW9uZ29saWFuOgotICAgICAgICBtX3Zh
bHVlLnZhbHVlSUQgPSBDU1NWYWx1ZU1vbmdvbGlhbjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpNeWFubWFyOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NW
YWx1ZU15YW5tYXI7Ci0gICAgICAgIGJyZWFrOworICAgIHN3aXRjaCAoc3R5bGUpIHsKICAgICBj
YXNlIExpc3RTdHlsZVR5cGU6Ok5vbmU6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlTm9uZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPY3RhbDoK
LSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVPY3RhbDsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPcml5YToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlE
ID0gQ1NTVmFsdWVPcml5YTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpPcm9tbzoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVPcm9tbzsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpQZXJzaWFuOgotICAgICAgICBtX3Zh
bHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVBlcnNpYW47Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6U2lkYW1hOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1
ZVNpZGFtYTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTb21hbGk6
Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlU29tYWxpOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlNxdWFyZToKLSAgICAgICAgbV92YWx1ZS52YWx1
ZUlEID0gQ1NTVmFsdWVTcXVhcmU7Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gQ1NT
VmFsdWVOb25lOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3RyaW5nOgogICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnZh
bGlkOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRhbWlsOgotICAg
ICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVRhbWlsOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OlRlbHVndToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0g
Q1NTVmFsdWVUZWx1Z3U7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VGhhaToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVUaGFpOwotICAgICAgICBi
cmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpYmV0YW46Ci0gICAgICAgIG1fdmFsdWUu
dmFsdWVJRCA9IENTU1ZhbHVlVGliZXRhbjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpUaWdyZToKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVUaWdy
ZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUVyOgot
ICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVRpZ3JpbnlhRXI7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFckFiZWdlZGU6Ci0gICAgICAg
IG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlVGlncmlueWFFckFiZWdlZGU7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdDoKLSAgICAgICAgbV92YWx1
ZS52YWx1ZUlEID0gQ1NTVmFsdWVUaWdyaW55YUV0OwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXRBYmVnZWRlOgotICAgICAgICBtX3ZhbHVlLnZhbHVl
SUQgPSBDU1NWYWx1ZVRpZ3JpbnlhRXRBYmVnZWRlOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlVwcGVyQWxwaGE6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENT
U1ZhbHVlVXBwZXJBbHBoYTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpVcHBlckFybWVuaWFuOgotICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVVwcGVy
QXJtZW5pYW47Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJH
cmVlazoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVVcHBlckdyZWVrOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVySGV4YWRlY2ltYWw6Ci0g
ICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlVXBwZXJIZXhhZGVjaW1hbDsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckxhdGluOgotICAgICAgICBt
X3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZVVwcGVyTGF0aW47Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJOb3J3ZWdpYW46Ci0gICAgICAgIG1fdmFsdWUudmFs
dWVJRCA9IENTU1ZhbHVlVXBwZXJOb3J3ZWdpYW47Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6VXBwZXJSb21hbjoKLSAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVVcHBlclJvbWFuOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OlVyZHU6Ci0gICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlVXJkdTsKLSAgICAgICAg
YnJlYWs7CisgICAgICAgIHJldHVybiBDU1NWYWx1ZUludmFsaWQ7CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PENTU1ZhbHVlSUQ+KHN0YXRpY19jYXN0PGludD4oQ1NT
VmFsdWVEaXNjKSArIHN0YXRpY19jYXN0PHVpbnQ4X3Q+KHN0eWxlKSk7CiAgICAgfQogfQogCit0
ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoTGlz
dFN0eWxlVHlwZSBzdHlsZSkKKyAgICA6IENTU1ZhbHVlKFByaW1pdGl2ZUNsYXNzKQoreworICAg
IHNldFByaW1pdGl2ZVVuaXRUeXBlKENTU1VuaXRUeXBlOjpDU1NfVkFMVUVfSUQpOworICAgIG1f
dmFsdWUudmFsdWVJRCA9IHRvQ1NTVmFsdWVJRChzdHlsZSk7Cit9CisKIHRlbXBsYXRlPD4gaW5s
aW5lIENTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBMaXN0U3R5bGVUeXBlKCkgY29uc3QKIHsK
ICAgICBBU1NFUlQoaXNWYWx1ZUlEKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbgppbmRleCAyNTY5OWU2MTFhYzhiMWJhZDgzZTNmM2Q0YTEyOTQ0MTA4OTJkYWVhLi45MGQ3
ZWJlZTZlN2VjN2ZkNjliODE0ZWRmNWYxMjE0NDJlYmI3NzMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVLZXl3b3Jkcy5pbgpAQCAtNDQ2LDYgKzQ0NiwxOCBAQCBoaXJhZ2FuYS1pcm9oYQog
a2F0YWthbmEtaXJvaGEKIGNqay1kZWNpbWFsCiB0YW1pbAorZGlzY2xvc3VyZS1vcGVuCitkaXNj
bG9zdXJlLWNsb3NlZAoramFwYW5lc2UtaW5mb3JtYWwKK2phcGFuZXNlLWZvcm1hbAora29yZWFu
LWhhbmd1bC1mb3JtYWwKK2tvcmVhbi1oYW5qYS1pbmZvcm1hbAora29yZWFuLWhhbmphLWZvcm1h
bAorc2ltcC1jaGluZXNlLWluZm9ybWFsCitzaW1wLWNoaW5lc2UtZm9ybWFsCit0cmFkLWNoaW5l
c2UtaW5mb3JtYWwKK3RyYWQtY2hpbmVzZS1mb3JtYWwKK2V0aGlvcGljLW51bWVyaWMKIC8vbm9u
ZQogLy8KIC8vIENTU19QUk9QX0RJU1BMQVk6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAKaW5kZXggOTg3ZmM1ZDFmNjgw
NTdmZjcxOTk2ZTI0MzQ2YzI4NTkwNjY4NTMzNC4uZWE4OGZmNTgxNWZjMjgxMjg0MTM5ODlmMDUy
MzljNWNjNzhjZWNkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
cm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzLmNwcApAQCAtMzUzMyw3ICszNTMzLDcgQEAgUmVmUHRy
PENTU1ZhbHVlPiBjb25zdW1lSW1hZ2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UsIGNvbnN0
IENTU1BhcnNlckNvbnRleHQKIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1z
dHlsZXMtMy8jcHJlZGVmaW5lZC1jb3VudGVycwogYm9vbCBpc1ByZWRlZmluZWRDb3VudGVyU3R5
bGUoQ1NTVmFsdWVJRCB2YWx1ZUlEKQogewotICAgIHJldHVybiB2YWx1ZUlEID49IENTU1ZhbHVl
RGlzYyAmJiB2YWx1ZUlEIDw9IENTU1ZhbHVlVGFtaWw7CisgICAgcmV0dXJuIHZhbHVlSUQgPj0g
Q1NTVmFsdWVEaXNjICYmIHZhbHVlSUQgPD0gQ1NTVmFsdWVFdGhpb3BpY051bWVyaWM7CiB9CiAK
IC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY291bnRlci1zdHlsZXMtMy8jdHlwZWRlZi1j
b3VudGVyLXN0eWxlLW5hbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0SXRlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEl0
ZW0uY3BwCmluZGV4IDZiNjE5ZjhiNjMzZGY3ZThiZjVkNjgyMmZhZmU3MDJjM2ZmNmJjNTQuLmQ5
OWNkMTYyODc2ODI0ZWI2NTU3ZmJmYjc1MDI4MGVkMGI0YmYyY2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0SXRlbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmNwcApAQCAtMjc2LDIzICsyNzYsMTggQEAgdm9p
ZCBSZW5kZXJMaXN0SXRlbTo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91
dFBvaW50JiBwYWludE9mZnNldCkKICAgICBSZW5kZXJCbG9ja0Zsb3c6OnBhaW50KHBhaW50SW5m
bywgcGFpbnRPZmZzZXQpOwogfQogCi1jb25zdCBTdHJpbmcmIFJlbmRlckxpc3RJdGVtOjptYXJr
ZXJUZXh0KCkgY29uc3QKK1N0cmluZ1ZpZXcgUmVuZGVyTGlzdEl0ZW06Om1hcmtlclRleHRXaXRo
b3V0U3VmZml4KCkgY29uc3QKIHsKLSAgICBpZiAobV9tYXJrZXIpCi0gICAgICAgIHJldHVybiBt
X21hcmtlci0+dGV4dCgpOwotICAgIHJldHVybiBudWxsQXRvbSgpLnN0cmluZygpOworICAgIGlm
ICghbV9tYXJrZXIpCisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIG1fbWFya2VyLT50
ZXh0V2l0aG91dFN1ZmZpeCgpOwogfQogCi1TdHJpbmcgUmVuZGVyTGlzdEl0ZW06Om1hcmtlclRl
eHRXaXRoU3VmZml4KCkgY29uc3QKK1N0cmluZ1ZpZXcgUmVuZGVyTGlzdEl0ZW06Om1hcmtlclRl
eHRXaXRoU3VmZml4KCkgY29uc3QKIHsKICAgICBpZiAoIW1fbWFya2VyKQotICAgICAgICByZXR1
cm4gU3RyaW5nKCk7Ci0KLSAgICAvLyBBcHBlbmQgdGhlIHN1ZmZpeCBmb3IgdGhlIG1hcmtlciBp
biB0aGUgcmlnaHQgcGxhY2UgZGVwZW5kaW5nCi0gICAgLy8gb24gdGhlIGRpcmVjdGlvbiBvZiB0
aGUgdGV4dCAocmlnaHQtdG8tbGVmdCBvciBsZWZ0LXRvLXJpZ2h0KS4KLSAgICBpZiAobV9tYXJr
ZXItPnN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQotICAgICAgICByZXR1cm4gbV9t
YXJrZXItPnRleHQoKSArIG1fbWFya2VyLT5zdWZmaXgoKTsKLSAgICByZXR1cm4gbV9tYXJrZXIt
PnN1ZmZpeCgpICsgbV9tYXJrZXItPnRleHQoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICBy
ZXR1cm4gbV9tYXJrZXItPnRleHRXaXRoU3VmZml4KCk7CiB9CiAKIHZvaWQgUmVuZGVyTGlzdEl0
ZW06OmV4cGxpY2l0VmFsdWVDaGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0SXRlbS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RJdGVtLmgKaW5kZXggODRjMjJhMDE4MmM0MmIyMGY5YzhlYjg1YTIxNjExZjY2YmRkMzg5
ZC4uMTFmODVjMzg4MGUzM2UxMWY3ZjcyYmUwMTYzZTgwZGYyYjY4OTQ1OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RJdGVtLmgKQEAgLTQ2LDggKzQ2LDggQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0Tm90SW5MaXN0KGJvb2wgbm90SW5MaXN0KSB7IG1fbm90SW5MaXN0ID0g
bm90SW5MaXN0OyB9CiAgICAgYm9vbCBub3RJbkxpc3QoKSBjb25zdCB7IHJldHVybiBtX25vdElu
TGlzdDsgfQogCi0gICAgV0VCQ09SRV9FWFBPUlQgY29uc3QgU3RyaW5nJiBtYXJrZXJUZXh0KCkg
Y29uc3Q7Ci0gICAgU3RyaW5nIG1hcmtlclRleHRXaXRoU3VmZml4KCkgY29uc3Q7CisgICAgV0VC
Q09SRV9FWFBPUlQgU3RyaW5nVmlldyBtYXJrZXJUZXh0V2l0aG91dFN1ZmZpeCgpIGNvbnN0Owor
ICAgIFN0cmluZ1ZpZXcgbWFya2VyVGV4dFdpdGhTdWZmaXgoKSBjb25zdDsKIAogICAgIHZvaWQg
dXBkYXRlTGlzdE1hcmtlck51bWJlcnMoKTsKIApAQCAtNjIsNyArNjIsNiBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc0luUmV2ZXJzZWRPcmRlcmVkTGlzdCgpIGNvbnN0OwogCiBwcml2YXRlOgotCiAg
ICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJSZW5kZXJM
aXN0SXRlbSI7IH0KIAogICAgIGJvb2wgaXNMaXN0SXRlbSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
TWFya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNw
cAppbmRleCA2ZGNkZTMzNDllM2VlOTEwMmM1YWI4MzI5NzhkN2VhZWZmY2FhNjQxLi4xYjBiZDZk
NmNkZTZkMDFkYTQ4YjQwMTBlMGVhZDliN2ZiMzg3ZjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCkBAIC00MSw1MyArNDEsMjEgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi11c2luZyBuYW1lc3BhY2UgV1RGOjpVbmljb2RlOworLy8gQXMg
b2YgSnVuZSAyMDIxLCB0aGUgTWljcm9zb2Z0IEMrKyBjb21waWxlciBzZWVtcyB1bmFibGUgdG8g
aW5jbHVkZSBzdGQ6OmluaXRpYWxpemVyX2xpc3QgaW4gYSBjb25zdGV4cHIuCisjaWYgQ09NUElM
RVIoTVNWQykKKyNkZWZpbmUgQ09OU1RFWFBSX1dJVEhfTVNWQ19JTklUSUFMSVpFUl9MSVNUX1dP
UktBUk9VTkQgY29uc3QKKyNlbHNlCisjZGVmaW5lIENPTlNURVhQUl9XSVRIX01TVkNfSU5JVElB
TElaRVJfTElTVF9XT1JLQVJPVU5EIGNvbnN0ZXhwcgorI2VuZGlmCiAKIFdURl9NQUtFX0lTT19B
TExPQ0FURURfSU1QTChSZW5kZXJMaXN0TWFya2VyKTsKIAogY29uc3RleHByIGludCBjTWFya2Vy
UGFkZGluZyA9IDc7CiAKLWVudW0gY2xhc3MgTGV0dGVyQ2FzZSB7IExvd2VyLCBVcHBlciB9Owot
ZW51bSBjbGFzcyBTZXF1ZW5jZVR5cGUgeyBOdW1lcmljLCBBbHBoYWJldGljIH07CitlbnVtIGNs
YXNzIFNlcXVlbmNlVHlwZSA6IGJvb2wgeyBOdW1lcmljLCBBbHBoYWJldGljIH07CitlbnVtIGNs
YXNzIEZvcm1hbGl0eSA6IGJvb2wgeyBJbmZvcm1hbCwgRm9ybWFsIH07CiAKLXN0YXRpYyBORVZF
Ul9JTkxJTkUgU3RyaW5nIHRvUm9tYW4oaW50IG51bWJlciwgTGV0dGVyQ2FzZSBsZXR0ZXJDYXNl
KQotewotICAgIC8vIEZJWE1FOiBDU1MzIGRlc2NyaWJlcyBob3cgdG8gbWFrZSB0aGlzIHdvcmsg
Zm9yIG11Y2ggbGFyZ2VyIG51bWJlcnMsCi0gICAgLy8gdXNpbmcgb3ZlcmJhcnMgYW5kIHNwZWNp
YWwgY2hhcmFjdGVycy4gSXQgYWxzbyBzcGVjaWZpZXMgdGhlIGNoYXJhY3RlcnMKLSAgICAvLyBp
biB0aGUgcmFuZ2UgVSsyMTYwIHRvIFUrMjE3RiBpbnN0ZWFkIG9mIHN0YW5kYXJkIEFTQ0lJIG9u
ZXMuCi0gICAgQVNTRVJUKG51bWJlciA+PSAxICYmIG51bWJlciA8PSAzOTk5KTsKLQotICAgIC8v
IEJpZyBlbm91Z2ggdG8gc3RvcmUgbGFyZ2VzdCByb21hbiBudW1iZXIgbGVzcyB0aGFuIDM5OTkg
d2hpY2gKLSAgICAvLyBpcyAzODg4IChNTU1EQ0NDTFhYWFZJSUkpCi0gICAgY29uc3RleHByIHVu
c2lnbmVkIGxldHRlcnNTaXplID0gMTU7Ci0gICAgTENoYXIgbGV0dGVyc1tsZXR0ZXJzU2l6ZV07
Ci0KLSAgICB1bnNpZ25lZCBsZW5ndGggPSAwOwotICAgIGNvbnN0ZXhwciBMQ2hhciBsZGlnaXRz
W10gPSB7ICdpJywgJ3YnLCAneCcsICdsJywgJ2MnLCAnZCcsICdtJyB9OwotICAgIGNvbnN0ZXhw
ciBMQ2hhciB1ZGlnaXRzW10gPSB7ICdJJywgJ1YnLCAnWCcsICdMJywgJ0MnLCAnRCcsICdNJyB9
OwotICAgIGNvbnN0IExDaGFyKiBkaWdpdHMgPSBsZXR0ZXJDYXNlID09IExldHRlckNhc2U6OlVw
cGVyID8gdWRpZ2l0cyA6IGxkaWdpdHM7Ci0gICAgaW50IGQgPSAwOwotICAgIGRvIHsKLSAgICAg
ICAgaW50IG51bSA9IG51bWJlciAlIDEwOwotICAgICAgICBpZiAobnVtICUgNSA8IDQpCi0gICAg
ICAgICAgICBmb3IgKGludCBpID0gbnVtICUgNTsgaSA+IDA7IGktLSkKLSAgICAgICAgICAgICAg
ICBsZXR0ZXJzW2xldHRlcnNTaXplIC0gKytsZW5ndGhdID0gZGlnaXRzW2RdOwotICAgICAgICBp
ZiAobnVtID49IDQgJiYgbnVtIDw9IDgpCi0gICAgICAgICAgICBsZXR0ZXJzW2xldHRlcnNTaXpl
IC0gKytsZW5ndGhdID0gZGlnaXRzW2QgKyAxXTsKLSAgICAgICAgaWYgKG51bSA9PSA5KQotICAg
ICAgICAgICAgbGV0dGVyc1tsZXR0ZXJzU2l6ZSAtICsrbGVuZ3RoXSA9IGRpZ2l0c1tkICsgMl07
Ci0gICAgICAgIGlmIChudW0gJSA1ID09IDQpCi0gICAgICAgICAgICBsZXR0ZXJzW2xldHRlcnNT
aXplIC0gKytsZW5ndGhdID0gZGlnaXRzW2RdOwotICAgICAgICBudW1iZXIgLz0gMTA7Ci0gICAg
ICAgIGQgKz0gMjsKLSAgICB9IHdoaWxlIChudW1iZXIpOwotCi0gICAgQVNTRVJUKGxlbmd0aCA8
PSBsZXR0ZXJzU2l6ZSk7Ci0gICAgcmV0dXJuIHsgJmxldHRlcnNbbGV0dGVyc1NpemUgLSBsZW5n
dGhdLCBsZW5ndGggfTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KLXN0
YXRpYyBpbmxpbmUgU3RyaW5nIHRvQWxwaGFiZXRpY09yTnVtZXJpYyhpbnQgbnVtYmVyLCBjb25z
dCBDaGFyYWN0ZXJUeXBlKiBzZXF1ZW5jZSwgdW5zaWduZWQgc2VxdWVuY2VTaXplLCBTZXF1ZW5j
ZVR5cGUgdHlwZSkKK3RlbXBsYXRlPFNlcXVlbmNlVHlwZSB0eXBlLCB0eXBlbmFtZSBDaGFyYWN0
ZXJUeXBlPiBzdGF0aWMgU3RyaW5nIHRvQWxwaGFiZXRpY09yTnVtZXJpYyhpbnQgbnVtYmVyLCBj
b25zdCBDaGFyYWN0ZXJUeXBlKiBzZXF1ZW5jZSwgdW5zaWduZWQgc2VxdWVuY2VTaXplKQogewog
ICAgIEFTU0VSVChzZXF1ZW5jZVNpemUgPj0gMik7CiAKQEAgLTk4LDcgKzY2LDcgQEAgc3RhdGlj
IGlubGluZSBTdHJpbmcgdG9BbHBoYWJldGljT3JOdW1lcmljKGludCBudW1iZXIsIGNvbnN0IENo
YXJhY3RlclR5cGUqIHNlcXUKIAogICAgIGJvb2wgaXNOZWdhdGl2ZU51bWJlciA9IGZhbHNlOwog
ICAgIHVuc2lnbmVkIG51bWJlclNoYWRvdyA9IG51bWJlcjsKLSAgICBpZiAodHlwZSA9PSBTZXF1
ZW5jZVR5cGU6OkFscGhhYmV0aWMpIHsKKyAgICBpZiBjb25zdGV4cHIgKHR5cGUgPT0gU2VxdWVu
Y2VUeXBlOjpBbHBoYWJldGljKSB7CiAgICAgICAgIEFTU0VSVChudW1iZXIgPiAwKTsKICAgICAg
ICAgLS1udW1iZXJTaGFkb3c7CiAgICAgfSBlbHNlIGlmIChudW1iZXIgPCAwKSB7CkBAIC0xMDgs
NyArNzYsNyBAQCBzdGF0aWMgaW5saW5lIFN0cmluZyB0b0FscGhhYmV0aWNPck51bWVyaWMoaW50
IG51bWJlciwgY29uc3QgQ2hhcmFjdGVyVHlwZSogc2VxdQogICAgIGxldHRlcnNbbGV0dGVyc1Np
emUgLSAxXSA9IHNlcXVlbmNlW251bWJlclNoYWRvdyAlIHNlcXVlbmNlU2l6ZV07CiAgICAgdW5z
aWduZWQgbGVuZ3RoID0gMTsKIAotICAgIGlmICh0eXBlID09IFNlcXVlbmNlVHlwZTo6QWxwaGFi
ZXRpYykgeworICAgIGlmIGNvbnN0ZXhwciAodHlwZSA9PSBTZXF1ZW5jZVR5cGU6OkFscGhhYmV0
aWMpIHsKICAgICAgICAgd2hpbGUgKChudW1iZXJTaGFkb3cgLz0gc2VxdWVuY2VTaXplKSA+IDAp
IHsKICAgICAgICAgICAgIC0tbnVtYmVyU2hhZG93OwogICAgICAgICAgICAgbGV0dGVyc1tsZXR0
ZXJzU2l6ZSAtICsrbGVuZ3RoXSA9IHNlcXVlbmNlW251bWJlclNoYWRvdyAlIHNlcXVlbmNlU2l6
ZV07CkBAIC0xMjQsMTQgKzkyLDEzIEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5nIHRvQWxwaGFiZXRp
Y09yTnVtZXJpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKiBzZXF1CiAgICAgcmV0
dXJuIHsgJmxldHRlcnNbbGV0dGVyc1NpemUgLSBsZW5ndGhdLCBsZW5ndGggfTsKIH0KIAotdGVt
cGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KLXN0YXRpYyBORVZFUl9JTkxJTkUgU3RyaW5n
IHRvU3ltYm9saWMoaW50IG51bWJlciwgY29uc3QgQ2hhcmFjdGVyVHlwZSogc3ltYm9scywgdW5z
aWduZWQgc3ltYm9sc1NpemUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPiBzdGF0
aWMgU3RyaW5nIHRvU3ltYm9saWMoaW50IG51bWJlciwgY29uc3QgQ2hhcmFjdGVyVHlwZSogc3lt
Ym9scywgdW5zaWduZWQgc3ltYm9sc1NpemUpCiB7CiAgICAgQVNTRVJUKG51bWJlciA+IDApOwog
ICAgIEFTU0VSVChzeW1ib2xzU2l6ZSA+PSAxKTsKIAogICAgIC8vIFRoZSBhc3Rlcmlza3MgbGlz
dC1zdHlsZS10eXBlIGlzIHRoZSB3b3JzdCBjYXNlOyB3ZSBzaG93IHxudW1iZXJ8IGFzdGVyaXNr
cy4KLSAgICBDaGFyYWN0ZXJUeXBlIHN5bWJvbCA9IHN5bWJvbHNbKG51bWJlciAtIDEpICUgc3lt
Ym9sc1NpemVdOworICAgIGF1dG8gc3ltYm9sID0gc3ltYm9sc1sobnVtYmVyIC0gMSkgJSBzeW1i
b2xzU2l6ZV07CiAgICAgdW5zaWduZWQgY291bnQgPSAobnVtYmVyIC0gMSkgLyBzeW1ib2xzU2l6
ZSArIDE7CiAKICAgICBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzOwpAQCAtMTQxLDI0NiArMTA4
LDkwIEBAIHN0YXRpYyBORVZFUl9JTkxJTkUgU3RyaW5nIHRvU3ltYm9saWMoaW50IG51bWJlciwg
Y29uc3QgQ2hhcmFjdGVyVHlwZSogc3ltYm9scywKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi10
ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgotc3RhdGljIE5FVkVSX0lOTElORSBTdHJp
bmcgdG9BbHBoYWJldGljKGludCBudW1iZXIsIGNvbnN0IENoYXJhY3RlclR5cGUqIGFscGhhYmV0
LCB1bnNpZ25lZCBhbHBoYWJldFNpemUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
PiBzdGF0aWMgU3RyaW5nIHRvQWxwaGFiZXRpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJU
eXBlKiBhbHBoYWJldCwgdW5zaWduZWQgYWxwaGFiZXRTaXplKQogewotICAgIHJldHVybiB0b0Fs
cGhhYmV0aWNPck51bWVyaWMobnVtYmVyLCBhbHBoYWJldCwgYWxwaGFiZXRTaXplLCBTZXF1ZW5j
ZVR5cGU6OkFscGhhYmV0aWMpOworICAgIHJldHVybiB0b0FscGhhYmV0aWNPck51bWVyaWM8U2Vx
dWVuY2VUeXBlOjpBbHBoYWJldGljPihudW1iZXIsIGFscGhhYmV0LCBhbHBoYWJldFNpemUpOwog
fQogCi10ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgotc3RhdGljIE5FVkVSX0lOTElO
RSBTdHJpbmcgdG9OdW1lcmljKGludCBudW1iZXIsIGNvbnN0IENoYXJhY3RlclR5cGUqIG51bWVy
YWxzLCB1bnNpZ25lZCBudW1lcmFsc1NpemUpCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJU
eXBlPiBzdGF0aWMgU3RyaW5nIHRvTnVtZXJpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJU
eXBlKiBudW1lcmFscywgdW5zaWduZWQgbnVtZXJhbHNTaXplKQogewotICAgIHJldHVybiB0b0Fs
cGhhYmV0aWNPck51bWVyaWMobnVtYmVyLCBudW1lcmFscywgbnVtZXJhbHNTaXplLCBTZXF1ZW5j
ZVR5cGU6Ok51bWVyaWMpOworICAgIHJldHVybiB0b0FscGhhYmV0aWNPck51bWVyaWM8U2VxdWVu
Y2VUeXBlOjpOdW1lcmljPihudW1iZXIsIG51bWVyYWxzLCBudW1lcmFsc1NpemUpOwogfQogCi10
ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlLCBzaXplX3Qgc2l6ZT4KLXN0YXRpYyBpbmxp
bmUgU3RyaW5nIHRvQWxwaGFiZXRpYyhpbnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKCZh
bHBoYWJldClbc2l6ZV0pCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlLCBzaXplX3Qg
c2l6ZT4gc3RhdGljIFN0cmluZyB0b0FscGhhYmV0aWMoaW50IG51bWJlciwgY29uc3QgQ2hhcmFj
dGVyVHlwZSgmYWxwaGFiZXQpW3NpemVdKQogewogICAgIHJldHVybiB0b0FscGhhYmV0aWMobnVt
YmVyLCBhbHBoYWJldCwgc2l6ZSk7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5
cGUsIHNpemVfdCBzaXplPgotc3RhdGljIGlubGluZSBTdHJpbmcgdG9OdW1lcmljKGludCBudW1i
ZXIsIGNvbnN0IENoYXJhY3RlclR5cGUoJmFscGhhYmV0KVtzaXplXSkKK3RlbXBsYXRlPHR5cGVu
YW1lIENoYXJhY3RlclR5cGUsIHNpemVfdCBzaXplPiBzdGF0aWMgU3RyaW5nIHRvTnVtZXJpYyhp
bnQgbnVtYmVyLCBjb25zdCBDaGFyYWN0ZXJUeXBlKCZhbHBoYWJldClbc2l6ZV0pCiB7CiAgICAg
cmV0dXJuIHRvTnVtZXJpYyhudW1iZXIsIGFscGhhYmV0LCBzaXplKTsKIH0KIAotdGVtcGxhdGU8
dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZSwgc2l6ZV90IHNpemU+Ci1zdGF0aWMgaW5saW5lIFN0cmlu
ZyB0b1N5bWJvbGljKGludCBudW1iZXIsIGNvbnN0IENoYXJhY3RlclR5cGUoJmFscGhhYmV0KVtz
aXplXSkKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGUsIHNpemVfdCBzaXplPiBzdGF0
aWMgU3RyaW5nIHRvU3ltYm9saWMoaW50IG51bWJlciwgY29uc3QgQ2hhcmFjdGVyVHlwZSgmYWxw
aGFiZXQpW3NpemVdKQogeyAgICAKICAgICByZXR1cm4gdG9TeW1ib2xpYyhudW1iZXIsIGFscGhh
YmV0LCBzaXplKTsKIH0KIAotc3RhdGljIE5FVkVSX0lOTElORSBpbnQgdG9IZWJyZXdVbmRlcjEw
MDAoaW50IG51bWJlciwgVUNoYXIgbGV0dGVyc1s1XSkKLXsKLSAgICAvLyBGSVhNRTogQ1NTMyBt
ZW50aW9ucyB2YXJpb3VzIHJlZmluZW1lbnRzIG5vdCBpbXBsZW1lbnRlZCBoZXJlLgotICAgIC8v
IEZJWE1FOiBTaG91bGQgdGFrZSBhIGxvb2sgYXQgTW96aWxsYSdzIEhlYnJld1RvVGV4dCBmdW5j
dGlvbiAoaW4gbnNCdWxsZXRGcmFtZSkuCi0gICAgQVNTRVJUKG51bWJlciA+PSAwICYmIG51bWJl
ciA8IDEwMDApOwotICAgIGludCBsZW5ndGggPSAwOwotICAgIGludCBmb3VySHVuZHJlZHMgPSBu
dW1iZXIgLyA0MDA7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBmb3VySHVuZHJlZHM7IGkrKykK
LSAgICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSAxNTExICsgMzsKLSAgICBudW1iZXIgJT0gNDAw
OwotICAgIGlmIChudW1iZXIgLyAxMDApCi0gICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gMTUx
MSArIChudW1iZXIgLyAxMDApIC0gMTsKLSAgICBudW1iZXIgJT0gMTAwOwotICAgIGlmIChudW1i
ZXIgPT0gMTUgfHwgbnVtYmVyID09IDE2KSB7Ci0gICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0g
MTQ4NyArIDk7Ci0gICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gMTQ4NyArIG51bWJlciAtIDk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGludCB0ZW5zID0gbnVtYmVyIC8gMTApIHsKLSAg
ICAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgaGVicmV3VGVuc1s5XSA9IHsgMTQ5Nywg
MTQ5OSwgMTUwMCwgMTUwMiwgMTUwNCwgMTUwNSwgMTUwNiwgMTUwOCwgMTUxMCB9OwotICAgICAg
ICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSBoZWJyZXdUZW5zW3RlbnMgLSAxXTsKLSAgICAgICAg
fQotICAgICAgICBpZiAoaW50IG9uZXMgPSBudW1iZXIgJSAxMCkKLSAgICAgICAgICAgIGxldHRl
cnNbbGVuZ3RoKytdID0gMTQ4NyArIG9uZXM7Ci0gICAgfQotICAgIEFTU0VSVChsZW5ndGggPD0g
NSk7Ci0gICAgcmV0dXJuIGxlbmd0aDsKLX0KLQotc3RhdGljIE5FVkVSX0lOTElORSBTdHJpbmcg
dG9IZWJyZXcoaW50IG51bWJlcikKLXsKLSAgICAvLyBGSVhNRTogQ1NTMyBtZW50aW9ucyB3YXlz
IHRvIG1ha2UgdGhpcyB3b3JrIGZvciBtdWNoIGxhcmdlciBudW1iZXJzLgotICAgIEFTU0VSVChu
dW1iZXIgPj0gMCAmJiBudW1iZXIgPD0gOTk5OTk5KTsKLQotICAgIGlmIChudW1iZXIgPT0gMCkg
ewotICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGhlYnJld1plcm9bM10gPSB7IDB4MDVE
MCwgMHgwNUU0LCAweDA1RTEgfTsKLSAgICAgICAgcmV0dXJuIHsgaGVicmV3WmVybywgMyB9Owot
ICAgIH0KLQotICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBsZXR0ZXJzU2l6ZSA9IDExOyAvLyBiaWcg
ZW5vdWdoIGZvciB0d28gNS1kaWdpdCBzZXF1ZW5jZXMgcGx1cyBhIHF1b3RlIG1hcmsgYmV0d2Vl
bgotICAgIFVDaGFyIGxldHRlcnNbbGV0dGVyc1NpemVdOwotCi0gICAgdW5zaWduZWQgbGVuZ3Ro
OwotICAgIGlmIChudW1iZXIgPCAxMDAwKQotICAgICAgICBsZW5ndGggPSAwOwotICAgIGVsc2Ug
ewotICAgICAgICBsZW5ndGggPSB0b0hlYnJld1VuZGVyMTAwMChudW1iZXIgLyAxMDAwLCBsZXR0
ZXJzKTsKLSAgICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSAnXCcnOwotICAgICAgICBudW1iZXIg
PSBudW1iZXIgJSAxMDAwOwotICAgIH0KLSAgICBsZW5ndGggKz0gdG9IZWJyZXdVbmRlcjEwMDAo
bnVtYmVyLCBsZXR0ZXJzICsgbGVuZ3RoKTsKLQotICAgIEFTU0VSVChsZW5ndGggPD0gbGV0dGVy
c1NpemUpOwotICAgIHJldHVybiB7IGxldHRlcnMsIGxlbmd0aCB9OwotfQotCi1zdGF0aWMgTkVW
RVJfSU5MSU5FIHVuc2lnbmVkIHRvQXJtZW5pYW5VbmRlcjEwMDAwKGludCBudW1iZXIsIExldHRl
ckNhc2UgbGV0dGVyQ2FzZSwgYm9vbCBhZGRDaXJjdW1mbGV4LCBVQ2hhciBsZXR0ZXJzWzldKQot
ewotICAgIEFTU0VSVChudW1iZXIgPj0gMCAmJiBudW1iZXIgPCAxMDAwMCk7Ci0gICAgdW5zaWdu
ZWQgbGVuZ3RoID0gMDsKLQotICAgIGludCBsb3dlck9mZnNldCA9IGxldHRlckNhc2UgPT0gTGV0
dGVyQ2FzZTo6VXBwZXIgPyAwIDogMHgwMDMwOwotCi0gICAgaWYgKGludCB0aG91c2FuZHMgPSBu
dW1iZXIgLyAxMDAwKSB7Ci0gICAgICAgIGlmICh0aG91c2FuZHMgPT0gNykgewotICAgICAgICAg
ICAgbGV0dGVyc1tsZW5ndGgrK10gPSAweDA1NTIgKyBsb3dlck9mZnNldDsKLSAgICAgICAgICAg
IGlmIChhZGRDaXJjdW1mbGV4KQotICAgICAgICAgICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0g
MHgwMzAyOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbGV0dGVyc1tsZW5ndGgrK10g
PSAoMHgwNTRDIC0gMSArIGxvd2VyT2Zmc2V0KSArIHRob3VzYW5kczsKLSAgICAgICAgICAgIGlm
IChhZGRDaXJjdW1mbGV4KQotICAgICAgICAgICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gMHgw
MzAyOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGludCBodW5kcmVkcyA9IChudW1iZXIg
LyAxMDApICUgMTApIHsKLSAgICAgICAgbGV0dGVyc1tsZW5ndGgrK10gPSAoMHgwNTQzIC0gMSAr
IGxvd2VyT2Zmc2V0KSArIGh1bmRyZWRzOwotICAgICAgICBpZiAoYWRkQ2lyY3VtZmxleCkKLSAg
ICAgICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gMHgwMzAyOwotICAgIH0KLQotICAgIGlmIChp
bnQgdGVucyA9IChudW1iZXIgLyAxMCkgJSAxMCkgewotICAgICAgICBsZXR0ZXJzW2xlbmd0aCsr
XSA9ICgweDA1M0EgLSAxICsgbG93ZXJPZmZzZXQpICsgdGVuczsKLSAgICAgICAgaWYgKGFkZENp
cmN1bWZsZXgpCi0gICAgICAgICAgICBsZXR0ZXJzW2xlbmd0aCsrXSA9IDB4MDMwMjsKLSAgICB9
Ci0KLSAgICBpZiAoaW50IG9uZXMgPSBudW1iZXIgJSAxMCkgewotICAgICAgICBsZXR0ZXJzW2xl
bmd0aCsrXSA9ICgweDUzMSAtIDEgKyBsb3dlck9mZnNldCkgKyBvbmVzOwotICAgICAgICBpZiAo
YWRkQ2lyY3VtZmxleCkKLSAgICAgICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gMHgwMzAyOwot
ICAgIH0KLQotICAgIHJldHVybiBsZW5ndGg7Ci19Ci0KLXN0YXRpYyBORVZFUl9JTkxJTkUgU3Ry
aW5nIHRvQXJtZW5pYW4oaW50IG51bWJlciwgTGV0dGVyQ2FzZSBsZXR0ZXJDYXNlKQotewotICAg
IEFTU0VSVChudW1iZXIgPj0gMSAmJiBudW1iZXIgPD0gOTk5OTk5OTkpOwotCi0gICAgY29uc3Rl
eHByIHVuc2lnbmVkIGxldHRlcnNTaXplID0gMTg7IC8vIHR3aWNlIHdoYXQgdG9Bcm1lbmlhblVu
ZGVyMTAwMDAgbmVlZHMKLSAgICBVQ2hhciBsZXR0ZXJzW2xldHRlcnNTaXplXTsKLQotICAgIHVu
c2lnbmVkIGxlbmd0aCA9IHRvQXJtZW5pYW5VbmRlcjEwMDAwKG51bWJlciAvIDEwMDAwLCBsZXR0
ZXJDYXNlLCB0cnVlLCBsZXR0ZXJzKTsKLSAgICBsZW5ndGggKz0gdG9Bcm1lbmlhblVuZGVyMTAw
MDAobnVtYmVyICUgMTAwMDAsIGxldHRlckNhc2UsIGZhbHNlLCBsZXR0ZXJzICsgbGVuZ3RoKTsK
LQotICAgIEFTU0VSVChsZW5ndGggPD0gbGV0dGVyc1NpemUpOwotICAgIHJldHVybiB7IGxldHRl
cnMsIGxlbmd0aCB9OwotfQotCi1zdGF0aWMgTkVWRVJfSU5MSU5FIFN0cmluZyB0b0dlb3JnaWFu
KGludCBudW1iZXIpCi17Ci0gICAgQVNTRVJUKG51bWJlciA+PSAxICYmIG51bWJlciA8PSAxOTk5
OSk7Ci0KLSAgICBjb25zdGV4cHIgdW5zaWduZWQgbGV0dGVyc1NpemUgPSA1OwotICAgIFVDaGFy
IGxldHRlcnNbbGV0dGVyc1NpemVdOwotCi0gICAgdW5zaWduZWQgbGVuZ3RoID0gMDsKLQotICAg
IGlmIChudW1iZXIgPiA5OTk5KQotICAgICAgICBsZXR0ZXJzW2xlbmd0aCsrXSA9IDB4MTBGNTsK
LQotICAgIGlmIChpbnQgdGhvdXNhbmRzID0gKG51bWJlciAvIDEwMDApICUgMTApIHsKLSAgICAg
ICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBnZW9yZ2lhblRob3VzYW5kc1s5XSA9IHsKLSAgICAg
ICAgICAgIDB4MTBFOSwgMHgxMEVBLCAweDEwRUIsIDB4MTBFQywgMHgxMEVELCAweDEwRUUsIDB4
MTBGNCwgMHgxMEVGLCAweDEwRjAKLSAgICAgICAgfTsKLSAgICAgICAgbGV0dGVyc1tsZW5ndGgr
K10gPSBnZW9yZ2lhblRob3VzYW5kc1t0aG91c2FuZHMgLSAxXTsKLSAgICB9Ci0KLSAgICBpZiAo
aW50IGh1bmRyZWRzID0gKG51bWJlciAvIDEwMCkgJSAxMCkgewotICAgICAgICBzdGF0aWMgY29u
c3RleHByIFVDaGFyIGdlb3JnaWFuSHVuZHJlZHNbOV0gPSB7Ci0gICAgICAgICAgICAweDEwRTAs
IDB4MTBFMSwgMHgxMEUyLCAweDEwRjMsIDB4MTBFNCwgMHgxMEU1LCAweDEwRTYsIDB4MTBFNywg
MHgxMEU4Ci0gICAgICAgIH07Ci0gICAgICAgIGxldHRlcnNbbGVuZ3RoKytdID0gZ2VvcmdpYW5I
dW5kcmVkc1todW5kcmVkcyAtIDFdOwotICAgIH0KLQotICAgIGlmIChpbnQgdGVucyA9IChudW1i
ZXIgLyAxMCkgJSAxMCkgewotICAgICAgICBzdGF0aWMgY29uc3RleHByIFVDaGFyIGdlb3JnaWFu
VGVuc1s5XSA9IHsKLSAgICAgICAgICAgIDB4MTBEOCwgMHgxMEQ5LCAweDEwREEsIDB4MTBEQiwg
MHgxMERDLCAweDEwRjIsIDB4MTBERCwgMHgxMERFLCAweDEwREYKLSAgICAgICAgfTsKLSAgICAg
ICAgbGV0dGVyc1tsZW5ndGgrK10gPSBnZW9yZ2lhblRlbnNbdGVucyAtIDFdOwotICAgIH0KLQot
ICAgIGlmIChpbnQgb25lcyA9IG51bWJlciAlIDEwKSB7Ci0gICAgICAgIHN0YXRpYyBjb25zdGV4
cHIgVUNoYXIgZ2VvcmdpYW5PbmVzWzldID0gewotICAgICAgICAgICAgMHgxMEQwLCAweDEwRDEs
IDB4MTBEMiwgMHgxMEQzLCAweDEwRDQsIDB4MTBENSwgMHgxMEQ2LCAweDEwRjEsIDB4MTBENwot
ICAgICAgICB9OwotICAgICAgICBsZXR0ZXJzW2xlbmd0aCsrXSA9IGdlb3JnaWFuT25lc1tvbmVz
IC0gMV07Ci0gICAgfQotCi0gICAgQVNTRVJUKGxlbmd0aCA8PSBsZXR0ZXJzU2l6ZSk7Ci0gICAg
cmV0dXJuIHsgbGV0dGVycywgbGVuZ3RoIH07Ci19Ci0KLS8vIFRoZSB0YWJsZSB1c2VzIHRoZSBv
cmRlciBmcm9tIHRoZSBDU1MzIHNwZWNpZmljYXRpb246Ci0vLyBmaXJzdCAzIGdyb3VwIG1hcmtl
cnMsIHRoZW4gMyBkaWdpdCBtYXJrZXJzLCB0aGVuIHRlbiBkaWdpdHMuCi1zdGF0aWMgTkVWRVJf
SU5MSU5FIFN0cmluZyB0b0NKS0lkZW9ncmFwaGljKGludCBudW1iZXIsIGNvbnN0IFVDaGFyIHRh
YmxlWzE2XSkKKy8vIFRoaXMgdGFibGUgZm9ybWF0IHdhcyBkZXJpdmVkIGZyb20gYW4gb2xkIGRy
YWZ0IG9mIHRoZSBDU1Mgc3BlY2lmaWNhdGlvbjogMyBncm91cCBtYXJrZXJzLCAzIGRpZ2l0IG1h
cmtlcnMsIDEwIGRpZ2l0cywgbmVnYXRpdmUgc2lnbi4KK3N0YXRpYyBTdHJpbmcgdG9DSktJZGVv
Z3JhcGhpYyhpbnQgbnVtYmVyLCBjb25zdCBVQ2hhciB0YWJsZVsxN10sIEZvcm1hbGl0eSBmb3Jt
YWxpdHkpCiB7Ci0gICAgQVNTRVJUKG51bWJlciA+PSAwKTsKLQotICAgIGVudW0gQWJzdHJhY3RD
SktDaGFyIHsKLSAgICAgICAgbm9DaGFyLAotICAgICAgICBzZWNvbmRHcm91cE1hcmtlciwgdGhp
cmRHcm91cE1hcmtlciwgZm91cnRoR3JvdXBNYXJrZXIsCi0gICAgICAgIHNlY29uZERpZ2l0TWFy
a2VyLCB0aGlyZERpZ2l0TWFya2VyLCBmb3VydGhEaWdpdE1hcmtlciwKLSAgICAgICAgZGlnaXQw
LCBkaWdpdDEsIGRpZ2l0MiwgZGlnaXQzLCBkaWdpdDQsCi0gICAgICAgIGRpZ2l0NSwgZGlnaXQ2
LCBkaWdpdDcsIGRpZ2l0OCwgZGlnaXQ5CisgICAgZW51bSBBYnN0cmFjdENKS0NoYXJhY3RlciB7
CisgICAgICAgIE5vQ2hhciwKKyAgICAgICAgU2Vjb25kR3JvdXBNYXJrZXIsIFRoaXJkR3JvdXBN
YXJrZXIsIEZvdXJ0aEdyb3VwTWFya2VyLAorICAgICAgICBTZWNvbmREaWdpdE1hcmtlciwgVGhp
cmREaWdpdE1hcmtlciwgRm91cnRoRGlnaXRNYXJrZXIsCisgICAgICAgIERpZ2l0MCwgRGlnaXQx
LCBEaWdpdDIsIERpZ2l0MywgRGlnaXQ0LAorICAgICAgICBEaWdpdDUsIERpZ2l0NiwgRGlnaXQ3
LCBEaWdpdDgsIERpZ2l0OSwKKyAgICAgICAgTmVnYXRpdmVTaWduCiAgICAgfTsKIAogICAgIGlm
ICghbnVtYmVyKQotICAgICAgICByZXR1cm4geyAmdGFibGVbZGlnaXQwIC0gMV0gLCAxIH07Cisg
ICAgICAgIHJldHVybiB7ICZ0YWJsZVtEaWdpdDAgLSAxXSAsIDEgfTsKKworICAgIEFTU0VSVChu
dW1iZXIgIT0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKSk7CisgICAgYm9vbCBuZWVk
c05lZ2F0aXZlU2lnbiA9IG51bWJlciA8IDA7CisgICAgaWYgKG5lZWRzTmVnYXRpdmVTaWduKQor
ICAgICAgICBudW1iZXIgPSAtbnVtYmVyOwogCiAgICAgY29uc3RleHByIHVuc2lnbmVkIGdyb3Vw
TGVuZ3RoID0gODsgLy8gNCBkaWdpdHMsIDMgZGlnaXQgbWFya2VycywgYW5kIGEgZ3JvdXAgbWFy
a2VyCiAgICAgY29uc3RleHByIHVuc2lnbmVkIGJ1ZmZlckxlbmd0aCA9IDQgKiBncm91cExlbmd0
aDsKLSAgICBBYnN0cmFjdENKS0NoYXIgYnVmZmVyW2J1ZmZlckxlbmd0aF0gPSB7IG5vQ2hhciB9
OworICAgIEFic3RyYWN0Q0pLQ2hhcmFjdGVyIGJ1ZmZlcltidWZmZXJMZW5ndGhdID0geyBOb0No
YXIgfTsKIAogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNDsgKytpKSB7CiAgICAgICAgIGludCBn
cm91cFZhbHVlID0gbnVtYmVyICUgMTAwMDA7CiAgICAgICAgIG51bWJlciAvPSAxMDAwMDsKIAog
ICAgICAgICAvLyBQcm9jZXNzIGxlYXN0LXNpZ25pZmljYW50IGdyb3VwIGZpcnN0LCBidXQgcHV0
IGl0IGluIHRoZSBidWZmZXIgbGFzdC4KLSAgICAgICAgQWJzdHJhY3RDSktDaGFyKiBncm91cCA9
ICZidWZmZXJbKDMgLSBpKSAqIGdyb3VwTGVuZ3RoXTsKKyAgICAgICAgYXV0byBncm91cCA9ICZi
dWZmZXJbKDMgLSBpKSAqIGdyb3VwTGVuZ3RoXTsKIAogICAgICAgICBpZiAoZ3JvdXBWYWx1ZSAm
JiBpKQotICAgICAgICAgICAgZ3JvdXBbN10gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXI+
KHNlY29uZEdyb3VwTWFya2VyIC0gMSArIGkpOworICAgICAgICAgICAgZ3JvdXBbN10gPSBzdGF0
aWNfY2FzdDxBYnN0cmFjdENKS0NoYXJhY3Rlcj4oU2Vjb25kR3JvdXBNYXJrZXIgLSAxICsgaSk7
CiAKICAgICAgICAgLy8gUHV0IGluIHRoZSBmb3VyIGRpZ2l0cyBhbmQgZGlnaXQgbWFya2VycyBm
b3IgYW55IG5vbi16ZXJvIGRpZ2l0cy4KLSAgICAgICAgZ3JvdXBbNl0gPSBzdGF0aWNfY2FzdDxB
YnN0cmFjdENKS0NoYXI+KGRpZ2l0MCArIChncm91cFZhbHVlICUgMTApKTsKKyAgICAgICAgZ3Jv
dXBbNl0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXJhY3Rlcj4oRGlnaXQwICsgKGdyb3Vw
VmFsdWUgJSAxMCkpOwogICAgICAgICBpZiAobnVtYmVyICE9IDAgfHwgZ3JvdXBWYWx1ZSA+IDkp
IHsKICAgICAgICAgICAgIGludCBkaWdpdFZhbHVlID0gKChncm91cFZhbHVlIC8gMTApICUgMTAp
OwotICAgICAgICAgICAgZ3JvdXBbNF0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXI+KGRp
Z2l0MCArIGRpZ2l0VmFsdWUpOworICAgICAgICAgICAgZ3JvdXBbNF0gPSBzdGF0aWNfY2FzdDxB
YnN0cmFjdENKS0NoYXJhY3Rlcj4oRGlnaXQwICsgZGlnaXRWYWx1ZSk7CiAgICAgICAgICAgICBp
ZiAoZGlnaXRWYWx1ZSkKLSAgICAgICAgICAgICAgICBncm91cFs1XSA9IHNlY29uZERpZ2l0TWFy
a2VyOworICAgICAgICAgICAgICAgIGdyb3VwWzVdID0gU2Vjb25kRGlnaXRNYXJrZXI7CiAgICAg
ICAgIH0KICAgICAgICAgaWYgKG51bWJlciAhPSAwIHx8IGdyb3VwVmFsdWUgPiA5OSkgewogICAg
ICAgICAgICAgaW50IGRpZ2l0VmFsdWUgPSAoKGdyb3VwVmFsdWUgLyAxMDApICUgMTApOwotICAg
ICAgICAgICAgZ3JvdXBbMl0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXI+KGRpZ2l0MCAr
IGRpZ2l0VmFsdWUpOworICAgICAgICAgICAgZ3JvdXBbMl0gPSBzdGF0aWNfY2FzdDxBYnN0cmFj
dENKS0NoYXJhY3Rlcj4oRGlnaXQwICsgZGlnaXRWYWx1ZSk7CiAgICAgICAgICAgICBpZiAoZGln
aXRWYWx1ZSkKLSAgICAgICAgICAgICAgICBncm91cFszXSA9IHRoaXJkRGlnaXRNYXJrZXI7Cisg
ICAgICAgICAgICAgICAgZ3JvdXBbM10gPSBUaGlyZERpZ2l0TWFya2VyOwogICAgICAgICB9CiAg
ICAgICAgIGlmIChudW1iZXIgIT0gMCB8fCBncm91cFZhbHVlID4gOTk5KSB7CiAgICAgICAgICAg
ICBpbnQgZGlnaXRWYWx1ZSA9IGdyb3VwVmFsdWUgLyAxMDAwOwotICAgICAgICAgICAgZ3JvdXBb
MF0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXI+KGRpZ2l0MCArIGRpZ2l0VmFsdWUpOwor
ICAgICAgICAgICAgZ3JvdXBbMF0gPSBzdGF0aWNfY2FzdDxBYnN0cmFjdENKS0NoYXJhY3Rlcj4o
RGlnaXQwICsgZGlnaXRWYWx1ZSk7CiAgICAgICAgICAgICBpZiAoZGlnaXRWYWx1ZSkKLSAgICAg
ICAgICAgICAgICBncm91cFsxXSA9IGZvdXJ0aERpZ2l0TWFya2VyOworICAgICAgICAgICAgICAg
IGdyb3VwWzFdID0gRm91cnRoRGlnaXRNYXJrZXI7CiAgICAgICAgIH0KIAotICAgICAgICAvLyBS
ZW1vdmUgdGhlIHRlbnMgZGlnaXQsIGJ1dCBsZWF2ZSB0aGUgbWFya2VyLCBmb3IgYW55IGdyb3Vw
IHRoYXQgaGFzCi0gICAgICAgIC8vIGEgdmFsdWUgb2YgbGVzcyB0aGFuIDIwLgotICAgICAgICBp
ZiAoZ3JvdXBWYWx1ZSA8IDIwKSB7Ci0gICAgICAgICAgICBBU1NFUlQoZ3JvdXBbNF0gPT0gbm9D
aGFyIHx8IGdyb3VwWzRdID09IGRpZ2l0MCB8fCBncm91cFs0XSA9PSBkaWdpdDEpOwotICAgICAg
ICAgICAgZ3JvdXBbNF0gPSBub0NoYXI7CisgICAgICAgIGlmIChmb3JtYWxpdHkgPT0gRm9ybWFs
aXR5OjpJbmZvcm1hbCAmJiBncm91cFZhbHVlIDwgMjApIHsKKyAgICAgICAgICAgIC8vIFJlbW92
ZSB0aGUgdGVucyBkaWdpdCwgYnV0IGxlYXZlIHRoZSBtYXJrZXIuCisgICAgICAgICAgICBBU1NF
UlQoZ3JvdXBbNF0gPT0gTm9DaGFyIHx8IGdyb3VwWzRdID09IERpZ2l0MCB8fCBncm91cFs0XSA9
PSBEaWdpdDEpOworICAgICAgICAgICAgZ3JvdXBbNF0gPSBOb0NoYXI7CiAgICAgICAgIH0KIAog
ICAgICAgICBpZiAoIW51bWJlcikKQEAgLTM4OSwyNiArMjAwLDEwNiBAQCBzdGF0aWMgTkVWRVJf
SU5MSU5FIFN0cmluZyB0b0NKS0lkZW9ncmFwaGljKGludCBudW1iZXIsIGNvbnN0IFVDaGFyIHRh
YmxlWzE2XSkKIAogICAgIC8vIENvbnZlcnQgaW50byBjaGFyYWN0ZXJzLCBvbWl0dGluZyBjb25z
ZWN1dGl2ZSBydW5zIG9mIGRpZ2l0MCBhbmQgdHJhaWxpbmcgZGlnaXQwLgogICAgIHVuc2lnbmVk
IGxlbmd0aCA9IDA7Ci0gICAgVUNoYXIgY2hhcmFjdGVyc1tidWZmZXJMZW5ndGhdOwotICAgIEFi
c3RyYWN0Q0pLQ2hhciBsYXN0ID0gbm9DaGFyOworICAgIFVDaGFyIGNoYXJhY3RlcnNbMSArIGJ1
ZmZlckxlbmd0aF07CisgICAgYXV0byBsYXN0ID0gTm9DaGFyOworICAgIGlmIChuZWVkc05lZ2F0
aXZlU2lnbikKKyAgICAgICAgY2hhcmFjdGVyc1tsZW5ndGgrK10gPSB0YWJsZVtOZWdhdGl2ZVNp
Z24gLSAxXTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVyTGVuZ3RoOyArK2kp
IHsKLSAgICAgICAgQWJzdHJhY3RDSktDaGFyIGEgPSBidWZmZXJbaV07Ci0gICAgICAgIGlmIChh
ICE9IG5vQ2hhcikgewotICAgICAgICAgICAgaWYgKGEgIT0gZGlnaXQwIHx8IGxhc3QgIT0gZGln
aXQwKQotICAgICAgICAgICAgICAgIGNoYXJhY3RlcnNbbGVuZ3RoKytdID0gdGFibGVbYSAtIDFd
OwotICAgICAgICAgICAgbGFzdCA9IGE7CisgICAgICAgIGF1dG8gY2hhcmFjdGVyID0gYnVmZmVy
W2ldOworICAgICAgICBpZiAoY2hhcmFjdGVyICE9IE5vQ2hhcikgeworICAgICAgICAgICAgaWYg
KGNoYXJhY3RlciAhPSBEaWdpdDAgfHwgbGFzdCAhPSBEaWdpdDApCisgICAgICAgICAgICAgICAg
Y2hhcmFjdGVyc1tsZW5ndGgrK10gPSB0YWJsZVtjaGFyYWN0ZXIgLSAxXTsKKyAgICAgICAgICAg
IGxhc3QgPSBjaGFyYWN0ZXI7CiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKGxhc3QgPT0gZGln
aXQwKQorICAgIGlmIChsYXN0ID09IERpZ2l0MCkKICAgICAgICAgLS1sZW5ndGg7CiAKICAgICBy
ZXR1cm4geyBjaGFyYWN0ZXJzLCBsZW5ndGggfTsKIH0KIAotc3RhdGljIExpc3RTdHlsZVR5cGUg
ZWZmZWN0aXZlTGlzdE1hcmtlclR5cGUoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCitz
dHJ1Y3QgQWRkaXRpdmVTeW1ib2wgeworICAgIGludCB2YWx1ZTsKKyAgICBzdGQ6OmluaXRpYWxp
emVyX2xpc3Q8VUNoYXI+IGNoYXJhY3RlcnM7Cit9Oworc3RydWN0IEFkZGl0aXZlU3lzdGVtIHsK
KyAgICBzdGQ6OmluaXRpYWxpemVyX2xpc3Q8QWRkaXRpdmVTeW1ib2w+IHN5bWJvbHM7CisgICAg
c3RkOjppbml0aWFsaXplcl9saXN0PFVDaGFyPiBuZWdhdGl2ZTsKK307CisKK3N0YXRpYyBTdHJp
bmcgdG9QcmVkZWZpbmVkQWRkaXRpdmVTeXN0ZW0oaW50IHZhbHVlLCBjb25zdCBBZGRpdGl2ZVN5
c3RlbSYgc3lzdGVtKQoreworICAgIGlmICghdmFsdWUpIHsKKyAgICAgICAgQVNTRVJUKCFzeXN0
ZW0uc3ltYm9scy5lbmQoKVstMV0udmFsdWUpOworICAgICAgICBhdXRvJiB6ZXJvQ2hhcmFjdGVy
cyA9IHN5c3RlbS5zeW1ib2xzLmVuZCgpWy0xXS5jaGFyYWN0ZXJzOworICAgICAgICByZXR1cm4g
eyB6ZXJvQ2hhcmFjdGVycy5iZWdpbigpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oemVyb0NoYXJh
Y3RlcnMuc2l6ZSgpKSB9OworICAgIH0KKworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAg
IGF1dG8gYXBwZW5kID0gWyZdIChzdGQ6OmluaXRpYWxpemVyX2xpc3Q8VUNoYXI+IGNoYXJhY3Rl
cnMpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChTdHJpbmdWaWV3IHsgY2hhcmFjdGVycy5iZWdp
bigpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY2hhcmFjdGVycy5zaXplKCkpIH0pOworICAgIH07
CisgICAgaWYgKHZhbHVlIDwgMCkgeworICAgICAgICBBU1NFUlQodmFsdWUgIT0gc3RkOjpudW1l
cmljX2xpbWl0czxpbnQ+OjptaW4oKSk7CisgICAgICAgIGFwcGVuZChzeXN0ZW0ubmVnYXRpdmUp
OworICAgICAgICB2YWx1ZSA9IC12YWx1ZTsKKyAgICB9CisgICAgZm9yIChhdXRvJiBzeW1ib2wg
OiBzeXN0ZW0uc3ltYm9scykgeworICAgICAgICB3aGlsZSAodmFsdWUgPj0gc3ltYm9sLnZhbHVl
KSB7CisgICAgICAgICAgICBhcHBlbmQoc3ltYm9sLmNoYXJhY3RlcnMpOworICAgICAgICAgICAg
dmFsdWUgLT0gc3ltYm9sLnZhbHVlOworICAgICAgICB9CisgICAgICAgIGlmICghdmFsdWUpCisg
ICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgQVNTRVJUKCF2YWx1ZSk7CisgICAgcmV0dXJu
IHJlc3VsdC50b1N0cmluZygpOworfQorCitzdGF0aWMgU3RyaW5nIHRvRXRoaW9waWNOdW1lcmlj
KGludCB2YWx1ZSkKIHsKLSAgICAvLyBGSVhNRTogVHlwZXMgd2UgbmVlZCB0byBhZGQ6IGphcGFu
ZXNlLWZvcm1hbCwgamFwYW5lc2UtaW5mb3JtYWwsIGtvcmVhbi1oYW5ndWwtZm9ybWFsLCBrb3Jl
YW4taGFuamEtZm9ybWFsLCBrb3JlYW4taGFuamEtaW5mb3JtYWwsIHNpbXAtY2hpbmVzZS1mb3Jt
YWwsIHNpbXAtY2hpbmVzZS1pbmZvcm1hbCwgdGFtbWlsLCB0cmFkLWNoaW5lc2UtZm9ybWFsLCB0
cmFkLWNoaW5lc2UtaW5mb3JtYWwKKyAgICBBU1NFUlQodmFsdWUgPj0gMSk7CisKKyAgICBpZiAo
dmFsdWUgPT0gMSkgeworICAgICAgICBVQ2hhciBldGhpb3BpY0RpZ2l0T25lID0gMHgxMzY5Owor
ICAgICAgICByZXR1cm4geyAmZXRoaW9waWNEaWdpdE9uZSwgMSB9OworICAgIH0KKworICAgIC8v
IFNwbGl0IHRoZSBudW1iZXIgaW50byBncm91cHMgb2YgdHdvIGRpZ2l0cywgc3RhcnRpbmcgd2l0
aCB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgZGVjaW1hbCBkaWdpdC4KKyAgICB1aW50OF90IGdyb3Vw
c1s1XTsKKyAgICBmb3IgKGF1dG8mIGdyb3VwIDogZ3JvdXBzKSB7CisgICAgICAgIGdyb3VwID0g
dmFsdWUgJSAxMDA7CisgICAgICAgIHZhbHVlIC89IDEwMDsKKyAgICB9CisKKyAgICBVQ2hhciBi
dWZmZXJbc3RkOjpzaXplKGdyb3VwcykgKiAzXTsKKyAgICB1bnNpZ25lZCBsZW5ndGggPSAwOwor
ICAgIGJvb2wgaXNNb3N0U2lnbmlmaWNhbnRHcm91cCA9IHRydWU7CisgICAgZm9yIChpbnQgaSA9
IHN0ZDo6c2l6ZShncm91cHMpIC0gMTsgaSA+PSAwOyAtLWkpIHsKKyAgICAgICAgYXV0byB2YWx1
ZSA9IGdyb3Vwc1tpXTsKKyAgICAgICAgYm9vbCBpc09kZEluZGV4ID0gaSAmIDE7CisgICAgICAg
IC8vIElmIHRoZSBncm91cCBoYXMgdGhlIHZhbHVlIHplcm8sIG9yIGlmIHRoZSBncm91cCBpcyB0
aGUgbW9zdCBzaWduaWZpY2FudCBvbmUgYW5kIGhhcyB0aGUgdmFsdWUgMSwKKyAgICAgICAgLy8g
b3IgaWYgdGhlIGdyb3VwIGhhcyBhbiBvZGQgaW5kZXggKGFzIGdpdmVuIGluIHRoZSBwcmV2aW91
cyBzdGVwKSBhbmQgaGFzIHRoZSB2YWx1ZSAxLAorICAgICAgICAvLyB0aGVuIHJlbW92ZSB0aGUg
ZGlnaXRzIChidXQgbGVhdmUgdGhlIGdyb3VwLCBzbyBpdCBzdGlsbCBoYXMgYSBzZXBhcmF0b3Ig
YXBwZW5kZWQgYmVsb3cpLgorICAgICAgICBpZiAoISh2YWx1ZSA9PSAxICYmIChpc01vc3RTaWdu
aWZpY2FudEdyb3VwIHx8IGlzT2RkSW5kZXgpKSkgeworICAgICAgICAgICAgaWYgKGF1dG8gdGVu
cyA9IHZhbHVlIC8gMTApCisgICAgICAgICAgICAgICAgYnVmZmVyW2xlbmd0aCsrXSA9IDB4MTM3
MSArIHRlbnM7CisgICAgICAgICAgICBpZiAoYXV0byBvbmVzID0gdmFsdWUgJSAxMCkKKyAgICAg
ICAgICAgICAgICBidWZmZXJbbGVuZ3RoKytdID0gMHgxMzY4ICsgb25lczsKKyAgICAgICAgfQor
ICAgICAgICBpZiAodmFsdWUgJiYgaXNPZGRJbmRleCkKKyAgICAgICAgICAgIGJ1ZmZlcltsZW5n
dGgrK10gPSAweDEzN0I7CisgICAgICAgIGlmICgodmFsdWUgfHwgIWlzTW9zdFNpZ25pZmljYW50
R3JvdXApICYmICFpc09kZEluZGV4ICYmIGkpCisgICAgICAgICAgICBidWZmZXJbbGVuZ3RoKytd
ID0gMHgxMzdDOworICAgICAgICBpZiAodmFsdWUpCisgICAgICAgICAgICBpc01vc3RTaWduaWZp
Y2FudEdyb3VwID0gZmFsc2U7CisgICAgfQogCisgICAgcmV0dXJuIHsgYnVmZmVyLCBsZW5ndGgg
fTsKK30KKworc3RhdGljIExpc3RTdHlsZVR5cGUgZWZmZWN0aXZlTGlzdE1hcmtlclR5cGUoTGlz
dFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCit7CiAgICAgLy8gTm90ZSwgdGhlIGZvbGxvd2lu
ZyBzd2l0Y2ggc3RhdGVtZW50IGhhcyBiZWVuIGV4cGxpY2l0bHkgZ3JvdXBlZCBieSBsaXN0LXN0
eWxlLXR5cGUgb3JkaW5hbCByYW5nZS4KICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OkFyYWJpY0luZGljOgpAQCAtNDIwLDYgKzMxMSw4IEBAIHN0YXRpYyBMaXN0
U3R5bGVUeXBlIGVmZmVjdGl2ZUxpc3RNYXJrZXJUeXBlKExpc3RTdHlsZVR5cGUgdHlwZSwgaW50
IHZhbHVlKQogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbDoKICAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkRldmFuYWdhcmk6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEaXNjOgorICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6RGlzY2xvc3VyZUNsb3NlZDoKKyAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkRpc2Nsb3N1cmVPcGVuOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6R3VqYXJhdGk6
CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHdXJtdWtoaToKICAgICBjYXNlIExpc3RTdHlsZVR5
cGU6Okthbm5hZGE6CkBAIC00NDEsMjAgKzMzNCw2IEBAIHN0YXRpYyBMaXN0U3R5bGVUeXBlIGVm
ZmVjdGl2ZUxpc3RNYXJrZXJUeXBlKExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJIZXhhZGVjaW1hbDoKICAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OlVyZHU6CiAgICAgICAgIHJldHVybiB0eXBlOyAvLyBDYW4gcmVwcmVzZW50IGFsbCBv
cmRpbmFscy4KLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFybWVuaWFuOgotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6TG93ZXJBcm1lbmlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVy
QXJtZW5pYW46Ci0gICAgICAgIHJldHVybiAodmFsdWUgPCAxIHx8IHZhbHVlID4gOTk5OSkgPyBM
aXN0U3R5bGVUeXBlOjpEZWNpbWFsIDogdHlwZTsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNK
S0RlY2ltYWw6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJZGVvZ3JhcGhpYzoKLSAgICAg
ICAgcmV0dXJuICh2YWx1ZSA8IDApID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHZW9yZ2lhbjoKLSAgICAgICAgcmV0dXJuICh2YWx1ZSA8
IDEgfHwgdmFsdWUgPiAxOTk5OSkgPyBMaXN0U3R5bGVUeXBlOjpEZWNpbWFsIDogdHlwZTsKLSAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkhlYnJldzoKLSAgICAgICAgcmV0dXJuICh2YWx1ZSA8IDAg
fHwgdmFsdWUgPiA5OTk5OTkpID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlclJvbWFuOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
VXBwZXJSb21hbjoKLSAgICAgICAgcmV0dXJuICh2YWx1ZSA8IDEgfHwgdmFsdWUgPiAzOTk5KSA/
IExpc3RTdHlsZVR5cGU6OkRlY2ltYWwgOiB0eXBlOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
QWZhcjoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFtaGFyaWM6CiAgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpBbWhhcmljQWJlZ2VkZToKQEAgLTQ3Nyw2ICszNTYsNyBAQCBzdGF0aWMgTGlzdFN0
eWxlVHlwZSBlZmZlY3RpdmVMaXN0TWFya2VyVHlwZShMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2
YWx1ZSkKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVUaUVyOgogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpRXQ6CiAgICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpFdGhpb3BpY0hhbGVoYW1lVGlnOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
RXRoaW9waWNOdW1lcmljOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Rm9vdG5vdGVzOgogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6SGFuZ3VsOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGFu
Z3VsQ29uc29uYW50OgpAQCAtNTAxLDYgKzM4MSwzMSBAQCBzdGF0aWMgTGlzdFN0eWxlVHlwZSBl
ZmZlY3RpdmVMaXN0TWFya2VyVHlwZShMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyTGF0aW46CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpVcHBlck5vcndlZ2lhbjoKICAgICAgICAgcmV0dXJuICh2YWx1ZSA8IDEpID8gTGlzdFN0eWxl
VHlwZTo6RGVjaW1hbCA6IHR5cGU7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcm1lbmlhbjoK
KyAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyQXJtZW5pYW46CisgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpVcHBlckFybWVuaWFuOgorICAgICAgICByZXR1cm4gKHZhbHVlIDwgMSB8fCB2YWx1
ZSA+IDk5OTkpID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7CisgICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpDSktEZWNpbWFsOgorICAgICAgICByZXR1cm4gKHZhbHVlIDwgMCkgPyBMaXN0
U3R5bGVUeXBlOjpEZWNpbWFsIDogdHlwZTsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0lk
ZW9ncmFwaGljOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SmFwYW5lc2VGb3JtYWw6CisgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpKYXBhbmVzZUluZm9ybWFsOgorICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6U2ltcGxpZmllZENoaW5lc2VGb3JtYWw6CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpT
aW1wbGlmaWVkQ2hpbmVzZUluZm9ybWFsOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VHJhZGl0
aW9uYWxDaGluZXNlRm9ybWFsOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VHJhZGl0aW9uYWxD
aGluZXNlSW5mb3JtYWw6CisgICAgICAgIHJldHVybiB2YWx1ZSA8IC05OTk5ID8gTGlzdFN0eWxl
VHlwZTo6RGVjaW1hbCA6IHZhbHVlID4gOTk5OSA/IExpc3RTdHlsZVR5cGU6OkNKS0RlY2ltYWwg
OiB0eXBlOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6R2VvcmdpYW46CisgICAgICAgIHJldHVy
biAodmFsdWUgPCAxIHx8IHZhbHVlID4gMTk5OTkpID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6
IHR5cGU7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpIZWJyZXc6CisgICAgICAgIHJldHVybiAo
dmFsdWUgPCAxIHx8IHZhbHVlID4gMTA5OTkpID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5
cGU7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5ndWxGb3JtYWw6CisgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5qYUluZm9ybWFsOgorICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6S29yZWFuSGFuamFGb3JtYWw6CisgICAgICAgIHJldHVybiAodmFsdWUgPCAtOTk5OSB8
fCB2YWx1ZSA+IDk5OTkpID8gTGlzdFN0eWxlVHlwZTo6RGVjaW1hbCA6IHR5cGU7CisgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpMb3dlclJvbWFuOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBw
ZXJSb21hbjoKKyAgICAgICAgcmV0dXJuICh2YWx1ZSA8IDEgfHwgdmFsdWUgPiAzOTk5KSA/IExp
c3RTdHlsZVR5cGU6OkRlY2ltYWwgOiB0eXBlOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3Ry
aW5nOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7CkBAIC01
MTAsMTcgKzQxNSwxOCBAQCBzdGF0aWMgTGlzdFN0eWxlVHlwZSBlZmZlY3RpdmVMaXN0TWFya2Vy
VHlwZShMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICByZXR1cm4gdHlwZTsKIH0K
IAotc3RhdGljIFVDaGFyIGxpc3RNYXJrZXJTdWZmaXgoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQg
dmFsdWUpCitzdGF0aWMgU3RyaW5nVmlldyBsaXN0TWFya2VyU3VmZml4KExpc3RTdHlsZVR5cGUg
dHlwZSkKIHsKLSAgICAvLyBOb3RlLCB0aGUgZm9sbG93aW5nIHN3aXRjaCBzdGF0ZW1lbnQgaGFz
IGJlZW4gZXhwbGljaXRseSBncm91cGVkIGJ5IGxpc3Qtc3R5bGUtdHlwZSBzdWZmaXguCi0gICAg
c3dpdGNoIChlZmZlY3RpdmVMaXN0TWFya2VyVHlwZSh0eXBlLCB2YWx1ZSkpIHsKKyAgICBzd2l0
Y2ggKHR5cGUpIHsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrczoKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkNpcmNsZToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRpc2M6Cisg
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEaXNjbG9zdXJlQ2xvc2VkOgorICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6RGlzY2xvc3VyZU9wZW46CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpGb290bm90
ZXM6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpOb25lOgogICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6U3F1YXJlOgotICAgICAgICByZXR1cm4gJyAnOworICAgICAgICByZXR1cm4geyAmc3BhY2Us
IDEgfTsKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFmYXI6CiAgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpBbWhhcmljOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QW1oYXJpY0FiZWdlZGU6CkBA
IC01NDcsMTQgKzQ1MywxNSBAQCBzdGF0aWMgVUNoYXIgbGlzdE1hcmtlclN1ZmZpeChMaXN0U3R5
bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3Jpbnlh
RXI6CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdyaW55YUVyQWJlZ2VkZToKICAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQ6Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpUaWdy
aW55YUV0QWJlZ2VkZToKLSAgICAgICAgcmV0dXJuIGV0aGlvcGljUHJlZmFjZUNvbG9uOworICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdEFiZWdlZGU6IHsKKyAgICAgICAgc3RhdGlj
IGNvbnN0ZXhwciBVQ2hhciBldGhpb3BpY1ByZWZhY2VDb2xvbkFuZFNwYWNlWzJdID0geyBldGhp
b3BpY1ByZWZhY2VDb2xvbiwgJyAnIH07CisgICAgICAgIHJldHVybiB7IGV0aGlvcGljUHJlZmFj
ZUNvbG9uQW5kU3BhY2UsIDIgfTsKKyAgICB9CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcm1l
bmlhbjoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFyYWJpY0luZGljOgogICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6QmVuZ2FsaToKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJpbmFyeToKICAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OkNhbWJvZGlhbjoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OkNKS0lkZW9ncmFwaGljOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbExlYWRpbmda
ZXJvOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbDoKICAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkRldmFuYWdhcmk6CkBAIC01OTIsMjcgKzQ5OSwzNSBAQCBzdGF0aWMgVUNoYXIgbGlz
dE1hcmtlclN1ZmZpeChMaXN0U3R5bGVUeXBlIHR5cGUsIGludCB2YWx1ZSkKICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlVwcGVyTm9yd2VnaWFuOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBw
ZXJSb21hbjoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVyZHU6Ci0gICAgICAgIHJldHVybiAn
Lic7CisgICAgICAgIHJldHVybiAiLiAiOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLRGVj
aW1hbDoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0VhcnRobHlCcmFuY2g6CiAgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpDSktIZWF2ZW5seVN0ZW06CisgICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpDSktJZGVvZ3JhcGhpYzoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhpcmFnYW5hOgogICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYToKKyAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OkphcGFuZXNlRm9ybWFsOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SmFwYW5lc2VJbmZv
cm1hbDoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkthdGFrYW5hOgogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6S2F0YWthbmFJcm9oYToKLSAgICAgICAgcmV0dXJuIGlkZW9ncmFwaGljQ29tbWE7
CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpTaW1wbGlmaWVkQ2hpbmVzZUZvcm1hbDoKKyAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OlNpbXBsaWZpZWRDaGluZXNlSW5mb3JtYWw6CisgICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpUcmFkaXRpb25hbENoaW5lc2VGb3JtYWw6CisgICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpUcmFkaXRpb25hbENoaW5lc2VJbmZvcm1hbDoKKyAgICAgICAgcmV0dXJuIHsgJmlk
ZW9ncmFwaGljQ29tbWEsIDEgfTsKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljTnVt
ZXJpYzoKKyAgICAgICAgcmV0dXJuICIvICI7CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLb3Jl
YW5IYW5ndWxGb3JtYWw6CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5qYUluZm9y
bWFsOgorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S29yZWFuSGFuamFGb3JtYWw6CisgICAgICAg
IHJldHVybiAiLCAiOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3RyaW5nOgogICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuICcuJzsKLX0KLQotc3RhdGljIGJvb2wgc3VmZml4
UmVxdWlyZXNTcGFjZShVQ2hhciBzdWZmaXgpCi17Ci0gICAgcmV0dXJuIHN1ZmZpeCA9PSAnLicg
fHwgc3VmZml4ID09IGV0aGlvcGljUHJlZmFjZUNvbG9uOworICAgIHJldHVybiAiLiAiOwogfQog
CiBTdHJpbmcgbGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCkBA
IC02MjUsOCArNTQwLDggQEAgU3RyaW5nIGxpc3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlw
ZSwgaW50IHZhbHVlKQogICAgICAgICBzdGF0aWMgY29uc3RleHByIExDaGFyIGFzdGVyaXNrc1N5
bWJvbHNbMV0gPSB7IDB4MkEgfTsKICAgICAgICAgcmV0dXJuIHRvU3ltYm9saWModmFsdWUsIGFz
dGVyaXNrc1N5bWJvbHMpOwogICAgIH0KLSAgICAvLyBXZSB1c2UgdGhlIHNhbWUgY2hhcmFjdGVy
cyBmb3IgdGV4dCBzZWN1cml0eS4KLSAgICAvLyBTZWUgUmVuZGVyVGV4dDo6c2V0SW50ZXJuYWxT
dHJpbmcuCisKKyAgICAvLyBXZSB1c2UgdGhlIHNhbWUgY2hhcmFjdGVycyBmb3IgdGV4dCBzZWN1
cml0eS4gU2VlIFJlbmRlclRleHQ6OnNldFJlbmRlcmVkVGV4dC4KICAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkNpcmNsZToKICAgICAgICAgcmV0dXJuIHsgJndoaXRlQnVsbGV0LCAxIH07CiAgICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpEaXNjOgpAQCAtNjM1LDExICs1NTAsMTYgQEAgU3RyaW5nIGxp
c3RNYXJrZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICBzdGF0
aWMgY29uc3RleHByIFVDaGFyIGZvb3Rub3Rlc1N5bWJvbHNbNF0gPSB7IDB4MDAyQSwgMHgyMDUx
LCAweDIwMjAsIDB4MjAyMSB9OwogICAgICAgICByZXR1cm4gdG9TeW1ib2xpYyh2YWx1ZSwgZm9v
dG5vdGVzU3ltYm9scyk7CiAgICAgfQorCisgICAgLy8gQ1NTIHNwZWNpZmljYXRpb24gY2FsbHMg
Zm9yIFUrMjVGRSBCTEFDSyBNRURJVU0gU01BTEwgU1FVQVJFOyB3ZSBoYXZlIGJlZW4gdXNpbmcg
VSsyNUEwIEJMQUNLIFNRVUFSRSBpbnN0ZWFkIGZvciBhIGxvbmcgdGltZS4KICAgICBjYXNlIExp
c3RTdHlsZVR5cGU6OlNxdWFyZToKLSAgICAgICAgLy8gVGhlIENTUyAyLjEgdGVzdCBzdWl0ZSB1
c2VzIFUrMjVFRSBCTEFDSyBNRURJVU0gU01BTEwgU1FVQVJFIGluc3RlYWQsCi0gICAgICAgIC8v
IGJ1dCB3ZSB1c2VkIHRoaXMgYmVjYXVzZSB3ZSB0aG91Z2h0IGl0IGxvb2tlZCBiZXR0ZXIuCiAg
ICAgICAgIHJldHVybiB7ICZibGFja1NxdWFyZSwgMSB9OwogCisgICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpEaXNjbG9zdXJlQ2xvc2VkOgorICAgICAgICByZXR1cm4geyAmYmxhY2tSaWdodFBvaW50
aW5nU21hbGxUcmlhbmdsZSwgMSB9OworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGlzY2xvc3Vy
ZU9wZW46CisgICAgICAgIHJldHVybiB7ICZibGFja0Rvd25Qb2ludGluZ1NtYWxsVHJpYW5nbGUs
IDEgfTsKKwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGVjaW1hbDoKICAgICAgICAgcmV0dXJu
IFN0cmluZzo6bnVtYmVyKHZhbHVlKTsKIApAQCAtMTAyNSwzMSArOTQ1LDI3MiBAQCBTdHJpbmcg
bGlzdE1hcmtlclRleHQoTGlzdFN0eWxlVHlwZSB0eXBlLCBpbnQgdmFsdWUpCiAgICAgICAgIH07
CiAgICAgICAgIHJldHVybiB0b0FscGhhYmV0aWModmFsdWUsIHVwcGVyTm9yd2VnaWFuQWxwaGFi
ZXQpOwogICAgIH0KLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0lkZW9ncmFwaGljOiB7Ci0g
ICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgdHJhZGl0aW9uYWxDaGluZXNlSW5mb3JtYWxU
YWJsZVsxNl0gPSB7CisKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlNpbXBsaWZpZWRDaGluZXNl
SW5mb3JtYWw6IHsKKyAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBVQ2hhciBzaW1wbGlmaWVkQ2hp
bmVzZUluZm9ybWFsVGFibGVbMTddID0geworICAgICAgICAgICAgMHg4NDJDLCAweDUxMDQsIDB4
NTE0NiwgLy8gVGhlc2UgdGhyZWUgYXJlIHByb2JhYmx5IHdyb25nLCBidXQgY3VycmVudGx5IHVu
dXNlZC4KKyAgICAgICAgICAgIDB4NTM0MSwgMHg3NjdFLCAweDUzNDMsCisgICAgICAgICAgICAw
eDk2RjYsIDB4NEUwMCwgMHg0RThDLCAweDRFMDksIDB4NTZEQiwKKyAgICAgICAgICAgIDB4NEU5
NCwgMHg1MTZELCAweDRFMDMsIDB4NTE2QiwgMHg0RTVELAorICAgICAgICAgICAgMHg4RDFGCisg
ICAgICAgIH07CisgICAgICAgIHJldHVybiB0b0NKS0lkZW9ncmFwaGljKHZhbHVlLCBzaW1wbGlm
aWVkQ2hpbmVzZUluZm9ybWFsVGFibGUsIEZvcm1hbGl0eTo6SW5mb3JtYWwpOworICAgIH0KKyAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OlNpbXBsaWZpZWRDaGluZXNlRm9ybWFsOiB7CisgICAgICAg
IHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgc2ltcGxpZmllZENoaW5lc2VGb3JtYWxUYWJsZVsxN10g
PSB7CisgICAgICAgICAgICAweDg0MkMsIDB4NTEwNCwgMHg1MTQ2LCAvLyBUaGVzZSB0aHJlZSBh
cmUgcHJvYmFibHkgd3JvbmcsIGJ1dCBjdXJyZW50bHkgdW51c2VkLgorICAgICAgICAgICAgMHg2
MkZFLCAweDRGNzAsIDB4NEVERiwKKyAgICAgICAgICAgIDB4OTZGNiwgMHg1OEY5LCAweDhEMzAs
IDB4NTNDMSwgMHg4MDg2LAorICAgICAgICAgICAgMHg0RjBELCAweDk2NDYsIDB4NjdEMiwgMHg2
MzRDLCAweDczOTYsCisgICAgICAgICAgICAweDhEMUYKKyAgICAgICAgfTsKKyAgICAgICAgcmV0
dXJuIHRvQ0pLSWRlb2dyYXBoaWModmFsdWUsIHNpbXBsaWZpZWRDaGluZXNlRm9ybWFsVGFibGUs
IEZvcm1hbGl0eTo6Rm9ybWFsKTsKKyAgICB9CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJ
ZGVvZ3JhcGhpYzoKKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRyYWRpdGlvbmFsQ2hpbmVzZUlu
Zm9ybWFsOiB7CisgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgdHJhZGl0aW9uYWxDaGlu
ZXNlSW5mb3JtYWxUYWJsZVsxN10gPSB7CiAgICAgICAgICAgICAweDg0MkMsIDB4NTEwNCwgMHg1
MTQ2LAogICAgICAgICAgICAgMHg1MzQxLCAweDc2N0UsIDB4NTM0MywKICAgICAgICAgICAgIDB4
OTZGNiwgMHg0RTAwLCAweDRFOEMsIDB4NEUwOSwgMHg1NkRCLAotICAgICAgICAgICAgMHg0RTk0
LCAweDUxNkQsIDB4NEUwMywgMHg1MTZCLCAweDRFNUQKKyAgICAgICAgICAgIDB4NEU5NCwgMHg1
MTZELCAweDRFMDMsIDB4NTE2QiwgMHg0RTVELAorICAgICAgICAgICAgMHg4Q0EwCisgICAgICAg
IH07CisgICAgICAgIHJldHVybiB0b0NKS0lkZW9ncmFwaGljKHZhbHVlLCB0cmFkaXRpb25hbENo
aW5lc2VJbmZvcm1hbFRhYmxlLCBGb3JtYWxpdHk6OkluZm9ybWFsKTsKKyAgICB9CisgICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpUcmFkaXRpb25hbENoaW5lc2VGb3JtYWw6IHsKKyAgICAgICAgc3Rh
dGljIGNvbnN0ZXhwciBVQ2hhciB0cmFkaXRpb25hbENoaW5lc2VGb3JtYWxUYWJsZVsxN10gPSB7
CisgICAgICAgICAgICAweDg0MkMsIDB4NTEwNCwgMHg1MTQ2LCAvLyBUaGVzZSB0aHJlZSBhcmUg
cHJvYmFibHkgd3JvbmcsIGJ1dCBjdXJyZW50bHkgdW51c2VkLgorICAgICAgICAgICAgMHg2MkZF
LCAweDRGNzAsIDB4NEVERiwKKyAgICAgICAgICAgIDB4OTZGNiwgMHg1OEY5LCAweDhDQjMsIDB4
NTNDMywgMHg4MDg2LAorICAgICAgICAgICAgMHg0RjBELCAweDk2NzgsIDB4NjdEMiwgMHg2MzRD
LCAweDczOTYsCisgICAgICAgICAgICAweDhDQTAKKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJu
IHRvQ0pLSWRlb2dyYXBoaWModmFsdWUsIHRyYWRpdGlvbmFsQ2hpbmVzZUZvcm1hbFRhYmxlLCBG
b3JtYWxpdHk6OkZvcm1hbCk7CisgICAgfQorCisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dl
clJvbWFuOiB7CisgICAgICAgIHN0YXRpYyBDT05TVEVYUFJfV0lUSF9NU1ZDX0lOSVRJQUxJWkVS
X0xJU1RfV09SS0FST1VORCBBZGRpdGl2ZVN5c3RlbSBsb3dlclJvbWFuU3lzdGVtIHsKKyAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICB7IDEwMDAsIHsgJ20nIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDkwMCwgeyAnYycsICdtJyB9IH0sCisgICAgICAgICAgICAgICAgeyA1MDAsIHsgJ2Qn
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDQwMCwgeyAnYycsICdkJyB9IH0sCisgICAgICAgICAg
ICAgICAgeyAxMDAsIHsgJ2MnIH0gfSwKKyAgICAgICAgICAgICAgICB7IDkwLCB7ICd4JywgJ2Mn
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDUwLCB7ICdsJyB9IH0sCisgICAgICAgICAgICAgICAg
eyA0MCwgeyAneCcsICdsJyB9IH0sCisgICAgICAgICAgICAgICAgeyAxMCwgeyAneCcgfSB9LAor
ICAgICAgICAgICAgICAgIHsgOSwgeyAnaScsICd4JyB9IH0sCisgICAgICAgICAgICAgICAgeyA1
LCB7ICd2JyB9IH0sCisgICAgICAgICAgICAgICAgeyA0LCB7ICdpJywgJ3YnIH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDEsIHsgJ2knIH0gfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsg
fQorICAgICAgICB9OworICAgICAgICByZXR1cm4gdG9QcmVkZWZpbmVkQWRkaXRpdmVTeXN0ZW0o
dmFsdWUsIGxvd2VyUm9tYW5TeXN0ZW0pOworICAgIH0KKyAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OlVwcGVyUm9tYW46IHsKKyAgICAgICAgc3RhdGljIENPTlNURVhQUl9XSVRIX01TVkNfSU5JVElB
TElaRVJfTElTVF9XT1JLQVJPVU5EIEFkZGl0aXZlU3lzdGVtIHVwcGVyUm9tYW5TeXN0ZW0gewor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHsgMTAwMCwgeyAnTScgfSB9LAorICAgICAg
ICAgICAgICAgIHsgOTAwLCB7ICdDJywgJ00nIH0gfSwKKyAgICAgICAgICAgICAgICB7IDUwMCwg
eyAnRCcgfSB9LAorICAgICAgICAgICAgICAgIHsgNDAwLCB7ICdDJywgJ0QnIH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDEwMCwgeyAnQycgfSB9LAorICAgICAgICAgICAgICAgIHsgOTAsIHsgJ1gn
LCAnQycgfSB9LAorICAgICAgICAgICAgICAgIHsgNTAsIHsgJ0wnIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDQwLCB7ICdYJywgJ0wnIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwLCB7ICdYJyB9
IH0sCisgICAgICAgICAgICAgICAgeyA5LCB7ICdJJywgJ1gnIH0gfSwKKyAgICAgICAgICAgICAg
ICB7IDUsIHsgJ1YnIH0gfSwKKyAgICAgICAgICAgICAgICB7IDQsIHsgJ0knLCAnVicgfSB9LAor
ICAgICAgICAgICAgICAgIHsgMSwgeyAnSScgfSB9CisgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgeyB9CiAgICAgICAgIH07Ci0gICAgICAgIHJldHVybiB0b0NKS0lkZW9ncmFwaGljKHZhbHVl
LCB0cmFkaXRpb25hbENoaW5lc2VJbmZvcm1hbFRhYmxlKTsKKyAgICAgICAgcmV0dXJuIHRvUHJl
ZGVmaW5lZEFkZGl0aXZlU3lzdGVtKHZhbHVlLCB1cHBlclJvbWFuU3lzdGVtKTsKICAgICB9CiAK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VyUm9tYW46Ci0gICAgICAgIHJldHVybiB0b1Jv
bWFuKHZhbHVlLCBMZXR0ZXJDYXNlOjpMb3dlcik7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpV
cHBlclJvbWFuOgotICAgICAgICByZXR1cm4gdG9Sb21hbih2YWx1ZSwgTGV0dGVyQ2FzZTo6VXBw
ZXIpOwotCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpBcm1lbmlhbjoKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlVwcGVyQXJtZW5pYW46Ci0gICAgICAgIHJldHVybiB0b0FybWVuaWFuKHZhbHVl
LCBMZXR0ZXJDYXNlOjpVcHBlcik7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFybWVu
aWFuOgotICAgICAgICByZXR1cm4gdG9Bcm1lbmlhbih2YWx1ZSwgTGV0dGVyQ2FzZTo6TG93ZXIp
OwotCi0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpHZW9yZ2lhbjoKLSAgICAgICAgcmV0dXJuIHRv
R2VvcmdpYW4odmFsdWUpOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGVicmV3OgotICAgICAg
ICByZXR1cm4gdG9IZWJyZXcodmFsdWUpOworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJB
cm1lbmlhbjogeworICAgICAgICBzdGF0aWMgQ09OU1RFWFBSX1dJVEhfTVNWQ19JTklUSUFMSVpF
Ul9MSVNUX1dPUktBUk9VTkQgQWRkaXRpdmVTeXN0ZW0gdXBwZXJBcm1lbmlhblN5c3RlbSB7Cisg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgeyA5MDAwLCB7IDB4NTU0IH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDgwMDAsIHsgMHg1NTMgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwMCwg
eyAweDU1MiB9IH0sCisgICAgICAgICAgICAgICAgeyA2MDAwLCB7IDB4NTUxIH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDUwMDAsIHsgMHg1NTAgfSB9LAorICAgICAgICAgICAgICAgIHsgNDAwMCwg
eyAweDU0RiB9IH0sCisgICAgICAgICAgICAgICAgeyAzMDAwLCB7IDB4NTRFIH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDIwMDAsIHsgMHg1NEQgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwMCwg
eyAweDU0QyB9IH0sCisgICAgICAgICAgICAgICAgeyA5MDAsIHsgMHg1NEIgfSB9LAorICAgICAg
ICAgICAgICAgIHsgODAwLCB7IDB4NTRBIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwMCwgeyAw
eDU0OSB9IH0sCisgICAgICAgICAgICAgICAgeyA2MDAsIHsgMHg1NDggfSB9LAorICAgICAgICAg
ICAgICAgIHsgNTAwLCB7IDB4NTQ3IH0gfSwKKyAgICAgICAgICAgICAgICB7IDQwMCwgeyAweDU0
NiB9IH0sCisgICAgICAgICAgICAgICAgeyAzMDAsIHsgMHg1NDUgfSB9LAorICAgICAgICAgICAg
ICAgIHsgMjAwLCB7IDB4NTQ0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwMCwgeyAweDU0MyB9
IH0sCisgICAgICAgICAgICAgICAgeyA5MCwgeyAweDU0MiB9IH0sCisgICAgICAgICAgICAgICAg
eyA4MCwgeyAweDU0MSB9IH0sCisgICAgICAgICAgICAgICAgeyA3MCwgeyAweDU0MCB9IH0sCisg
ICAgICAgICAgICAgICAgeyA2MCwgeyAweDUzRiB9IH0sCisgICAgICAgICAgICAgICAgeyA1MCwg
eyAweDUzRSB9IH0sCisgICAgICAgICAgICAgICAgeyA0MCwgeyAweDUzRCB9IH0sCisgICAgICAg
ICAgICAgICAgeyAzMCwgeyAweDUzQyB9IH0sCisgICAgICAgICAgICAgICAgeyAyMCwgeyAweDUz
QiB9IH0sCisgICAgICAgICAgICAgICAgeyAxMCwgeyAweDUzQSB9IH0sCisgICAgICAgICAgICAg
ICAgeyA5LCB7IDB4NTM5IH0gfSwKKyAgICAgICAgICAgICAgICB7IDgsIHsgMHg1MzggfSB9LAor
ICAgICAgICAgICAgICAgIHsgNywgeyAweDUzNyB9IH0sCisgICAgICAgICAgICAgICAgeyA2LCB7
IDB4NTM2IH0gfSwKKyAgICAgICAgICAgICAgICB7IDUsIHsgMHg1MzUgfSB9LAorICAgICAgICAg
ICAgICAgIHsgNCwgeyAweDUzNCB9IH0sCisgICAgICAgICAgICAgICAgeyAzLCB7IDB4NTMzIH0g
fSwKKyAgICAgICAgICAgICAgICB7IDIsIHsgMHg1MzIgfSB9LAorICAgICAgICAgICAgICAgIHsg
MSwgeyAweDUzMSB9IH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7IH0KKyAgICAgICAg
fTsKKyAgICAgICAgcmV0dXJuIHRvUHJlZGVmaW5lZEFkZGl0aXZlU3lzdGVtKHZhbHVlLCB1cHBl
ckFybWVuaWFuU3lzdGVtKTsKKyAgICB9CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dlckFy
bWVuaWFuOiB7CisgICAgICAgIHN0YXRpYyBDT05TVEVYUFJfV0lUSF9NU1ZDX0lOSVRJQUxJWkVS
X0xJU1RfV09SS0FST1VORCBBZGRpdGl2ZVN5c3RlbSBsb3dlckFybWVuaWFuU3lzdGVtIHsKKyAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB7IDkwMDAsIHsgMHg1ODQgfSB9LAorICAgICAg
ICAgICAgICAgIHsgODAwMCwgeyAweDU4MyB9IH0sCisgICAgICAgICAgICAgICAgeyA3MDAwLCB7
IDB4NTgyIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMDAsIHsgMHg1ODEgfSB9LAorICAgICAg
ICAgICAgICAgIHsgNTAwMCwgeyAweDU4MCB9IH0sCisgICAgICAgICAgICAgICAgeyA0MDAwLCB7
IDB4NTdGIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwMDAsIHsgMHg1N0UgfSB9LAorICAgICAg
ICAgICAgICAgIHsgMjAwMCwgeyAweDU3RCB9IH0sCisgICAgICAgICAgICAgICAgeyAxMDAwLCB7
IDB4NTdDIH0gfSwKKyAgICAgICAgICAgICAgICB7IDkwMCwgeyAweDU3QiB9IH0sCisgICAgICAg
ICAgICAgICAgeyA4MDAsIHsgMHg1N0EgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwLCB7IDB4
NTc5IH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMCwgeyAweDU3OCB9IH0sCisgICAgICAgICAg
ICAgICAgeyA1MDAsIHsgMHg1NzcgfSB9LAorICAgICAgICAgICAgICAgIHsgNDAwLCB7IDB4NTc2
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwMCwgeyAweDU3NSB9IH0sCisgICAgICAgICAgICAg
ICAgeyAyMDAsIHsgMHg1NzQgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwLCB7IDB4NTczIH0g
fSwKKyAgICAgICAgICAgICAgICB7IDkwLCB7IDB4NTcyIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDgwLCB7IDB4NTcxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwLCB7IDB4NTcwIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDYwLCB7IDB4NTZGIH0gfSwKKyAgICAgICAgICAgICAgICB7IDUwLCB7
IDB4NTZFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDQwLCB7IDB4NTZEIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDMwLCB7IDB4NTZDIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwLCB7IDB4NTZC
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwLCB7IDB4NTZBIH0gfSwKKyAgICAgICAgICAgICAg
ICB7IDksIHsgMHg1NjkgfSB9LAorICAgICAgICAgICAgICAgIHsgOCwgeyAweDU2OCB9IH0sCisg
ICAgICAgICAgICAgICAgeyA3LCB7IDB4NTY3IH0gfSwKKyAgICAgICAgICAgICAgICB7IDYsIHsg
MHg1NjYgfSB9LAorICAgICAgICAgICAgICAgIHsgNSwgeyAweDU2NSB9IH0sCisgICAgICAgICAg
ICAgICAgeyA0LCB7IDB4NTY0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDMsIHsgMHg1NjMgfSB9
LAorICAgICAgICAgICAgICAgIHsgMiwgeyAweDU2MiB9IH0sCisgICAgICAgICAgICAgICAgeyAx
LCB7IDB4NTYxIH0gfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgIHsgfQorICAgICAgICB9
OworICAgICAgICByZXR1cm4gdG9QcmVkZWZpbmVkQWRkaXRpdmVTeXN0ZW0odmFsdWUsIGxvd2Vy
QXJtZW5pYW5TeXN0ZW0pOworICAgIH0KKworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6R2Vvcmdp
YW46IHsKKyAgICAgICAgc3RhdGljIENPTlNURVhQUl9XSVRIX01TVkNfSU5JVElBTElaRVJfTElT
VF9XT1JLQVJPVU5EIEFkZGl0aXZlU3lzdGVtIGdlb3JnaWFuU3lzdGVtIHsKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICB7IDEwMDAwLCB7IDB4MTBGNSB9IH0sCisgICAgICAgICAgICAg
ICAgeyA5MDAwLCB7IDB4MTBGMCB9IH0sCisgICAgICAgICAgICAgICAgeyA4MDAwLCB7IDB4MTBF
RiB9IH0sCisgICAgICAgICAgICAgICAgeyA3MDAwLCB7IDB4MTBGNCB9IH0sCisgICAgICAgICAg
ICAgICAgeyA2MDAwLCB7IDB4MTBFRSB9IH0sCisgICAgICAgICAgICAgICAgeyA1MDAwLCB7IDB4
MTBFRCB9IH0sCisgICAgICAgICAgICAgICAgeyA0MDAwLCB7IDB4MTBFQyB9IH0sCisgICAgICAg
ICAgICAgICAgeyAzMDAwLCB7IDB4MTBFQiB9IH0sCisgICAgICAgICAgICAgICAgeyAyMDAwLCB7
IDB4MTBFQSB9IH0sCisgICAgICAgICAgICAgICAgeyAxMDAwLCB7IDB4MTBFOSB9IH0sCisgICAg
ICAgICAgICAgICAgeyA5MDAsIHsgMHgxMEU4IH0gfSwKKyAgICAgICAgICAgICAgICB7IDgwMCwg
eyAweDEwRTcgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwLCB7IDB4MTBFNiB9IH0sCisgICAg
ICAgICAgICAgICAgeyA2MDAsIHsgMHgxMEU1IH0gfSwKKyAgICAgICAgICAgICAgICB7IDUwMCwg
eyAweDEwRTQgfSB9LAorICAgICAgICAgICAgICAgIHsgNDAwLCB7IDB4MTBGMyB9IH0sCisgICAg
ICAgICAgICAgICAgeyAzMDAsIHsgMHgxMEUyIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwMCwg
eyAweDEwRTEgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwLCB7IDB4MTBFMCB9IH0sCisgICAg
ICAgICAgICAgICAgeyA5MCwgeyAweDEwREYgfSB9LAorICAgICAgICAgICAgICAgIHsgODAsIHsg
MHgxMERFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwLCB7IDB4MTBERCB9IH0sCisgICAgICAg
ICAgICAgICAgeyA2MCwgeyAweDEwRjIgfSB9LAorICAgICAgICAgICAgICAgIHsgNTAsIHsgMHgx
MERDIH0gfSwKKyAgICAgICAgICAgICAgICB7IDQwLCB7IDB4MTBEQiB9IH0sCisgICAgICAgICAg
ICAgICAgeyAzMCwgeyAweDEwREEgfSB9LAorICAgICAgICAgICAgICAgIHsgMjAsIHsgMHgxMEQ5
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwLCB7IDB4MTBEOCB9IH0sCisgICAgICAgICAgICAg
ICAgeyA5LCB7IDB4MTBENyB9IH0sCisgICAgICAgICAgICAgICAgeyA4LCB7IDB4MTBGMSB9IH0s
CisgICAgICAgICAgICAgICAgeyA3LCB7IDB4MTBENiB9IH0sCisgICAgICAgICAgICAgICAgeyA2
LCB7IDB4MTBENSB9IH0sCisgICAgICAgICAgICAgICAgeyA1LCB7IDB4MTBENCB9IH0sCisgICAg
ICAgICAgICAgICAgeyA0LCB7IDB4MTBEMyB9IH0sCisgICAgICAgICAgICAgICAgeyAzLCB7IDB4
MTBEMiB9IH0sCisgICAgICAgICAgICAgICAgeyAyLCB7IDB4MTBEMSB9IH0sCisgICAgICAgICAg
ICAgICAgeyAxLCB7IDB4MTBEMCB9IH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7IH0K
KyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIHRvUHJlZGVmaW5lZEFkZGl0aXZlU3lzdGVtKHZh
bHVlLCBnZW9yZ2lhblN5c3RlbSk7CisgICAgfQorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGVi
cmV3OiB7CisgICAgICAgIHN0YXRpYyBDT05TVEVYUFJfV0lUSF9NU1ZDX0lOSVRJQUxJWkVSX0xJ
U1RfV09SS0FST1VORCBBZGRpdGl2ZVN5c3RlbSBoZWJyZXdTeXN0ZW0geworICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHsgMTAwMDAsIHsgMHg1RDksIDB4NUYzIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDkwMDAsIHsgMHg1RDgsIDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDgw
MDAsIHsgMHg1RDcsIDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwMDAsIHsgMHg1RDYs
IDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMDAsIHsgMHg1RDUsIDB4NUYzIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDUwMDAsIHsgMHg1RDQsIDB4NUYzIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDQwMDAsIHsgMHg1RDMsIDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwMDAs
IHsgMHg1RDIsIDB4NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwMDAsIHsgMHg1RDEsIDB4
NUYzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwMDAsIHsgMHg1RDAsIDB4NUYzIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDQwMCwgeyAweDVFQSB9IH0sCisgICAgICAgICAgICAgICAgeyAzMDAs
IHsgMHg1RTkgfSB9LAorICAgICAgICAgICAgICAgIHsgMjAwLCB7IDB4NUU4IH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDEwMCwgeyAweDVFNyB9IH0sCisgICAgICAgICAgICAgICAgeyA5MCwgeyAw
eDVFNiB9IH0sCisgICAgICAgICAgICAgICAgeyA4MCwgeyAweDVFNCB9IH0sCisgICAgICAgICAg
ICAgICAgeyA3MCwgeyAweDVFMiB9IH0sCisgICAgICAgICAgICAgICAgeyA2MCwgeyAweDVFMSB9
IH0sCisgICAgICAgICAgICAgICAgeyA1MCwgeyAweDVFMCB9IH0sCisgICAgICAgICAgICAgICAg
eyA0MCwgeyAweDVERSB9IH0sCisgICAgICAgICAgICAgICAgeyAzMCwgeyAweDVEQyB9IH0sCisg
ICAgICAgICAgICAgICAgeyAyMCwgeyAweDVEQiB9IH0sCisgICAgICAgICAgICAgICAgeyAxOSwg
eyAweDVEOSwgMHg1RDggfSB9LAorICAgICAgICAgICAgICAgIHsgMTgsIHsgMHg1RDksIDB4NUQ3
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDE3LCB7IDB4NUQ5LCAweDVENiB9IH0sCisgICAgICAg
ICAgICAgICAgeyAxNiwgeyAweDVEOCwgMHg1RDYgfSB9LAorICAgICAgICAgICAgICAgIHsgMTUs
IHsgMHg1RDgsIDB4NUQ1IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwLCB7IDB4NUQ5IH0gfSwK
KyAgICAgICAgICAgICAgICB7IDksIHsgMHg1RDggfSB9LAorICAgICAgICAgICAgICAgIHsgOCwg
eyAweDVENyB9IH0sCisgICAgICAgICAgICAgICAgeyA3LCB7IDB4NUQ2IH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDYsIHsgMHg1RDUgfSB9LAorICAgICAgICAgICAgICAgIHsgNSwgeyAweDVENCB9
IH0sCisgICAgICAgICAgICAgICAgeyA0LCB7IDB4NUQzIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDMsIHsgMHg1RDIgfSB9LAorICAgICAgICAgICAgICAgIHsgMiwgeyAweDVEMSB9IH0sCisgICAg
ICAgICAgICAgICAgeyAxLCB7IDB4NUQwIH0gfQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAg
IHsgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gdG9QcmVkZWZpbmVkQWRkaXRpdmVTeXN0
ZW0odmFsdWUsIGhlYnJld1N5c3RlbSk7CisgICAgfQogCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpDSktEZWNpbWFsOiB7CiAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgVUNoYXIgQ0pLRGVjaW1h
bE51bWVyYWxzWzEwXSA9IHsKQEAgLTEwNjQsNiArMTIyNSwyMzUgQEAgU3RyaW5nIGxpc3RNYXJr
ZXJUZXh0KExpc3RTdHlsZVR5cGUgdHlwZSwgaW50IHZhbHVlKQogICAgICAgICByZXR1cm4gdG9O
dW1lcmljKHZhbHVlLCB0YW1pbE51bWVyYWxzKTsKICAgICB9CiAKKyAgICBjYXNlIExpc3RTdHls
ZVR5cGU6OkphcGFuZXNlSW5mb3JtYWw6IHsKKyAgICAgICAgc3RhdGljIENPTlNURVhQUl9XSVRI
X01TVkNfSU5JVElBTElaRVJfTElTVF9XT1JLQVJPVU5EIEFkZGl0aXZlU3lzdGVtIGphcGFuZXNl
SW5mb3JtYWxTeXN0ZW0geworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHsgOTAwMCwg
eyAweDRFNUQsIDB4NTM0MyB9IH0sCisgICAgICAgICAgICAgICAgeyA4MDAwLCB7IDB4NTE2Qiwg
MHg1MzQzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwMDAsIHsgMHg0RTAzLCAweDUzNDMgfSB9
LAorICAgICAgICAgICAgICAgIHsgNjAwMCwgeyAweDUxNkQsIDB4NTM0MyB9IH0sCisgICAgICAg
ICAgICAgICAgeyA1MDAwLCB7IDB4NEU5NCwgMHg1MzQzIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDQwMDAsIHsgMHg1NkRCLCAweDUzNDMgfSB9LAorICAgICAgICAgICAgICAgIHsgMzAwMCwgeyAw
eDRFMDksIDB4NTM0MyB9IH0sCisgICAgICAgICAgICAgICAgeyAyMDAwLCB7IDB4NEU4QywgMHg1
MzQzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwMDAsIHsgMHg1MzQzIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDkwMCwgeyAweDRFNUQsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyA4
MDAsIHsgMHg1MTZCLCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwLCB7IDB4NEUw
MywgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMCwgeyAweDUxNkQsIDB4NzY3RSB9
IH0sCisgICAgICAgICAgICAgICAgeyA1MDAsIHsgMHg0RTk0LCAweDc2N0UgfSB9LAorICAgICAg
ICAgICAgICAgIHsgNDAwLCB7IDB4NTZEQiwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDMwMCwgeyAweDRFMDksIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyAyMDAsIHsgMHg0
RThDLCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwLCB7IDB4NzY3RSB9IH0sCisg
ICAgICAgICAgICAgICAgeyA5MCwgeyAweDRFNUQsIDB4NTM0MSB9IH0sCisgICAgICAgICAgICAg
ICAgeyA4MCwgeyAweDUxNkIsIDB4NTM0MSB9IH0sCisgICAgICAgICAgICAgICAgeyA3MCwgeyAw
eDRFMDMsIDB4NTM0MSB9IH0sCisgICAgICAgICAgICAgICAgeyA2MCwgeyAweDUxNkQsIDB4NTM0
MSB9IH0sCisgICAgICAgICAgICAgICAgeyA1MCwgeyAweDRFOTQsIDB4NTM0MSB9IH0sCisgICAg
ICAgICAgICAgICAgeyA0MCwgeyAweDU2REIsIDB4NTM0MSB9IH0sCisgICAgICAgICAgICAgICAg
eyAzMCwgeyAweDRFMDksIDB4NTM0MSB9IH0sCisgICAgICAgICAgICAgICAgeyAyMCwgeyAweDRF
OEMsIDB4NTM0MSB9IH0sCisgICAgICAgICAgICAgICAgeyAxMCwgeyAweDUzNDEgfSB9LAorICAg
ICAgICAgICAgICAgIHsgOSwgeyAweDRFNUQgfSB9LAorICAgICAgICAgICAgICAgIHsgOCwgeyAw
eDUxNkIgfSB9LAorICAgICAgICAgICAgICAgIHsgNywgeyAweDRFMDMgfSB9LAorICAgICAgICAg
ICAgICAgIHsgNiwgeyAweDUxNkQgfSB9LAorICAgICAgICAgICAgICAgIHsgNSwgeyAweDRFOTQg
fSB9LAorICAgICAgICAgICAgICAgIHsgNCwgeyAweDU2REIgfSB9LAorICAgICAgICAgICAgICAg
IHsgMywgeyAweDRFMDkgfSB9LAorICAgICAgICAgICAgICAgIHsgMiwgeyAweDRFOEMgfSB9LAor
ICAgICAgICAgICAgICAgIHsgMSwgeyAweDRFMDAgfSB9LAorICAgICAgICAgICAgICAgIHsgMCwg
eyAweDMwMDcgfSB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeyAweDMwREUsIDB4MzBB
NCwgMHgzMENBLCAweDMwQjkgfQorICAgICAgICB9OworICAgICAgICByZXR1cm4gdG9QcmVkZWZp
bmVkQWRkaXRpdmVTeXN0ZW0odmFsdWUsIGphcGFuZXNlSW5mb3JtYWxTeXN0ZW0pOworICAgIH0K
KyAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkphcGFuZXNlRm9ybWFsOiB7CisgICAgICAgIHN0YXRp
YyBDT05TVEVYUFJfV0lUSF9NU1ZDX0lOSVRJQUxJWkVSX0xJU1RfV09SS0FST1VORCBBZGRpdGl2
ZVN5c3RlbSBqYXBhbmVzZUZvcm1hbFN5c3RlbSB7CisgICAgICAgICAgICB7CisgICAgICAgICAg
ICAgICAgeyA5MDAwLCB7IDB4NEU1RCwgMHg5NjIxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDgw
MDAsIHsgMHg1MTZCLCAweDk2MjEgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwMCwgeyAweDRF
MDMsIDB4OTYyMSB9IH0sCisgICAgICAgICAgICAgICAgeyA2MDAwLCB7IDB4NTE2RCwgMHg5NjIx
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDUwMDAsIHsgMHg0RjBELCAweDk2MjEgfSB9LAorICAg
ICAgICAgICAgICAgIHsgNDAwMCwgeyAweDU2REIsIDB4OTYyMSB9IH0sCisgICAgICAgICAgICAg
ICAgeyAzMDAwLCB7IDB4NTNDMiwgMHg5NjIxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwMDAs
IHsgMHg1RjEwLCAweDk2MjEgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwMCwgeyAweDU4RjEs
IDB4OTYyMSB9IH0sCisgICAgICAgICAgICAgICAgeyA5MDAsIHsgMHg0RTVELCAweDc2N0UgfSB9
LAorICAgICAgICAgICAgICAgIHsgODAwLCB7IDB4NTE2QiwgMHg3NjdFIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDcwMCwgeyAweDRFMDMsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyA2
MDAsIHsgMHg1MTZELCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgNTAwLCB7IDB4NEYw
RCwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDQwMCwgeyAweDU2REIsIDB4NzY3RSB9
IH0sCisgICAgICAgICAgICAgICAgeyAzMDAsIHsgMHg1M0MyLCAweDc2N0UgfSB9LAorICAgICAg
ICAgICAgICAgIHsgMjAwLCB7IDB4NUYxMCwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDEwMCwgeyAweDU4RjEsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyA5MCwgeyAweDRF
NUQsIDB4NjJGRSB9IH0sCisgICAgICAgICAgICAgICAgeyA4MCwgeyAweDUxNkIsIDB4NjJGRSB9
IH0sCisgICAgICAgICAgICAgICAgeyA3MCwgeyAweDRFMDMsIDB4NjJGRSB9IH0sCisgICAgICAg
ICAgICAgICAgeyA2MCwgeyAweDUxNkQsIDB4NjJGRSB9IH0sCisgICAgICAgICAgICAgICAgeyA1
MCwgeyAweDRGMEQsIDB4NjJGRSB9IH0sCisgICAgICAgICAgICAgICAgeyA0MCwgeyAweDU2REIs
IDB4NjJGRSB9IH0sCisgICAgICAgICAgICAgICAgeyAzMCwgeyAweDUzQzIsIDB4NjJGRSB9IH0s
CisgICAgICAgICAgICAgICAgeyAyMCwgeyAweDVGMTAsIDB4NjJGRSB9IH0sCisgICAgICAgICAg
ICAgICAgeyAxMCwgeyAweDU4RjEsIDB4NjJGRSB9IH0sCisgICAgICAgICAgICAgICAgeyA5LCB7
IDB4NEU1RCB9IH0sCisgICAgICAgICAgICAgICAgeyA4LCB7IDB4NTE2QiB9IH0sCisgICAgICAg
ICAgICAgICAgeyA3LCB7IDB4NEUwMyB9IH0sCisgICAgICAgICAgICAgICAgeyA2LCB7IDB4NTE2
RCB9IH0sCisgICAgICAgICAgICAgICAgeyA1LCB7IDB4NEYwRCB9IH0sCisgICAgICAgICAgICAg
ICAgeyA0LCB7IDB4NTZEQiB9IH0sCisgICAgICAgICAgICAgICAgeyAzLCB7IDB4NTNDMiB9IH0s
CisgICAgICAgICAgICAgICAgeyAyLCB7IDB4NUYxMCB9IH0sCisgICAgICAgICAgICAgICAgeyAx
LCB7IDB4NThGMSB9IH0sCisgICAgICAgICAgICAgICAgeyAwLCB7IDB4OTZGNiB9IH0KKyAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICB7IDB4MzBERSwgMHgzMEE0LCAweDMwQ0EsIDB4MzBCOSB9
CisgICAgICAgIH07CisgICAgICAgIHJldHVybiB0b1ByZWRlZmluZWRBZGRpdGl2ZVN5c3RlbSh2
YWx1ZSwgamFwYW5lc2VGb3JtYWxTeXN0ZW0pOworICAgIH0KKyAgICBjYXNlIExpc3RTdHlsZVR5
cGU6OktvcmVhbkhhbmd1bEZvcm1hbDogeworICAgICAgICBzdGF0aWMgQ09OU1RFWFBSX1dJVEhf
TVNWQ19JTklUSUFMSVpFUl9MSVNUX1dPUktBUk9VTkQgQWRkaXRpdmVTeXN0ZW0ga29yZWFuSGFu
Z3VsRm9ybWFsU3lzdGVtIHsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB7IDkwMDAs
IHsgMHhBRDZDLCAweENDOUMgfSB9LAorICAgICAgICAgICAgICAgIHsgODAwMCwgeyAweEQzMTQs
IDB4Q0M5QyB9IH0sCisgICAgICAgICAgICAgICAgeyA3MDAwLCB7IDB4Q0U2MCwgMHhDQzlDIH0g
fSwKKyAgICAgICAgICAgICAgICB7IDYwMDAsIHsgMHhDNzIxLCAweENDOUMgfSB9LAorICAgICAg
ICAgICAgICAgIHsgNTAwMCwgeyAweEM2MjQsIDB4Q0M5QyB9IH0sCisgICAgICAgICAgICAgICAg
eyA0MDAwLCB7IDB4QzBBQywgMHhDQzlDIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMwMDAsIHsg
MHhDMEJDLCAweENDOUMgfSB9LAorICAgICAgICAgICAgICAgIHsgMjAwMCwgeyAweEM3NzQsIDB4
Q0M5QyB9IH0sCisgICAgICAgICAgICAgICAgeyAxMDAwLCB7IDB4Qzc3QywgMHhDQzlDIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDkwMCwgeyAweEFENkMsIDB4QkMzMSB9IH0sCisgICAgICAgICAg
ICAgICAgeyA4MDAsIHsgMHhEMzE0LCAweEJDMzEgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAw
LCB7IDB4Q0U2MCwgMHhCQzMxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwMCwgeyAweEM3MjEs
IDB4QkMzMSB9IH0sCisgICAgICAgICAgICAgICAgeyA1MDAsIHsgMHhDNjI0LCAweEJDMzEgfSB9
LAorICAgICAgICAgICAgICAgIHsgNDAwLCB7IDB4QzBBQywgMHhCQzMxIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDMwMCwgeyAweEMwQkMsIDB4QkMzMSB9IH0sCisgICAgICAgICAgICAgICAgeyAy
MDAsIHsgMHhDNzc0LCAweEJDMzEgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwLCB7IDB4Qzc3
QywgMHhCQzMxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDkwLCB7IDB4QUQ2QywgMHhDMkVEIH0g
fSwKKyAgICAgICAgICAgICAgICB7IDgwLCB7IDB4RDMxNCwgMHhDMkVEIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDcwLCB7IDB4Q0U2MCwgMHhDMkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYw
LCB7IDB4QzcyMSwgMHhDMkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDUwLCB7IDB4QzYyNCwg
MHhDMkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDQwLCB7IDB4QzBBQywgMHhDMkVEIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDMwLCB7IDB4QzBCQywgMHhDMkVEIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDIwLCB7IDB4Qzc3NCwgMHhDMkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwLCB7
IDB4Qzc3QywgMHhDMkVEIH0gfSwKKyAgICAgICAgICAgICAgICB7IDksIHsgMHhBRDZDIH0gfSwK
KyAgICAgICAgICAgICAgICB7IDgsIHsgMHhEMzE0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDcs
IHsgMHhDRTYwIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYsIHsgMHhDNzIxIH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDUsIHsgMHhDNjI0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDQsIHsgMHhD
MEFDIH0gfSwKKyAgICAgICAgICAgICAgICB7IDMsIHsgMHhDMEJDIH0gfSwKKyAgICAgICAgICAg
ICAgICB7IDIsIHsgMHhDNzc0IH0gfSwKKyAgICAgICAgICAgICAgICB7IDEsIHsgMHhDNzdDIH0g
fSwKKyAgICAgICAgICAgICAgICB7IDAsIHsgMHhDNjAxIH0gfQorICAgICAgICAgICAgfSwKKyAg
ICAgICAgICAgIHsgMHhCOUM4LCAweEM3NzQsIDB4QjEwOCwgMHhDMkE0LCAnICcgfQorICAgICAg
ICB9OworICAgICAgICByZXR1cm4gdG9QcmVkZWZpbmVkQWRkaXRpdmVTeXN0ZW0odmFsdWUsIGtv
cmVhbkhhbmd1bEZvcm1hbFN5c3RlbSk7CisgICAgfQorICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
S29yZWFuSGFuamFJbmZvcm1hbDogeworICAgICAgICBzdGF0aWMgQ09OU1RFWFBSX1dJVEhfTVNW
Q19JTklUSUFMSVpFUl9MSVNUX1dPUktBUk9VTkQgQWRkaXRpdmVTeXN0ZW0ga29yZWFuSGFuamFJ
bmZvcm1hbFN5c3RlbSB7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgeyA5MDAwLCB7
IDB4NEU1RCwgMHg1MzQzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDgwMDAsIHsgMHg1MTZCLCAw
eDUzNDMgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAwMCwgeyAweDRFMDMsIDB4NTM0MyB9IH0s
CisgICAgICAgICAgICAgICAgeyA2MDAwLCB7IDB4NTE2RCwgMHg1MzQzIH0gfSwKKyAgICAgICAg
ICAgICAgICB7IDUwMDAsIHsgMHg0RTk0LCAweDUzNDMgfSB9LAorICAgICAgICAgICAgICAgIHsg
NDAwMCwgeyAweDU2REIsIDB4NTM0MyB9IH0sCisgICAgICAgICAgICAgICAgeyAzMDAwLCB7IDB4
NEUwOSwgMHg1MzQzIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwMDAsIHsgMHg0RThDLCAweDUz
NDMgfSB9LAorICAgICAgICAgICAgICAgIHsgMTAwMCwgeyAweDUzNDMgfSB9LAorICAgICAgICAg
ICAgICAgIHsgOTAwLCB7IDB4NEU1RCwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDgw
MCwgeyAweDUxNkIsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyA3MDAsIHsgMHg0RTAz
LCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgNjAwLCB7IDB4NTE2RCwgMHg3NjdFIH0g
fSwKKyAgICAgICAgICAgICAgICB7IDUwMCwgeyAweDRFOTQsIDB4NzY3RSB9IH0sCisgICAgICAg
ICAgICAgICAgeyA0MDAsIHsgMHg1NkRCLCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsg
MzAwLCB7IDB4NEUwOSwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwMCwgeyAweDRF
OEMsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyAxMDAsIHsgMHg3NjdFIH0gfSwKKyAg
ICAgICAgICAgICAgICB7IDkwLCB7IDB4NEU1RCwgMHg1MzQxIH0gfSwKKyAgICAgICAgICAgICAg
ICB7IDgwLCB7IDB4NTE2QiwgMHg1MzQxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDcwLCB7IDB4
NEUwMywgMHg1MzQxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDYwLCB7IDB4NTE2RCwgMHg1MzQx
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDUwLCB7IDB4NEU5NCwgMHg1MzQxIH0gfSwKKyAgICAg
ICAgICAgICAgICB7IDQwLCB7IDB4NTZEQiwgMHg1MzQxIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDMwLCB7IDB4NEUwOSwgMHg1MzQxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwLCB7IDB4NEU4
QywgMHg1MzQxIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEwLCB7IDB4NTM0MSB9IH0sCisgICAg
ICAgICAgICAgICAgeyA5LCB7IDB4NEU1RCB9IH0sCisgICAgICAgICAgICAgICAgeyA4LCB7IDB4
NTE2QiB9IH0sCisgICAgICAgICAgICAgICAgeyA3LCB7IDB4NEUwMyB9IH0sCisgICAgICAgICAg
ICAgICAgeyA2LCB7IDB4NTE2RCB9IH0sCisgICAgICAgICAgICAgICAgeyA1LCB7IDB4NEU5NCB9
IH0sCisgICAgICAgICAgICAgICAgeyA0LCB7IDB4NTZEQiB9IH0sCisgICAgICAgICAgICAgICAg
eyAzLCB7IDB4NEUwOSB9IH0sCisgICAgICAgICAgICAgICAgeyAyLCB7IDB4NEU4QyB9IH0sCisg
ICAgICAgICAgICAgICAgeyAxLCB7IDB4NEUwMCB9IH0sCisgICAgICAgICAgICAgICAgeyAwLCB7
IDB4OTZGNiB9IH0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7IDB4QjlDOCwgMHhDNzc0
LCAweEIxMDgsIDB4QzJBNCwgJyAnIH0KKyAgICAgICAgfTsKKyAgICAgICAgcmV0dXJuIHRvUHJl
ZGVmaW5lZEFkZGl0aXZlU3lzdGVtKHZhbHVlLCBrb3JlYW5IYW5qYUluZm9ybWFsU3lzdGVtKTsK
KyAgICB9CisgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLb3JlYW5IYW5qYUZvcm1hbDogeworICAg
ICAgICBzdGF0aWMgQ09OU1RFWFBSX1dJVEhfTVNWQ19JTklUSUFMSVpFUl9MSVNUX1dPUktBUk9V
TkQgQWRkaXRpdmVTeXN0ZW0ga29yZWFuSGFuamFGb3JtYWxTeXN0ZW0geworICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIHsgOTAwMCwgeyAweDRFNUQsIDB4NEVERiB9IH0sCisgICAgICAg
ICAgICAgICAgeyA4MDAwLCB7IDB4NTE2QiwgMHg0RURGIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDcwMDAsIHsgMHg0RTAzLCAweDRFREYgfSB9LAorICAgICAgICAgICAgICAgIHsgNjAwMCwgeyAw
eDUxNkQsIDB4NEVERiB9IH0sCisgICAgICAgICAgICAgICAgeyA1MDAwLCB7IDB4NEU5NCwgMHg0
RURGIH0gfSwKKyAgICAgICAgICAgICAgICB7IDQwMDAsIHsgMHg1NkRCLCAweDRFREYgfSB9LAor
ICAgICAgICAgICAgICAgIHsgMzAwMCwgeyAweDUzQzMsIDB4NEVERiB9IH0sCisgICAgICAgICAg
ICAgICAgeyAyMDAwLCB7IDB4OENCMywgMHg0RURGIH0gfSwKKyAgICAgICAgICAgICAgICB7IDEw
MDAsIHsgMHg1OEY5LCAweDRFREYgfSB9LAorICAgICAgICAgICAgICAgIHsgOTAwLCB7IDB4NEU1
RCwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7IDgwMCwgeyAweDUxNkIsIDB4NzY3RSB9
IH0sCisgICAgICAgICAgICAgICAgeyA3MDAsIHsgMHg0RTAzLCAweDc2N0UgfSB9LAorICAgICAg
ICAgICAgICAgIHsgNjAwLCB7IDB4NTE2RCwgMHg3NjdFIH0gfSwKKyAgICAgICAgICAgICAgICB7
IDUwMCwgeyAweDRFOTQsIDB4NzY3RSB9IH0sCisgICAgICAgICAgICAgICAgeyA0MDAsIHsgMHg1
NkRCLCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAgIHsgMzAwLCB7IDB4NTNDMywgMHg3NjdF
IH0gfSwKKyAgICAgICAgICAgICAgICB7IDIwMCwgeyAweDhDQjMsIDB4NzY3RSB9IH0sCisgICAg
ICAgICAgICAgICAgeyAxMDAsIHsgMHg1OEY5LCAweDc2N0UgfSB9LAorICAgICAgICAgICAgICAg
IHsgOTAsIHsgMHg0RTVELCAweDYyRkUgfSB9LAorICAgICAgICAgICAgICAgIHsgODAsIHsgMHg1
MTZCLCAweDYyRkUgfSB9LAorICAgICAgICAgICAgICAgIHsgNzAsIHsgMHg0RTAzLCAweDYyRkUg
fSB9LAorICAgICAgICAgICAgICAgIHsgNjAsIHsgMHg1MTZELCAweDYyRkUgfSB9LAorICAgICAg
ICAgICAgICAgIHsgNTAsIHsgMHg0RTk0LCAweDYyRkUgfSB9LAorICAgICAgICAgICAgICAgIHsg
NDAsIHsgMHg1NkRCLCAweDYyRkUgfSB9LAorICAgICAgICAgICAgICAgIHsgMzAsIHsgMHg1M0Mz
LCAweDYyRkUgfSB9LAorICAgICAgICAgICAgICAgIHsgMjAsIHsgMHg4Q0IzLCAweDYyRkUgfSB9
LAorICAgICAgICAgICAgICAgIHsgMTAsIHsgMHg1OEY5LCAweDYyRkUgfSB9LAorICAgICAgICAg
ICAgICAgIHsgOSwgeyAweDRFNUQgfSB9LAorICAgICAgICAgICAgICAgIHsgOCwgeyAweDUxNkIg
fSB9LAorICAgICAgICAgICAgICAgIHsgNywgeyAweDRFMDMgfSB9LAorICAgICAgICAgICAgICAg
IHsgNiwgeyAweDUxNkQgfSB9LAorICAgICAgICAgICAgICAgIHsgNSwgeyAweDRFOTQgfSB9LAor
ICAgICAgICAgICAgICAgIHsgNCwgeyAweDU2REIgfSB9LAorICAgICAgICAgICAgICAgIHsgMywg
eyAweDUzQzMgfSB9LAorICAgICAgICAgICAgICAgIHsgMiwgeyAweDhDQjMgfSB9LAorICAgICAg
ICAgICAgICAgIHsgMSwgeyAweDU4RjkgfSB9LAorICAgICAgICAgICAgICAgIHsgMCwgeyAweDk2
RjYgfSB9CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeyAweEI5QzgsIDB4Qzc3NCwgMHhC
MTA4LCAweEMyQTQsICcgJyB9CisgICAgICAgIH07CisgICAgICAgIHJldHVybiB0b1ByZWRlZmlu
ZWRBZGRpdGl2ZVN5c3RlbSh2YWx1ZSwga29yZWFuSGFuamFGb3JtYWxTeXN0ZW0pOworICAgIH0K
KworICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNOdW1lcmljOgorICAgICAgICByZXR1
cm4gdG9FdGhpb3BpY051bWVyaWModmFsdWUpOworCiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpT
dHJpbmc6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBicmVhazsKQEAg
LTExMjAsNyArMTUxMCw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6c3R5bGVEaWRDaGFuZ2Uo
U3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvCiBzdGQ6OnVuaXF1ZV9w
dHI8TGVnYWN5SW5saW5lRWxlbWVudEJveD4gUmVuZGVyTGlzdE1hcmtlcjo6Y3JlYXRlSW5saW5l
Qm94KCkKIHsKICAgICBhdXRvIGJveCA9IFJlbmRlckJveDo6Y3JlYXRlSW5saW5lQm94KCk7Ci0g
ICAgYm94LT5zZXRCZWhhdmVzTGlrZVRleHQoaXNUZXh0KCkpOworICAgIGJveC0+c2V0QmVoYXZl
c0xpa2VUZXh0KCFpc0ltYWdlKCkpOwogICAgIHJldHVybiBib3g7CiB9CiAKQEAgLTExNDEsNiAr
MTUzMSw0OSBAQCBMYXlvdXRSZWN0IFJlbmRlckxpc3RNYXJrZXI6OmxvY2FsU2VsZWN0aW9uUmVj
dCgpCiAgICAgcmV0dXJuIExheW91dFJlY3QobmV3TG9naWNhbFRvcCwgMF9sdSwgcm9vdEJveC5z
ZWxlY3Rpb25IZWlnaHQoKSwgaGVpZ2h0KCkpOwogfQogCitzdGF0aWMgU3RyaW5nIHJldmVyc2Vk
KFN0cmluZ1ZpZXcgc3RyaW5nKQoreworICAgIGF1dG8gbGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgp
OworICAgIGlmIChsZW5ndGggPD0gMSkKKyAgICAgICAgcmV0dXJuIHN0cmluZy50b1N0cmluZygp
OworICAgIFVDaGFyKiBjaGFyYWN0ZXJzOworICAgIGF1dG8gcmVzdWx0ID0gU3RyaW5nOjpjcmVh
dGVVbmluaXRpYWxpemVkKGxlbmd0aCwgY2hhcmFjdGVycyk7CisgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGxlbmd0aDsgKytpKQorICAgICAgICAqY2hhcmFjdGVycysrID0gc3RyaW5nW2xl
bmd0aCAtIGkgLSAxXTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdHJ1Y3QgUmVuZGVyTGlz
dE1hcmtlcjo6VGV4dFJ1bldpdGhVbmRlcmx5aW5nU3RyaW5nIHsKKyAgICBUZXh0UnVuIHRleHRS
dW47CisgICAgU3RyaW5nIHVuZGVybHlpbmdTdHJpbmc7CisgICAgb3BlcmF0b3IgY29uc3QgVGV4
dFJ1biYoKSBjb25zdCB7IHJldHVybiB0ZXh0UnVuOyB9Cit9OworCithdXRvIFJlbmRlckxpc3RN
YXJrZXI6OnRleHRSdW4oKSBjb25zdCAtPiBUZXh0UnVuV2l0aFVuZGVybHlpbmdTdHJpbmcKK3sK
KyAgICBBU1NFUlQoIW1fdGV4dFdpdGhTdWZmaXguaXNFbXB0eSgpKTsKKworICAgIC8vIFNpbmNl
IHRoZSBiaWRpIGFsZ29yaXRobSBkb2Vzbid0IHJ1biBvbiB0aGlzIHRleHQsIHdlIGluc3RlYWQg
cmVvcmRlciB0aGUgY2hhcmFjdGVycyBoZXJlLgorICAgIC8vIFdlIHVzZSB1X2NoYXJEaXJlY3Rp
b24gdG8gZmlndXJlIG91dCBpZiB0aGUgbWFya2VyIHRleHQgaXMgUlRMIGFuZCBhc3N1bWUgdGhl
IHN1ZmZpeCBtYXRjaGVzIHRoZSBzdXJyb3VuZGluZyBkaXJlY3Rpb24uCisgICAgU3RyaW5nIHRl
eHRGb3JSdW47CisgICAgaWYgKG1fdGV4dElzTGVmdFRvUmlnaHREaXJlY3Rpb24pIHsKKyAgICAg
ICAgaWYgKHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQorICAgICAgICAgICAgdGV4
dEZvclJ1biA9IG1fdGV4dFdpdGhTdWZmaXg7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAg
aWYgKHN0eWxlKCkubGlzdFN0eWxlVHlwZSgpID09IExpc3RTdHlsZVR5cGU6OkRpc2Nsb3N1cmVD
bG9zZWQpCisgICAgICAgICAgICAgICAgdGV4dEZvclJ1biA9IHsgJmJsYWNrTGVmdFBvaW50aW5n
U21hbGxUcmlhbmdsZSwgMSB9OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHRl
eHRGb3JSdW4gPSBtYWtlU3RyaW5nKHJldmVyc2VkKG1fdGV4dFdpdGhTdWZmaXguc3Vic3RyaW5n
KG1fdGV4dFdpdGhvdXRTdWZmaXhMZW5ndGgpKSwgbV90ZXh0V2l0aFN1ZmZpeC5sZWZ0KG1fdGV4
dFdpdGhvdXRTdWZmaXhMZW5ndGgpKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAg
IGlmICghc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCisgICAgICAgICAgICB0ZXh0
Rm9yUnVuID0gcmV2ZXJzZWQobV90ZXh0V2l0aFN1ZmZpeCk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHRleHRGb3JSdW4gPSBtYWtlU3RyaW5nKHJldmVyc2VkKG1fdGV4dFdpdGhTdWZmaXgu
bGVmdChtX3RleHRXaXRob3V0U3VmZml4TGVuZ3RoKSksIG1fdGV4dFdpdGhTdWZmaXguc3Vic3Ry
aW5nKG1fdGV4dFdpdGhvdXRTdWZmaXhMZW5ndGgpKTsKKyAgICB9CisgICAgcmV0dXJuIHsgUmVu
ZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4odGV4dEZvclJ1biwgc3R5bGUoKSksIHRleHRGb3JS
dW4gfTsKK30KKwogdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpwYWludChQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogewogICAgIGlmIChwYWludElu
Zm8ucGhhc2UgIT0gUGFpbnRQaGFzZTo6Rm9yZWdyb3VuZCkKQEAgLTExNTcsNyArMTU5MCw3IEBA
IHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0
IExheW91dFBvaW50JiBwYWludE9mZnNlCiAKICAgICBMYXlvdXRSZWN0IGJveChib3hPcmlnaW4s
IHNpemUoKSk7CiAgICAgCi0gICAgYXV0byBtYXJrZXJSZWN0ID0gZ2V0UmVsYXRpdmVNYXJrZXJS
ZWN0KCk7CisgICAgYXV0byBtYXJrZXJSZWN0ID0gcmVsYXRpdmVNYXJrZXJSZWN0KCk7CiAgICAg
bWFya2VyUmVjdC5tb3ZlQnkoYm94T3JpZ2luKTsKICAgICBpZiAobWFya2VyUmVjdC5pc0VtcHR5
KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTExODcsOCArMTYyMCw3IEBAIHZvaWQgUmVuZGVyTGlz
dE1hcmtlcjo6cGFpbnQoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBw
YWludE9mZnNlCiAgICAgY29udGV4dC5zZXRTdHJva2VUaGlja25lc3MoMS4wZik7CiAgICAgY29u
dGV4dC5zZXRGaWxsQ29sb3IoY29sb3IpOwogCi0gICAgYXV0byB0eXBlID0gc3R5bGUoKS5saXN0
U3R5bGVUeXBlKCk7Ci0gICAgc3dpdGNoICh0eXBlKSB7CisgICAgc3dpdGNoIChzdHlsZSgpLmxp
c3RTdHlsZVR5cGUoKSkgewogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RGlzYzoKICAgICAgICAg
Y29udGV4dC5kcmF3RWxsaXBzZShtYXJrZXJSZWN0KTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTE5
OSwxNyArMTYzMSwxMiBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZQogICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6U3F1YXJlOgogICAgICAgICBjb250ZXh0LmRyYXdSZWN0KG1hcmtlclJlY3QpOwog
ICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpOb25lOgotICAgICAgICBy
ZXR1cm47CiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIGlmIChtX3Rl
eHQuaXNFbXB0eSgpKQorICAgIGlmIChtX3RleHRXaXRoU3VmZml4LmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgY29uc3QgRm9udENhc2NhZGUmIGZvbnQgPSBzdHlsZSgpLmZvbnRD
YXNjYWRlKCk7Ci0gICAgVGV4dFJ1biB0ZXh0UnVuID0gUmVuZGVyQmxvY2s6OmNvbnN0cnVjdFRl
eHRSdW4obV90ZXh0LCBzdHlsZSgpKTsKLQogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIg
c3RhdGVTYXZlcihjb250ZXh0LCBmYWxzZSk7CiAgICAgaWYgKCFzdHlsZSgpLmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkpIHsKICAgICAgICAgbWFya2VyUmVjdC5tb3ZlQnkoLWJveE9yaWdpbik7
CkBAIC0xMjIzLDQ3ICsxNjUwLDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpwYWludChQYWlu
dEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2UKIAogICAgIEZs
b2F0UG9pbnQgdGV4dE9yaWdpbiA9IEZsb2F0UG9pbnQobWFya2VyUmVjdC54KCksIG1hcmtlclJl
Y3QueSgpICsgc3R5bGUoKS5mb250TWV0cmljcygpLmFzY2VudCgpKTsKICAgICB0ZXh0T3JpZ2lu
ID0gcm91bmRQb2ludFRvRGV2aWNlUGl4ZWxzKExheW91dFBvaW50KHRleHRPcmlnaW4pLCBkb2N1
bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCksIHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpKTsKLQotICAgIGlmICh0eXBlID09IExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrcyB8fCB0eXBl
ID09IExpc3RTdHlsZVR5cGU6OkZvb3Rub3RlcyB8fCB0eXBlID09IExpc3RTdHlsZVR5cGU6OlN0
cmluZykKLSAgICAgICAgY29udGV4dC5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCB0ZXh0T3JpZ2lu
KTsKLSAgICBlbHNlIHsKLSAgICAgICAgYXV0byBzdWZmaXggPSBsaXN0TWFya2VyU3VmZml4KHR5
cGUsIG1fbGlzdEl0ZW0tPnZhbHVlKCkpOwotCi0gICAgICAgIC8vIEZJWE1FOiBDb3VsZCB1c2Ug
YSBWZWN0b3Igd2l0aCBpbmxpbmUgY2FwYWNpdHkgaW5zdGVhZCBvZiBTdHJpbmcgdG8gYXZvaWQK
LSAgICAgICAgLy8gbWVtb3J5IGFsbG9jYXRpb24gaGVyZS4KLSAgICAgICAgU3RyaW5nIHRleHRU
b0RyYXc7Ci0KLSAgICAgICAgLy8gU2luY2UgbWFya2VyIHRleHQgaXMgbm90IGFyYml0cmFyeSwg
d2UgY2FuIGp1ZGdlIGl0cyBkaXJlY3Rpb24ganVzdCBieQotICAgICAgICAvLyBjaGVja2luZyB0
aGUgZmlyc3QgY2hhcmFjdGVyLCBhbmQgb25seSBuZWVkIHRvIGhhbmRsZSBVX1JJR0hUX1RPX0xF
RlQuCi0gICAgICAgIC8vIEZJWE1FOiBDb3VsZCBjaGVjayBtb3JlIGVmZmljaWVudGx5IHRoYW4g
dV9jaGFyRGlyZWN0aW9uLCBzaW5jZSB3ZSBrbm93Ci0gICAgICAgIC8vIG9ubHkgY2VydGFpbiBj
aGFyYWN0ZXJzIGFyZSB1c2VkIGFuZCBvbmx5IG5lZWQgdG8gY2hlY2sgZm9yIFVfUklHSFRfVE9f
TEVGVC4KLSAgICAgICAgYm9vbCBzaG91bGRBZGRTcGFjZSA9IHN1ZmZpeFJlcXVpcmVzU3BhY2Uo
c3VmZml4KTsKLSAgICAgICAgaWYgKHVfY2hhckRpcmVjdGlvbihtX3RleHRbMF0pID09IFVfUklH
SFRfVE9fTEVGVCkgewotICAgICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gbV90ZXh0Lmxlbmd0
aCgpOwotICAgICAgICAgICAgVUNoYXIqIGNoYXJhY3RlcnM7Ci0gICAgICAgICAgICB0ZXh0VG9E
cmF3ID0gU3RyaW5nOjpjcmVhdGVVbmluaXRpYWxpemVkKGxlbmd0aCArIDEgKyBzaG91bGRBZGRT
cGFjZSwgY2hhcmFjdGVycyk7Ci0gICAgICAgICAgICBpZiAoIXN0eWxlKCkuaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNob3VsZEFkZFNwYWNlKQotICAg
ICAgICAgICAgICAgICAgICAqY2hhcmFjdGVycysrID0gc3BhY2U7Ci0gICAgICAgICAgICAgICAg
KmNoYXJhY3RlcnMrKyA9IHN1ZmZpeDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkKLSAgICAgICAgICAgICAgICAqY2hhcmFj
dGVycysrID0gbV90ZXh0W2xlbmd0aCAtIGkgLSAxXTsKLSAgICAgICAgICAgIGlmIChzdHlsZSgp
LmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkgewotICAgICAgICAgICAgICAgICpjaGFyYWN0ZXJz
KysgPSBzdWZmaXg7Ci0gICAgICAgICAgICAgICAgaWYgKHNob3VsZEFkZFNwYWNlKQotICAgICAg
ICAgICAgICAgICAgICAqY2hhcmFjdGVycysrID0gc3BhY2U7Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpZiAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0
aW9uKCkpCi0gICAgICAgICAgICAgICAgdGV4dFRvRHJhdyA9IG1ha2VTdHJpbmcobV90ZXh0LCBz
dWZmaXgsIHNob3VsZEFkZFNwYWNlID8gIiAiIDogIiIpOwotICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgIHRleHRUb0RyYXcgPSBtYWtlU3RyaW5nKHNob3VsZEFkZFNwYWNlID8gIiAi
IDogIiIsIHN1ZmZpeCwgbV90ZXh0KTsKLSAgICAgICAgfQotICAgICAgICB0ZXh0UnVuLnNldFRl
eHQodGV4dFRvRHJhdyk7Ci0KLSAgICAgICAgY29udGV4dC5kcmF3VGV4dChmb250LCB0ZXh0UnVu
LCB0ZXh0T3JpZ2luKTsKLSAgICB9CisgICAgY29udGV4dC5kcmF3VGV4dChzdHlsZSgpLmZvbnRD
YXNjYWRlKCksIHRleHRSdW4oKSwgdGV4dE9yaWdpbik7CiB9CiAKIFJlbmRlckJveCogUmVuZGVy
TGlzdE1hcmtlcjo6cGFyZW50Qm94KFJlbmRlckJveCYgYm94KQpAQCAtMTMwNSw3ICsxNjkyLDcg
QEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjphZGRPdmVyZmxvd0Zyb21MaXN0TWFya2VyKCkKIAog
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIGFjY291bnQgZm9yIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGlu
IHRoZSBsYXlvdXQgb3ZlcmZsb3cuCiAgICAgaWYgKG1fbGlzdEl0ZW0tPnN0eWxlKCkuaXNMZWZ0
VG9SaWdodERpcmVjdGlvbigpKSB7Ci0gICAgICAgIG1hcmtlckxvZ2ljYWxMZWZ0ID0gbGluZU9m
ZnNldEZvckxpc3RJdGVtKCkgLSBsaW5lT2Zmc2V0IC0gbV9saXN0SXRlbS0+cGFkZGluZ1N0YXJ0
KCkgLSBtX2xpc3RJdGVtLT5ib3JkZXJTdGFydCgpICsgbWFyZ2luU3RhcnQoKTsKKyAgICAgICAg
bWFya2VyTG9naWNhbExlZnQgPSBtX2xpbmVPZmZzZXRGb3JMaXN0SXRlbSAtIGxpbmVPZmZzZXQg
LSBtX2xpc3RJdGVtLT5wYWRkaW5nU3RhcnQoKSAtIG1fbGlzdEl0ZW0tPmJvcmRlclN0YXJ0KCkg
KyBtYXJnaW5TdGFydCgpOwogICAgICAgICBpbmxpbmVCb3hXcmFwcGVyKCktPmFkanVzdExpbmVE
aXJlY3Rpb25Qb3NpdGlvbihtYXJrZXJMb2dpY2FsTGVmdCAtIG1hcmtlck9sZExvZ2ljYWxMZWZ0
KTsKICAgICAgICAgZm9yIChhdXRvKiBib3ggPSBpbmxpbmVCb3hXcmFwcGVyKCktPnBhcmVudCgp
OyBib3g7IGJveCA9IGJveC0+cGFyZW50KCkpIHsKICAgICAgICAgICAgIGF1dG8gbmV3TG9naWNh
bFZpc3VhbE92ZXJmbG93UmVjdCA9IGJveC0+bG9naWNhbFZpc3VhbE92ZXJmbG93UmVjdChsaW5l
VG9wLCBsaW5lQm90dG9tKTsKQEAgLTEzMjcsNyArMTcxNCw3IEBAIHZvaWQgUmVuZGVyTGlzdE1h
cmtlcjo6YWRkT3ZlcmZsb3dGcm9tTGlzdE1hcmtlcigpCiAgICAgICAgICAgICAgICAgaGl0U2Vs
ZlBhaW50aW5nTGF5ZXIgPSB0cnVlOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKLSAgICAgICAg
bWFya2VyTG9naWNhbExlZnQgPSBsaW5lT2Zmc2V0Rm9yTGlzdEl0ZW0oKSAtIGxpbmVPZmZzZXQg
KyBtX2xpc3RJdGVtLT5wYWRkaW5nU3RhcnQoKSArIG1fbGlzdEl0ZW0tPmJvcmRlclN0YXJ0KCkg
KyBtYXJnaW5FbmQoKTsKKyAgICAgICAgbWFya2VyTG9naWNhbExlZnQgPSBtX2xpbmVPZmZzZXRG
b3JMaXN0SXRlbSAtIGxpbmVPZmZzZXQgKyBtX2xpc3RJdGVtLT5wYWRkaW5nU3RhcnQoKSArIG1f
bGlzdEl0ZW0tPmJvcmRlclN0YXJ0KCkgKyBtYXJnaW5FbmQoKTsKICAgICAgICAgaW5saW5lQm94
V3JhcHBlcigpLT5hZGp1c3RMaW5lRGlyZWN0aW9uUG9zaXRpb24obWFya2VyTG9naWNhbExlZnQg
LSBtYXJrZXJPbGRMb2dpY2FsTGVmdCk7CiAgICAgICAgIGZvciAoYXV0byogYm94ID0gaW5saW5l
Qm94V3JhcHBlcigpLT5wYXJlbnQoKTsgYm94OyBib3ggPSBib3gtPnBhcmVudCgpKSB7CiAgICAg
ICAgICAgICBhdXRvIG5ld0xvZ2ljYWxWaXN1YWxPdmVyZmxvd1JlY3QgPSBib3gtPmxvZ2ljYWxW
aXN1YWxPdmVyZmxvd1JlY3QobGluZVRvcCwgbGluZUJvdHRvbSk7CkBAIC0xNDIzLDE5ICsxODEw
LDE0IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0
ciBvLCBjb25zdCBJbnRSZWN0KikKIAogdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJn
aW5zQW5kQ29udGVudCgpCiB7Ci0gICAgdXBkYXRlQ29udGVudCgpOworICAgIC8vIEZJWE1FOiBB
IHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbjogaXQncyBtZXNzeSB0byB1c2UgdGhlIHByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMgZGlydHkgYml0IGZvciB0aGlzLiBJdCdzIHVuY2xlYXIgaWYgdGhpcyBp
cyBhIHByZW1hdHVyZSBvcHRpbWl6YXRpb24uCisgICAgaWYgKHByZWZlcnJlZExvZ2ljYWxXaWR0
aHNEaXJ0eSgpKQorICAgICAgICB1cGRhdGVDb250ZW50KCk7CiAgICAgdXBkYXRlTWFyZ2lucygp
OwogfQogCiB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZUNvbnRlbnQoKQogewotICAgIC8v
IEZJWE1FOiBUaGlzIGlmLXN0YXRlbWVudCBpcyBqdXN0IGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0
aW9uLCBidXQgaXQncyBtZXNzeSB0byB1c2UgdGhlIHByZWZlcnJlZExvZ2ljYWxXaWR0aHMgZGly
dHkgYml0IGZvciB0aGlzLgotICAgIC8vIEl0J3MgdW5jbGVhciBpZiB0aGlzIGlzIGEgcHJlbWF0
dXJlIG9wdGltaXphdGlvbi4KLSAgICBpZiAoIXByZWZlcnJlZExvZ2ljYWxXaWR0aHNEaXJ0eSgp
KQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX3RleHQgPSBlbXB0eVN0cmluZygpOwotCiAgICAg
aWYgKGlzSW1hZ2UoKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIHNvbWV3aGF0IGFy
Yml0cmFyeSB3aWR0aC4gIEdlbmVyYXRlZCBpbWFnZXMgZm9yIG1hcmtlcnMgcmVhbGx5IHdvbid0
IGJlY29tZSBwYXJ0aWN1bGFybHkgdXNlZnVsCiAgICAgICAgIC8vIHVudGlsIHdlIHN1cHBvcnQg
dGhlIENTUzMgbWFya2VyIHBzZXVkb2NsYXNzIHRvIGFsbG93IGNvbnRyb2wgb3ZlciB0aGUgd2lk
dGggYW5kIGhlaWdodCBvZiB0aGUgbWFya2VyIGJveC4KQEAgLTE0NDMsMjMgKzE4MjUsMjUgQEAg
dm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVDb250ZW50KCkKICAgICAgICAgTGF5b3V0U2l6
ZSBkZWZhdWx0QnVsbGV0U2l6ZShidWxsZXRXaWR0aCwgYnVsbGV0V2lkdGgpOwogICAgICAgICBM
YXlvdXRTaXplIGltYWdlU2l6ZSA9IGNhbGN1bGF0ZUltYWdlSW50cmluc2ljRGltZW5zaW9ucyht
X2ltYWdlLmdldCgpLCBkZWZhdWx0QnVsbGV0U2l6ZSwgRG9Ob3RTY2FsZUJ5RWZmZWN0aXZlWm9v
bSk7CiAgICAgICAgIG1faW1hZ2UtPnNldENvbnRhaW5lckNvbnRleHRGb3JSZW5kZXJlcigqdGhp
cywgaW1hZ2VTaXplLCBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSk7CisgICAgICAgIG1fdGV4dFdp
dGhTdWZmaXggPSBlbXB0eVN0cmluZygpOworICAgICAgICBtX3RleHRXaXRob3V0U3VmZml4TGVu
Z3RoID0gMDsKKyAgICAgICAgbV90ZXh0SXNMZWZ0VG9SaWdodERpcmVjdGlvbiA9IHRydWU7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBhdXRvIHR5cGUgPSBzdHlsZSgpLmxpc3RTdHls
ZVR5cGUoKTsKICAgICBzd2l0Y2ggKHR5cGUpIHsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok5v
bmU6Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3RyaW5nOgotICAg
ICAgICBtX3RleHQgPSBzdHlsZSgpLmxpc3RTdHlsZVN0cmluZ1ZhbHVlKCk7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q2lyY2xlOgotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6RGlzYzoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlNxdWFyZToKLSAgICAgICAgbV90
ZXh0ID0gbGlzdE1hcmtlclRleHQodHlwZSwgMCk7IC8vIHZhbHVlIGlzIGlnbm9yZWQgZm9yIHRo
ZXNlIHR5cGVzCisgICAgICAgIG1fdGV4dFdpdGhTdWZmaXggPSBzdHlsZSgpLmxpc3RTdHlsZVN0
cmluZ1ZhbHVlKCk7CisgICAgICAgIG1fdGV4dFdpdGhvdXRTdWZmaXhMZW5ndGggPSBtX3RleHRX
aXRoU3VmZml4Lmxlbmd0aCgpOworICAgICAgICAvLyBGSVhNRTogRGVwZW5kaW5nIG9uIHRoZSBz
dHJpbmcgdmFsdWUsIHdlIG1heSBuZWVkIHRoZSByZWFsIGJpZGkgYWxnb3JpdGhtLgorICAgICAg
ICBtX3RleHRJc0xlZnRUb1JpZ2h0RGlyZWN0aW9uID0gdV9jaGFyRGlyZWN0aW9uKG1fdGV4dFdp
dGhTdWZmaXhbMF0pICE9IFVfUklHSFRfVE9fTEVGVDsKICAgICAgICAgYnJlYWs7CiAgICAgZGVm
YXVsdDoKLSAgICAgICAgbV90ZXh0ID0gbGlzdE1hcmtlclRleHQodHlwZSwgbV9saXN0SXRlbS0+
dmFsdWUoKSk7CisgICAgICAgIGF1dG8gdGV4dCA9IGxpc3RNYXJrZXJUZXh0KHR5cGUsIG1fbGlz
dEl0ZW0tPnZhbHVlKCkpOworICAgICAgICBtX3RleHRXaXRoU3VmZml4ID0gbWFrZVN0cmluZyh0
ZXh0LCBsaXN0TWFya2VyU3VmZml4KHR5cGUpKTsKKyAgICAgICAgbV90ZXh0V2l0aG91dFN1ZmZp
eExlbmd0aCA9IHRleHQubGVuZ3RoKCk7CisgICAgICAgIG1fdGV4dElzTGVmdFRvUmlnaHREaXJl
Y3Rpb24gPSB1X2NoYXJEaXJlY3Rpb24odGV4dFswXSkgIT0gVV9SSUdIVF9UT19MRUZUOwogICAg
ICAgICBicmVhazsKICAgICB9CiB9CkBAIC0xNDgwLDMzICsxODY0LDE1IEBAIHZvaWQgUmVuZGVy
TGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIGNvbnN0IEZv
bnRDYXNjYWRlJiBmb250ID0gc3R5bGUoKS5mb250Q2FzY2FkZSgpOwogCiAgICAgTGF5b3V0VW5p
dCBsb2dpY2FsV2lkdGg7Ci0gICAgYXV0byB0eXBlID0gc3R5bGUoKS5saXN0U3R5bGVUeXBlKCk7
Ci0gICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpOb25lOgotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrczoKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkZvb3Rub3RlczoKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlN0cmlu
ZzoKLSAgICAgICAgaWYgKCFtX3RleHQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBUZXh0UnVu
IHJ1biA9IFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKG1fdGV4dCwgc3R5bGUoKSk7Ci0g
ICAgICAgICAgICBsb2dpY2FsV2lkdGggPSBmb250LndpZHRoKHJ1bik7IC8vIG5vIHN1ZmZpeCBm
b3IgdGhlc2UgdHlwZXMKLSAgICAgICAgfQotICAgICAgICBicmVhazsKKyAgICBzd2l0Y2ggKHN0
eWxlKCkubGlzdFN0eWxlVHlwZSgpKSB7CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDaXJjbGU6
CiAgICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEaXNjOgogICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
U3F1YXJlOgogICAgICAgICBsb2dpY2FsV2lkdGggPSAoZm9udC5mb250TWV0cmljcygpLmFzY2Vu
dCgpICogMiAvIDMgKyAxKSAvIDIgKyAyOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0Ogot
ICAgICAgICBpZiAobV90ZXh0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9
IDA7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9j
azo6Y29uc3RydWN0VGV4dFJ1bihtX3RleHQsIHN0eWxlKCkpOwotICAgICAgICAgICAgTGF5b3V0
VW5pdCBpdGVtV2lkdGggeyBmb250LndpZHRoKHJ1bikgfTsKLSAgICAgICAgICAgIFVDaGFyIHN1
ZmZpeFsyXSA9IHsgbGlzdE1hcmtlclN1ZmZpeCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKSwg
JyAnIH07Ci0gICAgICAgICAgICBMYXlvdXRVbml0IHN1ZmZpeFdpZHRoIHsgZm9udC53aWR0aChS
ZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihzdWZmaXgsIHN1ZmZpeFJlcXVpcmVzU3BhY2Uo
c3VmZml4WzBdKSA/IDIgOiAxLCBzdHlsZSgpKSkgfTsKLSAgICAgICAgICAgIGxvZ2ljYWxXaWR0
aCA9IGl0ZW1XaWR0aCArIHN1ZmZpeFdpZHRoOwotICAgICAgICB9CisgICAgICAgIGlmICghbV90
ZXh0V2l0aFN1ZmZpeC5pc0VtcHR5KCkpCisgICAgICAgICAgICBsb2dpY2FsV2lkdGggPSBmb250
LndpZHRoKHRleHRSdW4oKSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMTU1MCwxNCAr
MTkxNiwxMiBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQogICAgICAg
ICAgICAgbWFyZ2luU3RhcnQgPSAtb2Zmc2V0IC0gY01hcmtlclBhZGRpbmcgLSAxOwogICAgICAg
ICAgICAgbWFyZ2luRW5kID0gb2Zmc2V0ICsgY01hcmtlclBhZGRpbmcgKyAxIC0gbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoKCk7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpOb25lOgotICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6U3RyaW5nOgotICAgICAgICAgICAgaWYgKCFtX3RleHQuaXNFbXB0eSgpKQorICAg
ICAgICAgICAgaWYgKCFtX3RleHRXaXRoU3VmZml4LmlzRW1wdHkoKSkKICAgICAgICAgICAgICAg
ICBtYXJnaW5TdGFydCA9IC1taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKCFtX3RleHQuaXNFbXB0
eSgpKSB7CisgICAgICAgICAgICBpZiAoIW1fdGV4dFdpdGhTdWZmaXguaXNFbXB0eSgpKSB7CiAg
ICAgICAgICAgICAgICAgbWFyZ2luU3RhcnQgPSAtbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkg
LSBvZmZzZXQgLyAyOwogICAgICAgICAgICAgICAgIG1hcmdpbkVuZCA9IG9mZnNldCAvIDI7CiAg
ICAgICAgICAgICB9CkBAIC0xNTgyLDUzICsxOTQ2LDE4IEBAIExheW91dFVuaXQgUmVuZGVyTGlz
dE1hcmtlcjo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlLCBib29s
IGZpCiAgICAgcmV0dXJuIFJlbmRlckJveDo6YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUs
IGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKTsKIH0KIAotU3RyaW5nIFJl
bmRlckxpc3RNYXJrZXI6OnN1ZmZpeCgpIGNvbnN0Ci17Ci0gICAgYXV0byB0eXBlID0gc3R5bGUo
KS5saXN0U3R5bGVUeXBlKCk7Ci0gICAgaWYgKHR5cGUgPT0gTGlzdFN0eWxlVHlwZTo6U3RyaW5n
KQotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLQotICAgIGF1dG8gc3VmZml4ID0gbGlz
dE1hcmtlclN1ZmZpeCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKTsKLQotICAgIGlmIChzdWZm
aXggPT0gJyAnKQotICAgICAgICByZXR1cm4gIiAiX3N0cjsKLSAgICBpZiAoIXN1ZmZpeFJlcXVp
cmVzU3BhY2Uoc3VmZml4KSkKLSAgICAgICAgcmV0dXJuIHsgJnN1ZmZpeCwgMSB9OwotCi0gICAg
VUNoYXIgZGF0YVsyXTsKLSAgICBpZiAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkp
IHsKLSAgICAgICAgZGF0YVswXSA9IHN1ZmZpeDsKLSAgICAgICAgZGF0YVsxXSA9ICcgJzsKLSAg
ICB9IGVsc2UgewotICAgICAgICBkYXRhWzBdID0gJyAnOwotICAgICAgICBkYXRhWzFdID0gc3Vm
Zml4OwotICAgIH0KLSAgICByZXR1cm4geyBkYXRhLCAyIH07Ci19Ci0KIGJvb2wgUmVuZGVyTGlz
dE1hcmtlcjo6aXNJbnNpZGUoKSBjb25zdAogewogICAgIHJldHVybiBtX2xpc3RJdGVtLT5ub3RJ
bkxpc3QoKSB8fCBzdHlsZSgpLmxpc3RTdHlsZVBvc2l0aW9uKCkgPT0gTGlzdFN0eWxlUG9zaXRp
b246Okluc2lkZTsKIH0KIAotRmxvYXRSZWN0IFJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0aXZl
TWFya2VyUmVjdCgpCitGbG9hdFJlY3QgUmVuZGVyTGlzdE1hcmtlcjo6cmVsYXRpdmVNYXJrZXJS
ZWN0KCkKIHsKICAgICBpZiAoaXNJbWFnZSgpKQogICAgICAgICByZXR1cm4gRmxvYXRSZWN0KDAs
IDAsIG1faW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKSkud2lk
dGgoKSwgbV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCkuZWZmZWN0aXZlWm9vbSgpKS5o
ZWlnaHQoKSk7Ci0gICAgCisKICAgICBGbG9hdFJlY3QgcmVsYXRpdmVSZWN0OwotICAgIGF1dG8g
dHlwZSA9IHN0eWxlKCkubGlzdFN0eWxlVHlwZSgpOwotICAgIHN3aXRjaCAodHlwZSkgewotICAg
IGNhc2UgTGlzdFN0eWxlVHlwZTo6QXN0ZXJpc2tzOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
Rm9vdG5vdGVzOgotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6U3RyaW5nOiB7Ci0gICAgICAgIGlm
IChtX3RleHQuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwotICAg
ICAgICBjb25zdCBGb250Q2FzY2FkZSYgZm9udCA9IHN0eWxlKCkuZm9udENhc2NhZGUoKTsKLSAg
ICAgICAgVGV4dFJ1biBydW4gPSBSZW5kZXJCbG9jazo6Y29uc3RydWN0VGV4dFJ1bihtX3RleHQs
IHN0eWxlKCkpOwotICAgICAgICByZWxhdGl2ZVJlY3QgPSBGbG9hdFJlY3QoMCwgMCwgZm9udC53
aWR0aChydW4pLCBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwotICAgICAgICBicmVhazsK
LSAgICB9CisgICAgc3dpdGNoIChzdHlsZSgpLmxpc3RTdHlsZVR5cGUoKSkgewogICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6RGlzYzoKICAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNpcmNsZToKICAg
ICBjYXNlIExpc3RTdHlsZVR5cGU6OlNxdWFyZTogewpAQCAtMTYzOSwxNyArMTk2OCwxMiBAQCBG
bG9hdFJlY3QgUmVuZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVNYXJrZXJSZWN0KCkKICAgICAg
ICAgcmVsYXRpdmVSZWN0ID0gRmxvYXRSZWN0KDEsIDMgKiAoYXNjZW50IC0gYXNjZW50ICogMiAv
IDMpIC8gMiwgYnVsbGV0V2lkdGgsIGJ1bGxldFdpZHRoKTsKICAgICAgICAgYnJlYWs7CiAgICAg
fQotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Tm9uZToKLSAgICAgICAgcmV0dXJuIEZsb2F0UmVj
dCgpOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIGlmIChtX3RleHQuaXNFbXB0eSgpKQorICAgICAg
ICBpZiAobV90ZXh0V2l0aFN1ZmZpeC5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXR1cm4gRmxv
YXRSZWN0KCk7Ci0gICAgICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250ID0gc3R5bGUoKS5mb250
Q2FzY2FkZSgpOwotICAgICAgICBUZXh0UnVuIHJ1biA9IFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RU
ZXh0UnVuKG1fdGV4dCwgc3R5bGUoKSk7Ci0gICAgICAgIGZsb2F0IGl0ZW1XaWR0aCA9IGZvbnQu
d2lkdGgocnVuKTsKLSAgICAgICAgVUNoYXIgc3VmZml4WzJdID0geyBsaXN0TWFya2VyU3VmZml4
KHR5cGUsIG1fbGlzdEl0ZW0tPnZhbHVlKCkpLCAnICcgfTsKLSAgICAgICAgZmxvYXQgc3VmZml4
V2lkdGggPSBmb250LndpZHRoKFJlbmRlckJsb2NrOjpjb25zdHJ1Y3RUZXh0UnVuKHN1ZmZpeCwg
c3VmZml4UmVxdWlyZXNTcGFjZShzdWZmaXhbMF0pID8gMiA6IDEsIHN0eWxlKCkpKTsKLSAgICAg
ICAgcmVsYXRpdmVSZWN0ID0gRmxvYXRSZWN0KDAsIDAsIGl0ZW1XaWR0aCArIHN1ZmZpeFdpZHRo
LCBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOworICAgICAgICBhdXRvJiBmb250ID0gc3R5
bGUoKS5mb250Q2FzY2FkZSgpOworICAgICAgICByZWxhdGl2ZVJlY3QgPSBGbG9hdFJlY3QoMCwg
MCwgZm9udC53aWR0aCh0ZXh0UnVuKCkpLCBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwor
ICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBpZiAoIXN0eWxlKCkuaXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSkgewpAQCAtMTY3NSw0ICsxOTk5LDkgQEAgTGF5b3V0UmVjdCBSZW5kZXJMaXN0
TWFya2VyOjpzZWxlY3Rpb25SZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWMKICAgICByZXR1cm4gbG9jYWxUb0NvbnRhaW5lclF1YWQoRmxvYXRSZWN0KHJlY3QpLCByZXBh
aW50Q29udGFpbmVyKS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpOwogfQogCitTdHJpbmdWaWV3IFJl
bmRlckxpc3RNYXJrZXI6OnRleHRXaXRob3V0U3VmZml4KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
U3RyaW5nVmlldyB7IG1fdGV4dFdpdGhTdWZmaXggfS5sZWZ0KG1fdGV4dFdpdGhvdXRTdWZmaXhM
ZW5ndGgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuaAppbmRleCA1OWUzYmU5ZTA4YmYyMjdmNTZkMzhiOWZk
NTAwNjk1NTMxZTMyYTg2Li42NzY5YmU1ZjI2NzM0NTJiMWI1NDE1NDAyNTMzZjlhMTI1ZjQ2YzQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmgKQEAgLTEs
NyArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtk
ZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtk
ZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIw
MDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAz
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CkBAIC0zOCw1NiArMzgsNDUgQEAgcHVibGljOgogICAgIFJlbmRlckxpc3RNYXJrZXIoUmVuZGVy
TGlzdEl0ZW0mLCBSZW5kZXJTdHlsZSYmKTsKICAgICB2aXJ0dWFsIH5SZW5kZXJMaXN0TWFya2Vy
KCk7CiAKLSAgICBjb25zdCBTdHJpbmcmIHRleHQoKSBjb25zdCB7IHJldHVybiBtX3RleHQ7IH0K
LSAgICBTdHJpbmcgc3VmZml4KCkgY29uc3Q7CisgICAgU3RyaW5nVmlldyB0ZXh0V2l0aG91dFN1
ZmZpeCgpIGNvbnN0OworICAgIFN0cmluZ1ZpZXcgdGV4dFdpdGhTdWZmaXgoKSBjb25zdCB7IHJl
dHVybiBtX3RleHRXaXRoU3VmZml4OyB9CiAKICAgICBib29sIGlzSW5zaWRlKCkgY29uc3Q7CiAK
LSAgICBMYXlvdXRVbml0IGxpbmVPZmZzZXRGb3JMaXN0SXRlbSgpIGNvbnN0IHsgcmV0dXJuIG1f
bGluZU9mZnNldEZvckxpc3RJdGVtOyB9Ci0KICAgICB2b2lkIHVwZGF0ZU1hcmdpbnNBbmRDb250
ZW50KCk7Ci0KICAgICB2b2lkIGFkZE92ZXJmbG93RnJvbUxpc3RNYXJrZXIoKTsKIAogcHJpdmF0
ZToKLSAgICB2b2lkIHdpbGxCZURlc3Ryb3llZCgpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbEJl
RGVzdHJveWVkKCkgZmluYWw7CisgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuICJSZW5kZXJMaXN0TWFya2VyIjsgfQorICAgIHZvaWQgY29tcHV0ZVByZWZl
cnJlZExvZ2ljYWxXaWR0aHMoKSBmaW5hbDsKKyAgICBib29sIGlzTGlzdE1hcmtlcigpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29sIGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdm9pZCBwYWludChQYWludEluZm8mLCBjb25z
dCBMYXlvdXRQb2ludCYpIGZpbmFsOworICAgIHZvaWQgbGF5b3V0KCkgZmluYWw7CisgICAgdm9p
ZCBpbWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KikgZmluYWw7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPExlZ2FjeUlubGluZUVsZW1lbnRCb3g+IGNyZWF0ZUlubGluZUJv
eCgpIGZpbmFsOworICAgIExheW91dFVuaXQgbGluZUhlaWdodChib29sIGZpcnN0TGluZSwgTGlu
ZURpcmVjdGlvbk1vZGUsIExpbmVQb3NpdGlvbk1vZGUpIGNvbnN0IGZpbmFsOworICAgIExheW91
dFVuaXQgYmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUsIGJvb2wgZmlyc3RMaW5lLCBMaW5l
RGlyZWN0aW9uTW9kZSwgTGluZVBvc2l0aW9uTW9kZSkgY29uc3QgZmluYWw7CisgICAgYm9vbCBp
c0ltYWdlKCkgY29uc3QgZmluYWw7CisgICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yUmVw
YWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBib29s
IGNsaXBUb1Zpc2libGVDb250ZW50KSBmaW5hbDsKKyAgICBib29sIGNhbkJlU2VsZWN0aW9uTGVh
ZigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2b2lkIHN0eWxlRGlkQ2hhbmdl
KFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBmaW5hbDsKIAog
ICAgIHZvaWQgZWxlbWVudCgpIGNvbnN0ID0gZGVsZXRlOwogCi0gICAgY29uc3QgY2hhciogcmVu
ZGVyTmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJMaXN0TWFya2VyIjsgfQot
ICAgIHZvaWQgY29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKSBvdmVycmlkZTsKLQotICAg
IGJvb2wgaXNMaXN0TWFya2VyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQotICAg
IGJvb2wgY2FuSGF2ZUNoaWxkcmVuKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
LQotICAgIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBvdmVycmlk
ZTsKLQotICAgIHZvaWQgbGF5b3V0KCkgb3ZlcnJpZGU7Ci0KLSAgICB2b2lkIGltYWdlQ2hhbmdl
ZChXcmFwcGVkSW1hZ2VQdHIsIGNvbnN0IEludFJlY3QqID0gMCkgb3ZlcnJpZGU7Ci0KLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8TGVnYWN5SW5saW5lRWxlbWVudEJveD4gY3JlYXRlSW5saW5lQm94KCkg
b3ZlcnJpZGU7Ci0KLSAgICBMYXlvdXRVbml0IGxpbmVIZWlnaHQoYm9vbCBmaXJzdExpbmUsIExp
bmVEaXJlY3Rpb25Nb2RlLCBMaW5lUG9zaXRpb25Nb2RlID0gUG9zaXRpb25PbkNvbnRhaW5pbmdM
aW5lKSBjb25zdCBvdmVycmlkZTsKLSAgICBMYXlvdXRVbml0IGJhc2VsaW5lUG9zaXRpb24oRm9u
dEJhc2VsaW5lLCBib29sIGZpcnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUsIExpbmVQb3NpdGlv
bk1vZGUgPSBQb3NpdGlvbk9uQ29udGFpbmluZ0xpbmUpIGNvbnN0IG92ZXJyaWRlOwotCi0gICAg
Ym9vbCBpc0ltYWdlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBpc1RleHQoKSBjb25zdCB7
IHJldHVybiAhaXNJbWFnZSgpOyB9Ci0KLSAgICBMYXlvdXRSZWN0IHNlbGVjdGlvblJlY3RGb3JS
ZXBhaW50KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGJv
b2wgY2xpcFRvVmlzaWJsZUNvbnRlbnQgPSB0cnVlKSBvdmVycmlkZTsKLSAgICBib29sIGNhbkJl
U2VsZWN0aW9uTGVhZigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KLQogICAgIHZv
aWQgdXBkYXRlTWFyZ2lucygpOwogICAgIHZvaWQgdXBkYXRlQ29udGVudCgpOwotCi0gICAgdm9p
ZCBzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSkgb3ZlcnJpZGU7Ci0KICAgICBSZW5kZXJCb3gqIHBhcmVudEJveChSZW5kZXJCb3gmKTsK
LQotICAgIEZsb2F0UmVjdCBnZXRSZWxhdGl2ZU1hcmtlclJlY3QoKTsKKyAgICBGbG9hdFJlY3Qg
cmVsYXRpdmVNYXJrZXJSZWN0KCk7CiAgICAgTGF5b3V0UmVjdCBsb2NhbFNlbGVjdGlvblJlY3Qo
KTsKIAotICAgIFN0cmluZyBtX3RleHQ7CisgICAgc3RydWN0IFRleHRSdW5XaXRoVW5kZXJseWlu
Z1N0cmluZzsKKyAgICBUZXh0UnVuV2l0aFVuZGVybHlpbmdTdHJpbmcgdGV4dFJ1bigpIGNvbnN0
OworCisgICAgU3RyaW5nIG1fdGV4dFdpdGhTdWZmaXg7CisgICAgdWludDhfdCBtX3RleHRXaXRo
b3V0U3VmZml4TGVuZ3RoIHsgMCB9OworICAgIGJvb2wgbV90ZXh0SXNMZWZ0VG9SaWdodERpcmVj
dGlvbiB7IHRydWUgfTsKICAgICBSZWZQdHI8U3R5bGVJbWFnZT4gbV9pbWFnZTsKICAgICBXZWFr
UHRyPFJlbmRlckxpc3RJdGVtPiBtX2xpc3RJdGVtOwogICAgIExheW91dFVuaXQgbV9saW5lT2Zm
c2V0Rm9yTGlzdEl0ZW07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5jcHAKaW5kZXggODJmZjA4NWQ0MGNjZjMwNjIxYTg0NWI4MWJjYjc5YjFmZTM0ODkzMS4u
ZjVhZjU3YmMzODFiNjJjNDFlM2YyOTYzMTk1ZWM1MGNiODZiMjY0OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApAQCAtNDQwLDcgKzQ0MCw3IEBA
IHZvaWQgUmVuZGVyVHJlZUFzVGV4dDo6d3JpdGVSZW5kZXJPYmplY3QoVGV4dFN0cmVhbSYgdHMs
IGNvbnN0IFJlbmRlck9iamVjdCYgbywKICAgICB9CiAKICAgICBpZiAoaXM8UmVuZGVyTGlzdE1h
cmtlcj4obykpIHsKLSAgICAgICAgU3RyaW5nIHRleHQgPSBkb3duY2FzdDxSZW5kZXJMaXN0TWFy
a2VyPihvKS50ZXh0KCk7CisgICAgICAgIFN0cmluZyB0ZXh0ID0gZG93bmNhc3Q8UmVuZGVyTGlz
dE1hcmtlcj4obykudGV4dFdpdGhvdXRTdWZmaXgoKS50b1N0cmluZygpOwogICAgICAgICBpZiAo
IXRleHQuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBpZiAodGV4dC5sZW5ndGgoKSAhPSAxKQog
ICAgICAgICAgICAgICAgIHRleHQgPSBxdW90ZUFuZEVzY2FwZU5vblByaW50YWJsZXModGV4dCk7
CkBAIC05NTcsNyArOTU3LDcgQEAgU3RyaW5nIG1hcmtlclRleHRGb3JMaXN0SXRlbShFbGVtZW50
KiBlbGVtZW50KQogICAgIGlmICghaXM8UmVuZGVyTGlzdEl0ZW0+KHJlbmRlcmVyKSkKICAgICAg
ICAgcmV0dXJuIFN0cmluZygpOwogCi0gICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlckxpc3RJdGVt
PigqcmVuZGVyZXIpLm1hcmtlclRleHQoKTsKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTGlz
dEl0ZW0+KCpyZW5kZXJlcikubWFya2VyVGV4dFdpdGhvdXRTdWZmaXgoKS50b1N0cmluZygpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmNwcAppbmRleCAxYWMxN2JkMTA3
NmMxMjNhMDA5YTAzYmEyYjNkY2NiNWM0NTVhMDExLi5kZWM2MzNhNTIxMGM0YTIwMWVmMzQxMWYw
NzIyYWYzM2YyY2I4Mzc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDE1LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE1LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03MTQsOTMgKzcxNCw3IEBAIFRl
eHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIExpc3RTdHlsZVBvc2l0aW9uIHBv
c2l0aW9uKQogCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBMaXN0U3R5
bGVUeXBlIHN0eWxlVHlwZSkKIHsKLSAgICBzd2l0Y2ggKHN0eWxlVHlwZSkgewotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6QWZhcjogdHMgPDwgImFmYXIiOyBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OkFtaGFyaWM6IHRzIDw8ICJhbWhhcmljIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpBbWhhcmljQWJlZ2VkZTogdHMgPDwgImFtaGFyaWMtYWJlZ2VkZSI7IGJyZWFr
OwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QXJhYmljSW5kaWM6IHRzIDw8ICJhcmFiaWMtaW5k
aWMiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFybWVuaWFuOiB0cyA8PCAiYXJt
ZW5pYW4iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkFzdGVyaXNrczogdHMgPDwg
ImFzdGVyaXNrcyI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6QmVuZ2FsaTogdHMg
PDwgImJlbmdhbGkiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkJpbmFyeTogdHMg
PDwgImJpbmFyeSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Q0pLRGVjaW1hbDog
dHMgPDwgImNqay1kZWNpbWFsIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpDSktJ
ZGVvZ3JhcGhpYzogdHMgPDwgImNqay1pZGVvZ3JhcGhpYyI7IGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6Q2FtYm9kaWFuOiB0cyA8PCAiY2FtYm9kaWFuIjsgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpDaXJjbGU6IHRzIDw8ICJjaXJjbGUiOyBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkNKS0VhcnRobHlCcmFuY2g6IHRzIDw8ICJjamstZWFydGhseS1icmFu
Y2giOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkNKS0hlYXZlbmx5U3RlbTogdHMg
PDwgImNqay1oZWF2ZW5seS1zdGVtIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpE
ZWNpbWFsOiB0cyA8PCAiZGVjaW1hbCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6
RGVjaW1hbExlYWRpbmdaZXJvOiB0cyA8PCAiZGVjaW1hbC1sZWFkaW5nLXplcm8iOyBicmVhazsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkRldmFuYWdhcmk6IHRzIDw8ICJkZXZhbmFnYXJpIjsg
YnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpEaXNjOiB0cyA8PCAiZGlzYyI7IGJyZWFr
OwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWM6IHRzIDw8ICJldGhpb3BpYyI7IGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlOiB0cyA8PCAiZXRo
aW9waWMtYWJlZ2VkZSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNB
YmVnZWRlQW1FdDogdHMgPDwgImV0aGlvcGljLWFiZWdlZGUtYW0tZXQiOyBicmVhazsKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljQWJlZ2VkZUdlejogdHMgPDwgImV0aGlvcGljLWFi
ZWdlZGUtZ2V6IjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpFdGhpb3BpY0FiZWdl
ZGVUaUVyOiB0cyA8PCAiZXRoaW9waWMtYWJlZ2VkZS10aS1lciI7IGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6RXRoaW9waWNBYmVnZWRlVGlFdDogdHMgPDwgImV0aGlvcGljLWFiZWdl
ZGUtdGktZXQiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhh
bWVBYUVyOiB0cyA8PCAiZXRoaW9waWMtaGFsZWhhbWUtYWEtZXIiOyBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVBYUV0OiB0cyA8PCAiZXRoaW9waWMtaGFs
ZWhhbWUtYWEtZXQiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFs
ZWhhbWVBbUV0OiB0cyA8PCAiZXRoaW9waWMtaGFsZWhhbWUtYW0tZXQiOyBicmVhazsKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVHZXo6IHRzIDw8ICJldGhpb3BpYy1o
YWxlaGFtZS1nZXoiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFs
ZWhhbWVPbUV0OiB0cyA8PCAiZXRoaW9waWMtaGFsZWhhbWUtb20tZXQiOyBicmVhazsKLSAgICBj
YXNlIExpc3RTdHlsZVR5cGU6OkV0aGlvcGljSGFsZWhhbWVTaWRFdDogdHMgPDwgImV0aGlvcGlj
LWhhbGVoYW1lLXNpZC1ldCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9w
aWNIYWxlaGFtZVNvRXQ6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS1zby1ldCI7IGJyZWFrOwot
ICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpRXI6IHRzIDw8ICJldGhp
b3BpYy1oYWxlaGFtZS10aS1lciI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRo
aW9waWNIYWxlaGFtZVRpRXQ6IHRzIDw8ICJldGhpb3BpYy1oYWxlaGFtZS10aS1ldCI7IGJyZWFr
OwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6RXRoaW9waWNIYWxlaGFtZVRpZzogdHMgPDwgImV0
aGlvcGljLWhhbGVoYW1lLXRpZyI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6Rm9v
dG5vdGVzOiB0cyA8PCAiZm9vdG5vdGVzIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpHZW9yZ2lhbjogdHMgPDwgImdlb3JnaWFuIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpHdWphcmF0aTogdHMgPDwgImd1amFyYXRpIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpHdXJtdWtoaTogdHMgPDwgImd1cm11a2hpIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpIYW5ndWw6IHRzIDw8ICJoYW5ndWwiOyBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6Okhhbmd1bENvbnNvbmFudDogdHMgPDwgImhhbmd1bC1jb25zb25hbnQiOyBicmVh
azsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OkhlYnJldzogdHMgPDwgImhlYnJldyI7IGJyZWFr
OwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGlyYWdhbmE6IHRzIDw8ICJoaXJhZ2FuYSI7IGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6SGlyYWdhbmFJcm9oYTogdHMgPDwgImhpcmFn
YW5hLWlyb2hhIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpLYW5uYWRhOiB0cyA8
PCAia2FubmFkYSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmE6IHRz
IDw8ICJrYXRha2FuYSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6S2F0YWthbmFJ
cm9oYTogdHMgPDwgImthdGFrYW5hLWlyb2hhIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpLaG1lcjogdHMgPDwgImtobWVyIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBl
OjpMYW86IHRzIDw8ICJsYW8iOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2Vy
QWxwaGE6IHRzIDw8ICJsb3dlci1hbHBoYSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6TG93ZXJBcm1lbmlhbjogdHMgPDwgImxvd2VyLWFybWVuaWFuIjsgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpMb3dlckdyZWVrOiB0cyA8PCAibG93ZXItZ3JlZWsiOyBicmVhazsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Okxvd2VySGV4YWRlY2ltYWw6IHRzIDw8ICJsb3dlci1o
ZXhhZGVjaW1hbCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TG93ZXJMYXRpbjog
dHMgPDwgImxvd2VyLWxhdGluIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpMb3dl
ck5vcndlZ2lhbjogdHMgPDwgImxvd2VyLW5vcndlZ2lhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlz
dFN0eWxlVHlwZTo6TG93ZXJSb21hbjogdHMgPDwgImxvd2VyLXJvbWFuIjsgYnJlYWs7Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpNYWxheWFsYW06IHRzIDw8ICJtYWxheWFsYW0iOyBicmVhazsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok1vbmdvbGlhbjogdHMgPDwgIm1vbmdvbGlhbiI7IGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6TXlhbm1hcjogdHMgPDwgIm15YW5tYXIiOyBi
cmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6Ok5vbmU6IHRzIDw8ICJub25lIjsgYnJlYWs7
Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPY3RhbDogdHMgPDwgIm9jdGFsIjsgYnJlYWs7Ci0g
ICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpPcml5YTogdHMgPDwgIm9yaXlhIjsgYnJlYWs7Ci0gICAg
Y2FzZSBMaXN0U3R5bGVUeXBlOjpPcm9tbzogdHMgPDwgIm9yb21vIjsgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpQZXJzaWFuOiB0cyA8PCAicGVyc2lhbiI7IGJyZWFrOwotICAgIGNh
c2UgTGlzdFN0eWxlVHlwZTo6U2lkYW1hOiB0cyA8PCAic2lkYW1hIjsgYnJlYWs7Ci0gICAgY2Fz
ZSBMaXN0U3R5bGVUeXBlOjpTb21hbGk6IHRzIDw8ICJzb21hbGkiOyBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlNxdWFyZTogdHMgPDwgInNxdWFyZSI7IGJyZWFrOwotICAgIGNhc2Ug
TGlzdFN0eWxlVHlwZTo6U3RyaW5nOiB0cyA8PCAic3RyaW5nIjsgYnJlYWs7Ci0gICAgY2FzZSBM
aXN0U3R5bGVUeXBlOjpUYW1pbDogdHMgPDwgInRhbWlsIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpUZWx1Z3U6IHRzIDw8ICJ0ZWx1Z3UiOyBicmVhazsKLSAgICBjYXNlIExpc3RT
dHlsZVR5cGU6OlRoYWk6IHRzIDw8ICJ0aGFpIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVU
eXBlOjpUaWJldGFuOiB0cyA8PCAidGliZXRhbiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxl
VHlwZTo6VGlncmU6IHRzIDw8ICJ0aWdyZSI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlw
ZTo6VGlncmlueWFFcjogdHMgPDwgInRpZ3JpbnlhLWVyIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0
U3R5bGVUeXBlOjpUaWdyaW55YUVyQWJlZ2VkZTogdHMgPDwgInRpZ3JpbnlhLWVyLWFiZWdlZGUi
OyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlRpZ3JpbnlhRXQ6IHRzIDw8ICJ0aWdy
aW55YS1ldCI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VGlncmlueWFFdEFiZWdl
ZGU6IHRzIDw8ICJ0aWdyaW55YS1ldC1hYmVnZWRlIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5
bGVUeXBlOjpVcHBlckFscGhhOiB0cyA8PCAidXBwZXItYWxwaGEiOyBicmVhazsKLSAgICBjYXNl
IExpc3RTdHlsZVR5cGU6OlVwcGVyQXJtZW5pYW46IHRzIDw8ICJ1cHBlci1hcm1lbmlhbiI7IGJy
ZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXBwZXJHcmVlazogdHMgPDwgInVwcGVyLWdy
ZWVrIjsgYnJlYWs7Ci0gICAgY2FzZSBMaXN0U3R5bGVUeXBlOjpVcHBlckhleGFkZWNpbWFsOiB0
cyA8PCAidXBwZXItaGV4YWRlY2ltYWwiOyBicmVhazsKLSAgICBjYXNlIExpc3RTdHlsZVR5cGU6
OlVwcGVyTGF0aW46IHRzIDw8ICJ1cHBlci1sYXRpbiI7IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0
eWxlVHlwZTo6VXBwZXJOb3J3ZWdpYW46IHRzIDw8ICJ1cHBlci1ub3J3ZWdpYW4iOyBicmVhazsK
LSAgICBjYXNlIExpc3RTdHlsZVR5cGU6OlVwcGVyUm9tYW46IHRzIDw8ICJ1cHBlci1yb21hbiI7
IGJyZWFrOwotICAgIGNhc2UgTGlzdFN0eWxlVHlwZTo6VXJkdTogdHMgPDwgInVyZHUiOyBicmVh
azsKLSAgICB9Ci0gICAgcmV0dXJuIHRzOworICAgIHJldHVybiB0cyA8PCBnZXRWYWx1ZU5hbWUo
dG9DU1NWYWx1ZUlEKHN0eWxlVHlwZSkpOwogfQogCiBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRl
eHRTdHJlYW0mIHRzLCBNYXJnaW5Db2xsYXBzZSBjb2xsYXBzZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5kZXggMjQx
ZmU1MDk2MTZmNDk1MjNkZTYyNjEwMjA4MjQ3YjljNWZjNzU4Mi4uMzM2NDYyZjcwZDY5ODc3YWU3
ZDEwNTAzYzc4ODYxNjIzZTdiMDRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKQEAgLTY1OCw2ICs2NTgsMTggQEAg
ZW51bSBjbGFzcyBMaXN0U3R5bGVUeXBlIDogdWludDhfdCB7CiAgICAgS2F0YWthbmFJcm9oYSwK
ICAgICBDSktEZWNpbWFsLAogICAgIFRhbWlsLAorICAgIERpc2Nsb3N1cmVPcGVuLAorICAgIERp
c2Nsb3N1cmVDbG9zZWQsCisgICAgSmFwYW5lc2VJbmZvcm1hbCwKKyAgICBKYXBhbmVzZUZvcm1h
bCwKKyAgICBLb3JlYW5IYW5ndWxGb3JtYWwsCisgICAgS29yZWFuSGFuamFJbmZvcm1hbCwKKyAg
ICBLb3JlYW5IYW5qYUZvcm1hbCwKKyAgICBTaW1wbGlmaWVkQ2hpbmVzZUluZm9ybWFsLAorICAg
IFNpbXBsaWZpZWRDaGluZXNlRm9ybWFsLAorICAgIFRyYWRpdGlvbmFsQ2hpbmVzZUluZm9ybWFs
LAorICAgIFRyYWRpdGlvbmFsQ2hpbmVzZUZvcm1hbCwKKyAgICBFdGhpb3BpY051bWVyaWMsCiAg
ICAgU3RyaW5nLAogICAgIE5vbmUKIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGRiZGIyOGJmNzQ4YmVjMjQyNGZiYjIw
NmQxNzBiYmI4NTczNmQ2My4uMWY4MWIwZjEyZjY0ZDIzMDUyZGVkZWQxZjNiM2EwZTQwZDE0YTNl
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA2LTIxICBEYXJpbiBBZGxlciAgPGRhcmlu
QGFwcGxlLmNvbT4KKworICAgICAgICBJbXByb3ZlIG1vcmUgb2YgdGhlIENTUyBsaXN0IHN0eWxl
IGltcGxlbWVudGF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI3MjA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBFeHBlY3QgYWJvdXQgNTAgbW9yZSBjc3MtY291
bnRlci1zdHlsZXMgdGVzdHMgdG8gcGFzcy4KKworICAgICAgICAqIGZhc3QvbGlzdHMvbGktdmFs
dWVzLWV4cGVjdGVkLnR4dDogVXBkYXRlZCB0byBleHBlY3QgbmV3bHkgc3BlY2lmaWVkIGJlaGF2
aW9yLiBXaGVuCisgICAgICAgIHRoaXMgdGVzdCB3YXMgd3JpdHRlbiwgdGhlIHNwZWNpZmljYXRp
b24gd2FzIGRpZmZlcmVudC4KKyAgICAgICAgKiBmYXN0L2xpc3RzL2xpLXZhbHVlcy5odG1sOiBE
aXR0by4KKyAgICAgICAgKiBmYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtZmFsbGJhY2st
c3R5bGUtZXhwZWN0ZWQudHh0OiBEaXR0by4gQWxzbyBtYW55IG9mIHRoZXNlCisgICAgICAgIHdl
cmUgZXhwZWN0aW5nIGZhaWx1cmVzLgorICAgICAgICAqIGZhc3QvbGlzdHMvdzMtY3NzMy1saXN0
LXN0eWxlcy1mYWxsYmFjay1zdHlsZS5odG1sOiBEaXR0by4KKyAgICAgICAgKiBmYXN0L2xpc3Rz
L3czLWNzczMtbGlzdC1zdHlsZXMtbnVtZXJpYy1leHBlY3RlZC50eHQ6IERpdHRvLiBBbHNvIGFk
ZGVkIHRlc3RzIGZvcgorICAgICAgICBldGhpb3BpYy1udW1lcmljLgorICAgICAgICAqIGZhc3Qv
bGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1udW1lcmljLmh0bWw6IERpdHRvLgorCisgICAgICAg
ICogZmFzdC9saXN0cy93My1saXN0LXN0eWxlcy1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgZXhwZWN0
ZWQgcmVzdWx0IGZvciAwIGluIEhlYnJldy4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zOiBNb3ZlZCBzb21lIGltYWdlIGZhaWx1cmUgZXhwZWN0YXRpb25zIGZyb20g
aGVyZSB0byB0aGUKKyAgICAgICAgbWFpbiBUZXN0RXhwZWN0YXRpb25zIGJlY2F1c2UgdGhleSBk
byBub3Qgc2VlbSB0byBiZSBwbGF0Zm9ybS1zcGVjaWZpYy4KKwogMjAyMS0wNi0yMCAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgQ1NTIGNvdW50ZXIgc3R5bGUgaW1w
cm92ZW1lbnRzIGZvciBBcm1lbmlhbiwgVGFtaWwsIGFuZCBzb21lIENKSyBzdHlsZXMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGRlNGUzNDE4ZDc1NTU1MmQyYjJlZTY1ZmFhMDk0ZGFmYzcxMDhiYzgu
LjZiNGQzYzlkYjdlZWU3MTM0OThiMGY0MWY2ZmU1YzQxNjQxYjY1NTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNDc0Niw3ICs0NzQ2LDE4IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDIuaHRtCiB3ZWJr
aXQub3JnL2IvMjI0MzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy13
cml0aW5nLW1vZGVzL3NpemluZy1vcnRob2ctdnJsLWluLWh0Yi0wMTMueGh0IFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjI0MzU3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzc29tLXZpZXcvY3Nzb20tZ2V0Qm91bmRpbmdDbGllbnRSZWN0LXZlcnRpY2Fs
LXJsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAotIyBAY291bnRlci1zdHlsZSByZWYgdGVz
dHMgdGhhdCBjdXJyZW50bHkgZmFpbAorIyBDb3VudGVyIHN0eWxlIHRlc3RzIHRoYXQgZmFpbCBv
biBzb21lIHBsYXRmb3JtcyBiZWNhdXNlIG9mIHN1YnRsZSBjaGFyYWN0ZXIgcG9zaXRpb25pbmcg
ZGlmZmVyZW5jZXMsIHByZXN1bWFibHkgZnJvbSBzdWJwaXhlbCByb3VuZGluZy4KKyMgVGhlc2Ug
ZmFpbHVyZXMgYXJlIHNsaWdodGx5IGRpZmZlcmVudCBwZXItcGxhdGZvcm0sIGJ1dCBpdCBzZWVt
cyB1bndpc2UgdG8gbW92ZSB0aGUgZXhwZWN0YXRpb25zIGludG8gcGxhdGZvcm0tc3BlY2lmaWMg
ZXhwZWN0YXRpb25zIGZpbGVzLgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvdW50ZXItc3R5bGVzL2JlbmdhbGkvY3NzMy1jb3VudGVyLXN0eWxlcy0xMTcuaHRtbCBb
IFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY291bnRlci1zdHlsZXMvZ3VqYXJhdGkvY3NzMy1jb3VudGVyLXN0eWxlcy0xMjMu
aHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvZ3VybXVraGkvY3NzMy1jb3VudGVyLXN0eWxl
cy0xMjYuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvaGVicmV3L2NzczMtY291bnRlci1z
dHlsZXMtMDE2YS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9sYW8vY3NzMy1jb3VudGVy
LXN0eWxlcy0xMzIuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvbG93ZXItYXJtZW5pYW4v
Y3NzMy1jb3VudGVyLXN0eWxlcy0xMTQuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvbG93
ZXItcm9tYW4vY3NzMy1jb3VudGVyLXN0eWxlcy0wMjAuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFp
bHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1z
dHlsZXMvdXBwZXItcm9tYW4vY3NzMy1jb3VudGVyLXN0eWxlcy0wMjQuaHRtbCBbIFBhc3MgSW1h
Z2VPbmx5RmFpbHVyZSBdCisKKyMgVGVzdHMgdGhhdCBmYWlsIGJlY2F1c2UgQGNvdW50ZXItc3R5
bGUgaXMgbm90IGltcGxlbWVudGVkIHlldC4gQ291bGQgc2tpcCB0aGUgZW50aXJlIGRpcmVjdG9y
eSBpbnN0ZWFkLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50
ZXItc3R5bGVzL2Nzc29tL2Nzc29tLWFkZGl0aXZlLXN5bWJvbHMtc2V0dGVyLWludmFsaWQuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL2Nzc29tL2Nzc29tLWFkZGl0aXZlLXN5bWJvbHMtc2V0dGVy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9jc3NvbS9jc3NvbS1mYWxsYmFjay1zZXR0ZXItaW52
YWxpZC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00NzY2LDYwICs0Nzc3LDYgQEAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2Nzc29t
L2Nzc29tLXN5bWJvbHMtc2V0dGUKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb3VudGVyLXN0eWxlcy9jc3NvbS9jc3NvbS1zeXN0ZW0tc2V0dGVyLTEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvdW50ZXItc3R5bGVzL2Nzc29tL2Nzc29tLXN5c3RlbS1zZXR0ZXItMi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291
bnRlci1zdHlsZXMvY3Nzb20vY3Nzb20tc3lzdGVtLXNldHRlci1pbnZhbGlkLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9oZWJyZXcvY3NzMy1jb3VudGVyLXN0eWxlcy0wMTZhLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9qYXBhbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNDcuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL2phcGFuZXNlLWZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVz
LTA0OC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvamFwYW5lc2UtZm9ybWFsL2NzczMtY291bnRl
ci1zdHlsZXMtMDQ5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9qYXBhbmVzZS1mb3JtYWwvY3Nz
My1jb3VudGVyLXN0eWxlcy0wNTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2phcGFuZXNlLWZv
cm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA1MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvamFw
YW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNDIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXIt
c3R5bGVzL2phcGFuZXNlLWluZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDQzLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb3VudGVyLXN0eWxlcy9qYXBhbmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA0
NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvamFwYW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVy
LXN0eWxlcy0wNDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2phcGFuZXNlLWluZm9ybWFsL2Nz
czMtY291bnRlci1zdHlsZXMtMDQ2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rb3JlYW4taGFu
Z3VsLWZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA1Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHls
ZXMva29yZWFuLWhhbmd1bC1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNTMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvdW50ZXItc3R5bGVzL2tvcmVhbi1oYW5ndWwtZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMt
MDU0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rb3JlYW4taGFuZ3VsLWZvcm1hbC9jc3MzLWNv
dW50ZXItc3R5bGVzLTA1NS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMva29yZWFuLWhhbmd1bC1m
b3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2tv
cmVhbi1oYW5qYS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNjIuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50
ZXItc3R5bGVzL2tvcmVhbi1oYW5qYS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNjMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL2tvcmVhbi1oYW5qYS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0
eWxlcy0wNjQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2tvcmVhbi1oYW5qYS1mb3JtYWwvY3Nz
My1jb3VudGVyLXN0eWxlcy0wNjUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2tvcmVhbi1oYW5q
YS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNjYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVz
L2tvcmVhbi1oYW5qYS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA1Ny5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y291bnRlci1zdHlsZXMva29yZWFuLWhhbmphLWluZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMt
MDU4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9rb3JlYW4taGFuamEtaW5mb3JtYWwvY3NzMy1j
b3VudGVyLXN0eWxlcy0wNTkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2tvcmVhbi1oYW5qYS1p
bmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA2MC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMv
a29yZWFuLWhhbmphLWluZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDYxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy9sb3dlci1hcm1lbmlhbi9jc3MzLWNvdW50ZXItc3R5bGVzLTExNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY291bnRlci1zdHlsZXMvbG93ZXItcm9tYW4vY3NzMy1jb3VudGVyLXN0eWxlcy0wMTku
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2xvd2VyLXJvbWFuL2NzczMtY291bnRlci1zdHlsZXMt
MDIwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9sb3dlci1yb21hbi9jc3MzLWNvdW50ZXItc3R5
bGVzLTAyMGEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2xvd2VyLXJvbWFuL2NzczMtY291bnRl
ci1zdHlsZXMtMDIwYi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvc2ltcC1jaGluZXNlLWZvcm1h
bC9jc3MzLWNvdW50ZXItc3R5bGVzLTA3Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvc2ltcC1j
aGluZXNlLWZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA3Ny5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1z
dHlsZXMvc2ltcC1jaGluZXNlLWZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA3OC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY291bnRlci1zdHlsZXMvc2ltcC1jaGluZXNlLWZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVz
LTA3OS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvc2ltcC1jaGluZXNlLWZvcm1hbC9jc3MzLWNv
dW50ZXItc3R5bGVzLTA4MC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvc2ltcC1jaGluZXNlLWlu
Zm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDcxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9z
aW1wLWNoaW5lc2UtaW5mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNzIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
dW50ZXItc3R5bGVzL3NpbXAtY2hpbmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA3
My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvc2ltcC1jaGluZXNlLWluZm9ybWFsL2NzczMtY291
bnRlci1zdHlsZXMtMDc0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9zaW1wLWNoaW5lc2UtaW5m
b3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wNzUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3Ry
YWQtY2hpbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wODYuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50
ZXItc3R5bGVzL3RyYWQtY2hpbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wODcuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hpbmVzZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0
eWxlcy0wODguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hpbmVzZS1mb3JtYWwvY3Nz
My1jb3VudGVyLXN0eWxlcy0wODkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hpbmVz
ZS1mb3JtYWwvY3NzMy1jb3VudGVyLXN0eWxlcy0wOTAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVz
L3RyYWQtY2hpbmVzZS1pbmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA4MS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y291bnRlci1zdHlsZXMvdHJhZC1jaGluZXNlLWluZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMt
MDgyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy90cmFkLWNoaW5lc2UtaW5mb3JtYWwvY3NzMy1j
b3VudGVyLXN0eWxlcy0wODMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL3RyYWQtY2hpbmVzZS1p
bmZvcm1hbC9jc3MzLWNvdW50ZXItc3R5bGVzLTA4NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMv
dHJhZC1jaGluZXNlLWluZm9ybWFsL2NzczMtY291bnRlci1zdHlsZXMtMDg1Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b3VudGVyLXN0eWxlcy91cHBlci1yb21hbi9jc3MzLWNvdW50ZXItc3R5bGVzLTAyMy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY291bnRlci1zdHlsZXMvdXBwZXItcm9tYW4vY3NzMy1jb3VudGVyLXN0eWxlcy0wMjQuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvdW50ZXItc3R5bGVzL3VwcGVyLXJvbWFuL2NzczMtY291bnRlci1zdHlsZXMtMDI0
YS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKICMgQ1NTIHdpbGwtY2hhbmdlIGZhaWx1cmVz
CiB3ZWJraXQub3JnL2IvMjI0OTI4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy13aWxsLWNoYW5nZS93aWxsLWNoYW5nZS1hYnNwb3MtY2ItZHluYW1pYy0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy9s
aS12YWx1ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy9saS12YWx1ZXMt
ZXhwZWN0ZWQudHh0CmluZGV4IGVjZGVkYTg2MmYyYWYyZTNmMDk1ZThmNDlkMzdkOGFkM2E2OTIw
YjUuLmU0NDhjZDNhY2I5NTExNDY1MmQxMzZkNTNiOWI2NWM2ZDcwY2FmNDEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvbGktdmFsdWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2xpc3RzL2xpLXZhbHVlcy1leHBlY3RlZC50eHQKQEAgLTEzLDEwICsxMywx
MiBAQAogMCBUaGUgbGlzdCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0byBkZWNpbWFsIDAgKGFy
bWVuaWFuOiAxLTk5OTkpLgogMCBUaGUgbGlzdCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0byBk
ZWNpbWFsIDAgKGdlb3JnaWFuOiAxLTE5OTk5KS4KIDAgVGhlIGxpc3QgbWFya2VyIHNob3VsZCBm
YWxsIGJhY2sgdG8gZGVjaW1hbCAwIChhbmNpZW50LXRhbWlsOiAxLTk5OTkpLgotLTEgVGhlIGxp
c3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gY2prLWRlY2ltYWwgLTEgKGphcGFuZXNlLWlu
Zm9ybWFsOiAwLTk5OTkpLgotLTEgVGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8g
Y2prLWRlY2ltYWwgLTEgKGphcGFuZXNlLWZvcm1hbDogMC05OTk5KS4KLS0xIFRoZSBsaXN0IG1h
cmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGRlY2ltYWwgLTEgKGtvcmVhbi1oYW5ndWwtZm9ybWFs
OiAwLTk5OTkpLgotLTEgVGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1h
bCAtMSAoa29yZWFuLWhhbmphLWluZm9ybWFsOiAwLTk5OTkpLgotLTEgVGhlIGxpc3QgbWFya2Vy
IHNob3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1hbCAtMSAoa29yZWFuLWhhbmphLWZvcm1hbDogMC05
OTk5KS4KK+S4gOOAh+OAh+OAh+OAhyBUaGUgbGlzdCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0
byBjamstZGVjaW1hbCAxMDAwMCAoamFwYW5lc2UtaW5mb3JtYWw6IC05OTk5LTk5OTkpLgorLTEw
MDAwIFRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGRlY2ltYWwgLTEwMDAwIChq
YXBhbmVzZS1pbmZvcm1hbDogLTk5OTktOTk5OSkuCivkuIDjgIfjgIfjgIfjgIcgVGhlIGxpc3Qg
bWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gY2prLWRlY2ltYWwgMTAwMDAgKGphcGFuZXNlLWZv
cm1hbDogLTk5OTktOTk5OSkuCistMTAwMDAgVGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJh
Y2sgdG8gZGVjaW1hbCAtMTAwMDAgKGphcGFuZXNlLWZvcm1hbDogLTk5OTktOTk5OSkuCistMTAw
MDAgVGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1hbCAtMTAwMDAgKGtv
cmVhbi1oYW5ndWwtZm9ybWFsOiAtOTk5OS05OTk5KS4KKy0xMDAwMCBUaGUgbGlzdCBtYXJrZXIg
c2hvdWxkIGZhbGwgYmFjayB0byBkZWNpbWFsIC0xMDAwMCAoa29yZWFuLWhhbmphLWluZm9ybWFs
OiAtOTk5OS05OTk5KS4KKy0xMDAwMCBUaGUgbGlzdCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0
byBkZWNpbWFsIC0xMDAwMCAoa29yZWFuLWhhbmphLWZvcm1hbDogLTk5OTktOTk5OSkuCiAwIFRo
ZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGRlY2ltYWwgMCAoZ3JlZWs6IDEtOTk5
KS4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy9saS12YWx1ZXMuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvbGktdmFsdWVzLmh0bWwKaW5kZXggZmYyYjNlNjhhMzA4
ODY5NzczZmIyYTEyOTAyM2YxNjgyYWI4OGQ1OC4uOGEzNDA4OWE3N2UwMDNkMDAwYmZiMmFhMTMz
YTRlYzc3NWNjZTE2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy9saS12YWx1
ZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xpc3RzL2xpLXZhbHVlcy5odG1sCkBAIC00
MCwxMyArNDAsMTMgQEAgZnVuY3Rpb24gaW5pdCgpCiAgICAgPGxpIHZhbHVlPSIwIiBzdHlsZT0i
bGlzdC1zdHlsZS10eXBlOiBhcm1lbmlhbjsiPlRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBi
YWNrIHRvIGRlY2ltYWwgMCAoYXJtZW5pYW46IDEtOTk5OSkuPC9saT4KICAgICA8bGkgdmFsdWU9
IjAiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGdlb3JnaWFuOyI+VGhlIGxpc3QgbWFya2VyIHNo
b3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1hbCAwIChnZW9yZ2lhbjogMS0xOTk5OSkuPC9saT4KICAg
ICA8bGkgdmFsdWU9IjAiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGFuY2llbnQtdGFtaWw7Ij5U
aGUgbGlzdCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0byBkZWNpbWFsIDAgKGFuY2llbnQtdGFt
aWw6IDEtOTk5OSkuPC9saT4KLSAgICA8IS0tIEZJWE1FOiBXZSBkb24ndCBjdXJyZW50bHkgc3Vw
cG9ydCB0aGlzIGxpc3Qtc3R5bGUtdHlwZSAtPiBmYWxsIGJhY2sgdG8gZGVjaW1hbCAtLT4KLSAg
ICA8bGkgdmFsdWU9Ii0xIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiBqYXBhbmVzZS1pbmZvcm1h
bDsiPlRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGNqay1kZWNpbWFsIC0xIChq
YXBhbmVzZS1pbmZvcm1hbDogMC05OTk5KS48L2xpPgotICAgIDwhLS0gRklYTUU6IFdlIGRvbid0
IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgbGlzdC1zdHlsZS10eXBlIC0+IGZhbGwgYmFjayB0byBk
ZWNpbWFsIC0tPgotICAgIDxsaSB2YWx1ZT0iLTEiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGph
cGFuZXNlLWZvcm1hbDsiPlRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGNqay1k
ZWNpbWFsIC0xIChqYXBhbmVzZS1mb3JtYWw6IDAtOTk5OSkuPC9saT4KLSAgICA8bGkgdmFsdWU9
Ii0xIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiBrb3JlYW4taGFuZ3VsLWZvcm1hbDsiPlRoZSBs
aXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGRlY2ltYWwgLTEgKGtvcmVhbi1oYW5ndWwt
Zm9ybWFsOiAwLTk5OTkpLjwvbGk+Ci0gICAgPGxpIHZhbHVlPSItMSIgc3R5bGU9Imxpc3Qtc3R5
bGUtdHlwZToga29yZWFuLWhhbmphLWluZm9ybWFsOyI+VGhlIGxpc3QgbWFya2VyIHNob3VsZCBm
YWxsIGJhY2sgdG8gZGVjaW1hbCAtMSAoa29yZWFuLWhhbmphLWluZm9ybWFsOiAwLTk5OTkpLjwv
bGk+Ci0gICAgPGxpIHZhbHVlPSItMSIgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZToga29yZWFuLWhh
bmphLWZvcm1hbDsiPlRoZSBsaXN0IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGRlY2ltYWwg
LTEgKGtvcmVhbi1oYW5qYS1mb3JtYWw6IDAtOTk5OSkuPC9saT4KKyAgICA8bGkgdmFsdWU9IjEw
MDAwIiBzdHlsZT0ibGlzdC1zdHlsZS10eXBlOiBqYXBhbmVzZS1pbmZvcm1hbDsiPlRoZSBsaXN0
IG1hcmtlciBzaG91bGQgZmFsbCBiYWNrIHRvIGNqay1kZWNpbWFsIDEwMDAwIChqYXBhbmVzZS1p
bmZvcm1hbDogLTk5OTktOTk5OSkuPC9saT4KKyAgICA8bGkgdmFsdWU9Ii0xMDAwMCIgc3R5bGU9
Imxpc3Qtc3R5bGUtdHlwZTogamFwYW5lc2UtaW5mb3JtYWw7Ij5UaGUgbGlzdCBtYXJrZXIgc2hv
dWxkIGZhbGwgYmFjayB0byBkZWNpbWFsIC0xMDAwMCAoamFwYW5lc2UtaW5mb3JtYWw6IC05OTk5
LTk5OTkpLjwvbGk+CisgICAgPGxpIHZhbHVlPSIxMDAwMCIgc3R5bGU9Imxpc3Qtc3R5bGUtdHlw
ZTogamFwYW5lc2UtZm9ybWFsOyI+VGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8g
Y2prLWRlY2ltYWwgMTAwMDAgKGphcGFuZXNlLWZvcm1hbDogLTk5OTktOTk5OSkuPC9saT4KKyAg
ICA8bGkgdmFsdWU9Ii0xMDAwMCIgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTogamFwYW5lc2UtZm9y
bWFsOyI+VGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1hbCAtMTAwMDAg
KGphcGFuZXNlLWZvcm1hbDogLTk5OTktOTk5OSkuPC9saT4KKyAgICA8bGkgdmFsdWU9Ii0xMDAw
MCIgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZToga29yZWFuLWhhbmd1bC1mb3JtYWw7Ij5UaGUgbGlz
dCBtYXJrZXIgc2hvdWxkIGZhbGwgYmFjayB0byBkZWNpbWFsIC0xMDAwMCAoa29yZWFuLWhhbmd1
bC1mb3JtYWw6IC05OTk5LTk5OTkpLjwvbGk+CisgICAgPGxpIHZhbHVlPSItMTAwMDAiIHN0eWxl
PSJsaXN0LXN0eWxlLXR5cGU6IGtvcmVhbi1oYW5qYS1pbmZvcm1hbDsiPlRoZSBsaXN0IG1hcmtl
ciBzaG91bGQgZmFsbCBiYWNrIHRvIGRlY2ltYWwgLTEwMDAwIChrb3JlYW4taGFuamEtaW5mb3Jt
YWw6IC05OTk5LTk5OTkpLjwvbGk+CisgICAgPGxpIHZhbHVlPSItMTAwMDAiIHN0eWxlPSJsaXN0
LXN0eWxlLXR5cGU6IGtvcmVhbi1oYW5qYS1mb3JtYWw7Ij5UaGUgbGlzdCBtYXJrZXIgc2hvdWxk
IGZhbGwgYmFjayB0byBkZWNpbWFsIC0xMDAwMCAoa29yZWFuLWhhbmphLWZvcm1hbDogLTk5OTkt
OTk5OSkuPC9saT4KICAgICA8bGkgdmFsdWU9IjAiIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGdy
ZWVrOyI+VGhlIGxpc3QgbWFya2VyIHNob3VsZCBmYWxsIGJhY2sgdG8gZGVjaW1hbCAwIChncmVl
azogMS05OTkpLjwvbGk+CiA8L29sPgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9saXN0cy93My1jc3MzLWxpc3Qtc3R5bGVzLWZhbGxiYWNrLXN0eWxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFjay1z
dHlsZS1leHBlY3RlZC50eHQKaW5kZXggZDY2MjNlMGI0MGU1MzQxNzE5NjZkYWNkMDM4ZGYyMWNh
OGRhMzA5OS4uYjIzOTk0ZmNjMDQ1NjY0YmFlMzc0MTlmZGJhOTE1ZmRiZmE4YWIzMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy93My1jc3MzLWxpc3Qtc3R5bGVzLWZhbGxiYWNr
LXN0eWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xpc3RzL3czLWNzczMt
bGlzdC1zdHlsZXMtZmFsbGJhY2stc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC0xMSwxNCArMTEsMTQg
QEAgUEFTUyBsaXN0IG1hcmtlciBpcyDVlNWL1YLUuS4KIFBBU1MgbGlzdCBtYXJrZXIgaXMgMTAw
MDAuCiBjamstaWRlb2dyYXBoaWMKIAotUEFTUyBsaXN0IG1hcmtlciBpcyAtMS4KK1BBU1MgbGlz
dCBtYXJrZXIgaXMg6LKg5LiALgogUEFTUyBsaXN0IG1hcmtlciBpcyDpm7YuCiBQQVNTIGxpc3Qg
bWFya2VyIGlzIOS4gC4KIGV0aGlvcGljLW51bWVyaWMKIAogUEFTUyBsaXN0IG1hcmtlciBpcyAt
MS4KIFBBU1MgbGlzdCBtYXJrZXIgaXMgMC4KLVBBU1MgbGlzdCBtYXJrZXIgaXMgMS4KK1BBU1Mg
bGlzdCBtYXJrZXIgaXMg4Y2pLgogZ2VvcmdpYW4KIAogUEFTUyBsaXN0IG1hcmtlciBpcyAtMS4K
QEAgLTMwLDIxICszMCwyMSBAQCBQQVNTIGxpc3QgbWFya2VyIGlzIDIwMDAxLgogaGVicmV3CiAK
IFBBU1MgbGlzdCBtYXJrZXIgaXMgLTEuCi1QQVNTIGxpc3QgbWFya2VyIGlzINeQ16TXoS4KK1BB
U1MgbGlzdCBtYXJrZXIgaXMgMC4KIFBBU1MgbGlzdCBtYXJrZXIgaXMg15AuCi1QQVNTIGxpc3Qg
bWFya2VyIGlzINeq16rXp9em15gn16rXqten16bXmC4KK1BBU1MgbGlzdCBtYXJrZXIgaXMgOTk5
OTk5LgogUEFTUyBsaXN0IG1hcmtlciBpcyAxMDAwMDAwLgogUEFTUyBsaXN0IG1hcmtlciBpcyAx
MDAwMDAxLgogamFwYW5lc2UtZm9ybWFsCiAKLVBBU1MgbGlzdCBtYXJrZXIgaXMgLTEuCi1QQVNT
IGxpc3QgbWFya2VyIGlzIDAuCi1QQVNTIGxpc3QgbWFya2VyIGlzIDEuCitQQVNTIGxpc3QgbWFy
a2VyIGlzIOODnuOCpOODiuOCueWjsS4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg6Zu2LgorUEFTUyBs
aXN0IG1hcmtlciBpcyDlo7EuCiBqYXBhbmVzZS1pbmZvcm1hbAogCi1QQVNTIGxpc3QgbWFya2Vy
IGlzIC0xLgotUEFTUyBsaXN0IG1hcmtlciBpcyAwLgotUEFTUyBsaXN0IG1hcmtlciBpcyAxLgor
UEFTUyBsaXN0IG1hcmtlciBpcyDjg57jgqTjg4rjgrnkuIAuCitQQVNTIGxpc3QgbWFya2VyIGlz
IOOAhy4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg5LiALgogbG93ZXItYXJtZW5pYW4KIAogUEFTUyBs
aXN0IG1hcmtlciBpcyAtMS4KQEAgLTU3LDE0ICs1NywxNCBAQCBQQVNTIGxpc3QgbWFya2VyIGlz
IDAuCiBQQVNTIGxpc3QgbWFya2VyIGlzIGkuCiBzaW1wLWNoaW5lc2UtZm9ybWFsCiAKLVBBU1Mg
bGlzdCBtYXJrZXIgaXMgLTEuCi1QQVNTIGxpc3QgbWFya2VyIGlzIDAuCi1QQVNTIGxpc3QgbWFy
a2VyIGlzIDEuCitQQVNTIGxpc3QgbWFya2VyIGlzIOi0n+WjuS4KK1BBU1MgbGlzdCBtYXJrZXIg
aXMg6Zu2LgorUEFTUyBsaXN0IG1hcmtlciBpcyDlo7kuCiBzaW1wLWNoaW5lc2UtaW5mb3JtYWwK
IAotUEFTUyBsaXN0IG1hcmtlciBpcyAtMS4KLVBBU1MgbGlzdCBtYXJrZXIgaXMgMC4KLVBBU1Mg
bGlzdCBtYXJrZXIgaXMgMS4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg6LSf5LiALgorUEFTUyBsaXN0
IG1hcmtlciBpcyDpm7YuCitQQVNTIGxpc3QgbWFya2VyIGlzIOS4gC4KIHN5cmlhYwogCiBQQVNT
IGxpc3QgbWFya2VyIGlzIC0xLgpAQCAtNzcsMTQgKzc3LDE0IEBAIFBBU1MgbGlzdCBtYXJrZXIg
aXMg4K+mLgogUEFTUyBsaXN0IG1hcmtlciBpcyDgr6cuCiB0cmFkLWNoaW5lc2UtZm9ybWFsCiAK
LVBBU1MgbGlzdCBtYXJrZXIgaXMgLTEuCi1QQVNTIGxpc3QgbWFya2VyIGlzIDAuCi1QQVNTIGxp
c3QgbWFya2VyIGlzIDEuCitQQVNTIGxpc3QgbWFya2VyIGlzIOiyoOWjuS4KK1BBU1MgbGlzdCBt
YXJrZXIgaXMg6Zu2LgorUEFTUyBsaXN0IG1hcmtlciBpcyDlo7kuCiB0cmFkLWNoaW5lc2UtaW5m
b3JtYWwKIAotUEFTUyBsaXN0IG1hcmtlciBpcyAtMS4KLVBBU1MgbGlzdCBtYXJrZXIgaXMgMC4K
LVBBU1MgbGlzdCBtYXJrZXIgaXMgMS4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg6LKg5LiALgorUEFT
UyBsaXN0IG1hcmtlciBpcyDpm7YuCitQQVNTIGxpc3QgbWFya2VyIGlzIOS4gC4KIHVwcGVyLWFy
bWVuaWFuCiAKIFBBU1MgbGlzdCBtYXJrZXIgaXMgLTEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtZmFsbGJhY2stc3R5bGUuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFjay1zdHlsZS5o
dG1sCmluZGV4IGE2MDQ5NDMyZjU5MjgzNDY5MjkzZTViYTc3NmJkM2NkNDVmMTJlOWEuLjVlNDdm
Yzc4NzAwYzRkMjI2YWIyOGEyYzU1OTU5MmIzYWU5OTczYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFjay1zdHlsZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1mYWxsYmFjay1z
dHlsZS5odG1sCkBAIC0xNSwzNyArMTUsMjEgQEAKICAgICAgICAgKi8KICAgICAgICAgCiAgICAg
ICAgIG9sLmFybWVuaWFuIHsgbGlzdC1zdHlsZS10eXBlOiBhcm1lbmlhbjsgfQotICAgICAgICAK
ICAgICAgICAgb2wuY2prLWlkZW9ncmFwaGljIHsgbGlzdC1zdHlsZS10eXBlOiBjamstaWRlb2dy
YXBoaWM7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmV0aGlvcGljLW51bWVyaWMgeyBsaXN0LXN0
eWxlLXR5cGU6IGV0aGlvcGljLW51bWVyaWM7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmdlb3Jn
aWFuIHsgbGlzdC1zdHlsZS10eXBlOiBnZW9yZ2lhbjsgfQotICAgICAgICAKICAgICAgICAgb2wu
aGVicmV3IHsgbGlzdC1zdHlsZS10eXBlOiBoZWJyZXc7IH0KLSAgICAgICAgCiAgICAgICAgIG9s
LmphcGFuZXNlLWZvcm1hbCB7IGxpc3Qtc3R5bGUtdHlwZTogamFwYW5lc2UtZm9ybWFsOyB9Ci0g
ICAgICAgIAogICAgICAgICBvbC5qYXBhbmVzZS1pbmZvcm1hbCB7IGxpc3Qtc3R5bGUtdHlwZTog
amFwYW5lc2UtaW5mb3JtYWw7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmxvd2VyLWFybWVuaWFu
IHsgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hcm1lbmlhbjsgfQotICAgICAgICAKICAgICAgICAg
b2wubG93ZXItcm9tYW4geyBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9Ci0gICAgICAg
IAogICAgICAgICBvbC5zaW1wLWNoaW5lc2UtZm9ybWFsIHsgbGlzdC1zdHlsZS10eXBlOiBzaW1w
LWNoaW5lc2UtZm9ybWFsOyB9Ci0gICAgICAgIAogICAgICAgICBvbC5zaW1wLWNoaW5lc2UtaW5m
b3JtYWwgeyBsaXN0LXN0eWxlLXR5cGU6IHNpbXAtY2hpbmVzZS1pbmZvcm1hbDsgfQotICAgICAg
ICAKICAgICAgICAgb2wuc3lyaWFjIHsgbGlzdC1zdHlsZS10eXBlOiBzeXJpYWM7IH0KLSAgICAg
ICAgCiAgICAgICAgIG9sLnRhbWlsIHsgbGlzdC1zdHlsZS10eXBlOiB0YW1pbDsgfQotICAgICAg
ICAKICAgICAgICAgb2wudHJhZC1jaGluZXNlLWZvcm1hbCB7IGxpc3Qtc3R5bGUtdHlwZTogdHJh
ZC1jaGluZXNlLWZvcm1hbDsgfQotICAgICAgICAKICAgICAgICAgb2wudHJhZC1jaGluZXNlLWlu
Zm9ybWFsIHsgbGlzdC1zdHlsZS10eXBlOiB0cmFkLWNoaW5lc2UtaW5mb3JtYWw7IH0KLSAgICAg
ICAgCiAgICAgICAgIG9sLnVwcGVyLWFybWVuaWFuIHsgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1h
cm1lbmlhbjsgfQotICAgICAgICAKICAgICAgICAgb2wudXBwZXItcm9tYW4geyBsaXN0LXN0eWxl
LXR5cGU6IHVwcGVyLXJvbWFuOyB9CiAgICAgPC9zdHlsZT4KICAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2R1bXAtbGlzdC5qcyI+PC9zY3JpcHQ+CkBAIC02Niw3ICs1MCw3IEBACiAgICAgPGgx
PkNTUzMgRmFsbGJhY2sgdG8gRGVjaW1hbCBMaXN0IFN0eWxlPC9oMT4KICAgICA8ZGl2IGlkPSJk
ZXNjcmlwdGlvbiI+CiAgICAgICAgIDxwPlRoaXMgdGVzdHMgdGhhdCB3ZSBmYWxsYmFjayB0byB0
aGUgZGVjaW1hbCBsaXN0IHN0eWxlIHR5cGUgd2hlbiB0aGUgb3JkaW5hbCBpcyBvdXRzaWRlIHRo
ZSByZXByZXNlbnRhYmxlIHJhbmdlIGZvciB0aGUgbGlzdCBzdHlsZSB0eXBlIGFzIHBlciB0aGUg
PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1saXN0cy8iPkNTUzMgTGlzdHMgbW9k
dWxlPC9hPiAoRHJhZnQgNyBOb3ZlbWJlciAyMDAyKS4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB0aGUg
bGlzdCBpdGVtIG1hdGNoZXMgaXRzIG1hcmtlciBmb3IgZXZlcnkgbGlzdCBpdGVtIChiZWxvdyku
PC9wPgotICAgICAgICA8cD5Ob3RlLCBhcyBvZiAxMi8wNC8yMDEwLCBldGhpb3BpYy1udW1lcmlj
OyBqYXBhbmVzZS1mb3JtYWw7IGphcGFuZXNlLWluZm9ybWFsOyBzaW1wLWNoaW5lc2UtZm9ybWFs
OyBzaW1wLWNoaW5lc2UtaW5mb3JtYWw7IHN5cmlhYzsgdGFtaWw7IHRyYWQtY2hpbmVzZS1mb3Jt
YWw7IGFuZCB0cmFkLWNoaW5lc2UtaW5mb3JtYWwgYXJlIHVuc3VwcG9ydGVkIGFuZCBoZW5jZSBo
YXZlIGV4cGVjdGVkIGZhaWx1cmUgcmVzdWx0cy48L3A+CisgICAgICAgIDxwPk5vdGUsIGFzIG9m
IDIwMjEtMDYtMjAsIHN5cmlhYyBpcyB1bnN1cHBvcnRlZCBhbmQgaGVuY2UgaGFzIGV4cGVjdGVk
IGZhaWx1cmUgcmVzdWx0cy48L3A+CiAgICAgPC9kaXY+CiAgICAgPGhyLz4KICAgICA8aDI+QWxn
b3JpdGhtaWM8L2gyPgpAQCAtODYsMTkgKzcwLDE4IEBACiAgICAgPGRpdiBjbGFzcz0idGVzdCI+
CiAgICAgICAgIDxoMj5jamstaWRlb2dyYXBoaWM8L2gyPgogICAgICAgICA8b2wgY2xhc3M9ImNq
ay1pZGVvZ3JhcGhpYyIgc3RhcnQ9Ii0xIj4KLSAgICAgICAgICAgIDxsaT4tMTwvbGk+CisgICAg
ICAgICAgICA8bGk+JiN4OENBMDsmI3g0RTAwOzwvbGk+CiAgICAgICAgICAgICA8bGk+JiN4OTZG
Njs8L2xpPgogICAgICAgICAgICAgPGxpPiYjeDRFMDA7PC9saT4KICAgICAgICAgPC9vbD4KICAg
ICA8L2Rpdj4KICAgICAKICAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij4KLSAgICAgICAgPCEtLSBGSVhN
RTogV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBsaXN0LXN0eWxlLXR5cGUuIFRoZXNl
IGFyZSBleHBlY3RlZCBmYWlsdXJlIHJlc3VsdHMuIC0tPgogICAgICAgICA8aDI+ZXRoaW9waWMt
bnVtZXJpYzwvaDI+CiAgICAgICAgIDxvbCBjbGFzcz0iZXRoaW9waWMtbnVtZXJpYyIgc3RhcnQ9
Ii0xIj4KICAgICAgICAgICAgIDxsaT4tMTwvbGk+CiAgICAgICAgICAgICA8bGk+MDwvbGk+Ci0g
ICAgICAgICAgICA8bGk+MTwvbGk+CisgICAgICAgICAgICA8bGk+JiN4MTM2OTs8L2xpPgogICAg
ICAgICA8L29sPgogICAgIDwvZGl2PgogICAgIApAQCAtMTE5LDMxICsxMDIsMjkgQEAKICAgICAg
ICAgPGgyPmhlYnJldzwvaDI+CiAgICAgICAgIDxvbCBjbGFzcz0iaGVicmV3IiBzdGFydD0iLTEi
PgogICAgICAgICAgICAgPGxpPi0xPC9saT4KLSAgICAgICAgICAgIDxsaT4mI3g1RDA7JiN4NUU0
OyYjeDVFMTs8L2xpPgorICAgICAgICAgICAgPGxpPjA8L2xpPgogICAgICAgICAgICAgPGxpPiYj
eDVEMDs8L2xpPgogICAgICAgICA8L29sPgogICAgICAgICA8b2wgY2xhc3M9ImhlYnJldyIgc3Rh
cnQ9Ijk5OTk5OSI+Ci0gICAgICAgICAgICA8bGk+JiN4NUVBOyYjeDVFQTsmI3g1RTc7JiN4NUU2
OyYjeDVEODsmI3gyNzsmI3g1RUE7JiN4NUVBOyYjeDVFNzsmI3g1RTY7JiN4NUQ4OzwvbGk+Cisg
ICAgICAgICAgICA8bGk+OTk5OTk5PC9saT4KICAgICAgICAgICAgIDxsaT4xMDAwMDAwPC9saT4K
ICAgICAgICAgICAgIDxsaT4xMDAwMDAxPC9saT4KICAgICAgICAgPC9vbD4KICAgICA8L2Rpdj4K
ICAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij4KLSAgICAgICAgPCEtLSBGSVhNRTogV2UgZG9uJ3QgY3Vy
cmVudGx5IHN1cHBvcnQgdGhpcyBsaXN0LXN0eWxlLXR5cGUuIFRoZXNlIGFyZSBleHBlY3RlZCBm
YWlsdXJlIHJlc3VsdHMuIC0tPgogICAgICAgICA8aDI+amFwYW5lc2UtZm9ybWFsPC9oMj4KICAg
ICAgICAgPG9sIGNsYXNzPSJqYXBhbmVzZS1mb3JtYWwiIHN0YXJ0PSItMSI+Ci0gICAgICAgICAg
ICA8bGk+LTE8L2xpPgotICAgICAgICAgICAgPGxpPjA8L2xpPgotICAgICAgICAgICAgPGxpPjE8
L2xpPgorICAgICAgICAgICAgPGxpPiYjeDMwREU7JiN4MzBBNDsmI3gzMENBOyYjeDMwQjk7JiN4
NThGMTs8L2xpPgorICAgICAgICAgICAgPGxpPiYjeDk2RjY7PC9saT4KKyAgICAgICAgICAgIDxs
aT4mI3g1OEYxOzwvbGk+CiAgICAgICAgIDwvb2w+CiAgICAgPC9kaXY+CiAgICAgPGRpdiBjbGFz
cz0idGVzdCI+Ci0gICAgICAgIDwhLS0gRklYTUU6IFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0
IHRoaXMgbGlzdC1zdHlsZS10eXBlLiBUaGVzZSBhcmUgZXhwZWN0ZWQgZmFpbHVyZSByZXN1bHRz
LiAtLT4KICAgICAgICAgPGgyPmphcGFuZXNlLWluZm9ybWFsPC9oMj4KICAgICAgICAgPG9sIGNs
YXNzPSJqYXBhbmVzZS1pbmZvcm1hbCIgc3RhcnQ9Ii0xIj4KLSAgICAgICAgICAgIDxsaT4tMTwv
bGk+Ci0gICAgICAgICAgICA8bGk+MDwvbGk+Ci0gICAgICAgICAgICA8bGk+MTwvbGk+CisgICAg
ICAgICAgICA8bGk+JiN4MzBERTsmI3gzMEE0OyYjeDMwQ0E7JiN4MzBCOTsmI3g0RTAwOzwvbGk+
CisgICAgICAgICAgICA8bGk+JiN4MzAwNzs8L2xpPgorICAgICAgICAgICAgPGxpPiYjeDRFMDA7
PC9saT4KICAgICAgICAgPC9vbD4KICAgICA8L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij4K
QEAgLTE2MywyMSArMTQ0LDE5IEBACiAgICAgICAgIDwvb2w+CiAgICAgPC9kaXY+CiAgICAgPGRp
diBjbGFzcz0idGVzdCI+Ci0gICAgICAgIDwhLS0gRklYTUU6IFdlIGRvbid0IGN1cnJlbnRseSBz
dXBwb3J0IHRoaXMgbGlzdC1zdHlsZS10eXBlLiBUaGVzZSBhcmUgZXhwZWN0ZWQgZmFpbHVyZSBy
ZXN1bHRzLiAtLT4KICAgICAgICAgPGgyPnNpbXAtY2hpbmVzZS1mb3JtYWw8L2gyPgogICAgICAg
ICA8b2wgY2xhc3M9InNpbXAtY2hpbmVzZS1mb3JtYWwiIHN0YXJ0PSItMSI+Ci0gICAgICAgICAg
ICA8bGk+LTE8L2xpPgotICAgICAgICAgICAgPGxpPjA8L2xpPgotICAgICAgICAgICAgPGxpPjE8
L2xpPgorICAgICAgICAgICAgPGxpPiYjeDhEMUY7JiN4NThGOTs8L2xpPgorICAgICAgICAgICAg
PGxpPiYjeDk2RjY7PC9saT4KKyAgICAgICAgICAgIDxsaT4mI3g1OEY5OzwvbGk+CiAgICAgICAg
IDwvb2w+CiAgICAgPC9kaXY+CiAgICAgPGRpdiBjbGFzcz0idGVzdCI+Ci0gICAgICAgIDwhLS0g
RklYTUU6IFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgbGlzdC1zdHlsZS10eXBlLiBU
aGVzZSBhcmUgZXhwZWN0ZWQgZmFpbHVyZSByZXN1bHRzLiAtLT4KICAgICAgICAgPGgyPnNpbXAt
Y2hpbmVzZS1pbmZvcm1hbDwvaDI+CiAgICAgICAgIDxvbCBjbGFzcz0ic2ltcC1jaGluZXNlLWlu
Zm9ybWFsIiBzdGFydD0iLTEiPgotICAgICAgICAgICAgPGxpPi0xPC9saT4KLSAgICAgICAgICAg
IDxsaT4wPC9saT4KLSAgICAgICAgICAgIDxsaT4xPC9saT4KKyAgICAgICAgICAgIDxsaT4mI3g4
RDFGOyYjeDRFMDA7PC9saT4KKyAgICAgICAgICAgIDxsaT4mI3g5NkY2OzwvbGk+CisgICAgICAg
ICAgICA8bGk+JiN4NEUwMDs8L2xpPgogICAgICAgICA8L29sPgogICAgIDwvZGl2PgogICAgIDxk
aXYgY2xhc3M9InRlc3QiPgpAQCAtMTk4LDIxICsxNzcsMTkgQEAKICAgICAgICAgPC9vbD4KICAg
ICA8L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij4KLSAgICAgICAgPCEtLSBGSVhNRTogV2Ug
ZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBsaXN0LXN0eWxlLXR5cGUuIFRoZXNlIGFyZSBl
eHBlY3RlZCBmYWlsdXJlIHJlc3VsdHMuIC0tPgogICAgICAgICA8aDI+dHJhZC1jaGluZXNlLWZv
cm1hbDwvaDI+CiAgICAgICAgIDxvbCBjbGFzcz0idHJhZC1jaGluZXNlLWZvcm1hbCIgc3RhcnQ9
Ii0xIj4KLSAgICAgICAgICAgIDxsaT4tMTwvbGk+Ci0gICAgICAgICAgICA8bGk+MDwvbGk+Ci0g
ICAgICAgICAgICA8bGk+MTwvbGk+CisgICAgICAgICAgICA8bGk+JiN4OENBMDsmI3g1OEY5Ozwv
bGk+CisgICAgICAgICAgICA8bGk+JiN4OTZGNjs8L2xpPgorICAgICAgICAgICAgPGxpPiYjeDU4
Rjk7PC9saT4KICAgICAgICAgPC9vbD4KICAgICA8L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJ0ZXN0
Ij4KLSAgICAgICAgPCEtLSBGSVhNRTogV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBs
aXN0LXN0eWxlLXR5cGUuIFRoZXNlIGFyZSBleHBlY3RlZCBmYWlsdXJlIHJlc3VsdHMuIC0tPgog
ICAgICAgICA8aDI+dHJhZC1jaGluZXNlLWluZm9ybWFsPC9oMj4KICAgICAgICAgPG9sIGNsYXNz
PSJ0cmFkLWNoaW5lc2UtaW5mb3JtYWwiIHN0YXJ0PSItMSI+Ci0gICAgICAgICAgICA8bGk+LTE8
L2xpPgotICAgICAgICAgICAgPGxpPjA8L2xpPgotICAgICAgICAgICAgPGxpPjE8L2xpPgorICAg
ICAgICAgICAgPGxpPiYjeDhDQTA7JiN4NEUwMDs8L2xpPgorICAgICAgICAgICAgPGxpPiYjeDk2
RjY7PC9saT4KKyAgICAgICAgICAgIDxsaT4mI3g0RTAwOzwvbGk+CiAgICAgICAgIDwvb2w+CiAg
ICAgPC9kaXY+CiAgICAgPGRpdiBjbGFzcz0idGVzdCI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtbnVtZXJpYy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2xpc3RzL3czLWNzczMtbGlzdC1zdHlsZXMtbnVtZXJpYy1leHBlY3Rl
ZC50eHQKaW5kZXggYzRkYmU5YjYyMDgxZmM3ZGFmZmM4NDdhOTdjNzJiODY2NmY3MzBiNC4uOGJh
OTFjNjgyY2RlYTZkY2UxMDY3YzhkZGM5ZjI0MDA3NDU1ZWUxOCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9saXN0cy93My1jc3MzLWxpc3Qtc3R5bGVzLW51bWVyaWMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0eWxlcy1udW1lcmlj
LWV4cGVjdGVkLnR4dApAQCAtMzg2LDQgKzM4NiwyMyBAQCBQQVNTIGxpc3QgbWFya2VyIGlzIDAu
CiBQQVNTIGxpc3QgbWFya2VyIGlzIDEuCiBQQVNTIGxpc3QgbWFya2VyIGlzIC04MDAwMDAwMC4K
IFBBU1MgbGlzdCBtYXJrZXIgaXMgLTdGRkZGRkZGLgorZXRoaW9waWMtbnVtZXJpYworCitQQVNT
IGxpc3QgbWFya2VyIGlzIOGNqS4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg4Y2qLgorUEFTUyBsaXN0
IG1hcmtlciBpcyDhjasuCitQQVNTIGxpc3QgbWFya2VyIGlzIOGNrC4KK1BBU1MgbGlzdCBtYXJr
ZXIgaXMg4Y2tLgorUEFTUyBsaXN0IG1hcmtlciBpcyDhja4uCitQQVNTIGxpc3QgbWFya2VyIGlz
IOGNry4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg4Y2wLgorUEFTUyBsaXN0IG1hcmtlciBpcyDhjbEu
CitQQVNTIGxpc3QgbWFya2VyIGlzIOGNsi4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg4Y2y4Y2pLgor
UEFTUyBsaXN0IG1hcmtlciBpcyAwLgorUEFTUyBsaXN0IG1hcmtlciBpcyDhjbsuCitQQVNTIGxp
c3QgbWFya2VyIGlzIOGNqS4KK1BBU1MgbGlzdCBtYXJrZXIgaXMg4Y244Y2w4Y274Y2p4Y284Y26
4Y2qLgorUEFTUyBsaXN0IG1hcmtlciBpcyAtMjE0NzQ4MzY0OC4KK1BBU1MgbGlzdCBtYXJrZXIg
aXMgLTIxNDc0ODM2NDcuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMt
Y3NzMy1saXN0LXN0eWxlcy1udW1lcmljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xpc3RzL3cz
LWNzczMtbGlzdC1zdHlsZXMtbnVtZXJpYy5odG1sCmluZGV4IGFlMjYxZmFiMDZmY2Y4MTIwYmFi
ZDljMTU5OGVjNzc2NTljYjcyZGMuLmI2OTVlNjczZjZiODc0YWNhMjM4OGM1M2E1YTgzMGExM2Rh
MjI0YTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtY3NzMy1saXN0LXN0
eWxlcy1udW1lcmljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9saXN0cy93My1jc3MzLWxp
c3Qtc3R5bGVzLW51bWVyaWMuaHRtbApAQCAtNCw2ICs0LDcgQEAKICAgICA8c3R5bGU+CiAgICAg
ICAgIC50ZXN0IG9sIHsgZmxvYXQ6IGxlZnQ7IHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0KICAgICAg
ICAgLnRlc3QgaDIgeyBjbGVhcjogbGVmdDsgfQorICAgICAgICAucmlnaHQgeyBwYWRkaW5nLWxl
ZnQ6IDEyMHB4OyB9CiAgICAgICAgIC5uZWdhdGl2ZS1udW1iZXIgeyBwYWRkaW5nLWxlZnQ6IDMw
MHB4OyB9CiAgICAgICAgIC5uZWdhdGl2ZS1udW1iZXIgbGk6YmVmb3JlIHsgY29udGVudDogIlww
MDJEIjsgfQogICAgICAgICAKQEAgLTEzLDQ5ICsxNCwyOCBAQAogICAgICAgICAqLwogICAgICAg
ICAKICAgICAgICAgb2wuYXJhYmljLWluZGljIHsgbGlzdC1zdHlsZS10eXBlOiBhcmFiaWMtaW5k
aWM7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmJpbmFyeSB7IGxpc3Qtc3R5bGUtdHlwZTogYmlu
YXJ5OyB9Ci0gICAgICAgIAogICAgICAgICBvbC5iZW5nYWxpIHsgbGlzdC1zdHlsZS10eXBlOiBi
ZW5nYWxpOyB9Ci0gICAgICAgIAogICAgICAgICBvbC5jYW1ib2RpYW4geyBsaXN0LXN0eWxlLXR5
cGU6IGNhbWJvZGlhbjsgfQogICAgICAgICBvbC5raG1lciB7IGxpc3Qtc3R5bGUtdHlwZToga2ht
ZXI7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmRlY2ltYWwgeyBsaXN0LXN0eWxlLXR5cGU6IGRl
Y2ltYWw7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmRlY2ltYWwtbGVhZGluZy16ZXJvIHsgbGlz
dC1zdHlsZS10eXBlOiBkZWNpbWFsLWxlYWRpbmctemVybzsgfQotICAgICAgICAKICAgICAgICAg
b2wuZGV2YW5hZ2FyaSB7IGxpc3Qtc3R5bGUtdHlwZTogZGV2YW5hZ2FyaTsgfQotICAgICAgICAK
ICAgICAgICAgb2wuZ3VqYXJhdGkgeyBsaXN0LXN0eWxlLXR5cGU6IGd1amFyYXRpOyB9Ci0gICAg
ICAgIAogICAgICAgICBvbC5ndXJtdWtoaSB7IGxpc3Qtc3R5bGUtdHlwZTogZ3VybXVraGk7IH0K
LSAgICAgICAgCiAgICAgICAgIG9sLmthbm5hZGEgeyBsaXN0LXN0eWxlLXR5cGU6IGthbm5hZGE7
IH0KLSAgICAgICAgCiAgICAgICAgIG9sLmxvd2VyLWhleGFkZWNpbWFsIHsgbGlzdC1zdHlsZS10
eXBlOiBsb3dlci1oZXhhZGVjaW1hbDsgfQotICAgICAgICAKICAgICAgICAgb2wubGFvIHsgbGlz
dC1zdHlsZS10eXBlOiBsYW87IH0KLSAgICAgICAgCiAgICAgICAgIG9sLm1hbGF5YWxhbSB7IGxp
c3Qtc3R5bGUtdHlwZTogbWFsYXlhbGFtOyB9Ci0gICAgICAgIAogICAgICAgICBvbC5tb25nb2xp
YW4geyBsaXN0LXN0eWxlLXR5cGU6IG1vbmdvbGlhbjsgfQotICAgICAgICAKICAgICAgICAgb2wu
bXlhbm1hciB7IGxpc3Qtc3R5bGUtdHlwZTogbXlhbm1hcjsgfQotICAgICAgICAKICAgICAgICAg
b2wub2N0YWwgeyBsaXN0LXN0eWxlLXR5cGU6IG9jdGFsOyB9Ci0gICAgICAgIAogICAgICAgICBv
bC5vcml5YSB7IGxpc3Qtc3R5bGUtdHlwZTogb3JpeWE7IH0KLSAgICAgICAgCiAgICAgICAgIG9s
LnBlcnNpYW4geyBsaXN0LXN0eWxlLXR5cGU6IHBlcnNpYW47IH0KICAgICAgICAgb2wudXJkdSB7
IGxpc3Qtc3R5bGUtdHlwZTogdXJkdTsgfQotICAgICAgICAKICAgICAgICAgb2wudGVsdWd1IHsg
bGlzdC1zdHlsZS10eXBlOiB0ZWx1Z3U7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLnRpYmV0YW4g
eyBsaXN0LXN0eWxlLXR5cGU6IHRpYmV0YW47IH0KLSAgICAgICAgCiAgICAgICAgIG9sLnRoYWkg
eyBsaXN0LXN0eWxlLXR5cGU6IHRoYWk7IH0KLSAgICAgICAgCiAgICAgICAgIG9sLnVwcGVyLWhl
eGFkZWNpbWFsIHsgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1oZXhhZGVjaW1hbDsgfQogICAgIDwv
c3R5bGU+CiAgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9kdW1wLWxpc3QuanMiPjwvc2NyaXB0
PgpAQCAtNzEsNyArNTEsNyBAQAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIXdpbmRvdy50
ZXN0UnVubmVyKQogICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIAorCiAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKICAgICAgICAgICAgIGZpbHRlckxpc3Rz
V2l0aFJlcGxhY2VtZW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi50ZXN0IG9sIiksIHRl
c3RMaXN0SXRlbU1hcmtlckVxdWFsc0xpc3RJdGVtVGV4dCk7CiAgICAgICAgICAgICBkb2N1bWVu
dC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkZXNjcmlwdGlvbiIp
KTsgLy8gUmVtb3ZlIGRlc2NyaXB0aW9uIHdoZW4gcnVubmluZyBpbiBEUlQuCkBAIC03MDUsNSAr
Njg1LDM4IEBACiAgICAgICAgICAgICA8bGk+N0ZGRkZGRkY8L2xpPgogICAgICAgICA8L29sPgog
ICAgIDwvZGl2PgorCisgICAgPGRpdiBjbGFzcz0idGVzdCI+CisgICAgICAgIDxoMj5ldGhpb3Bp
Yy1udW1lcmljPC9oMj4KKyAgICAgICAgPG9sIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGV0aGlv
cGljLW51bWVyaWMiPgorICAgICAgICAgICAgPGxpPiYjeDEzNjk7PC9saT4KKyAgICAgICAgICAg
IDxsaT4mI3gxMzZBOzwvbGk+CisgICAgICAgICAgICA8bGk+JiN4MTM2Qjs8L2xpPgorICAgICAg
ICAgICAgPGxpPiYjeDEzNkM7PC9saT4KKyAgICAgICAgICAgIDxsaT4mI3gxMzZEOzwvbGk+Cisg
ICAgICAgICAgICA8bGk+JiN4MTM2RTs8L2xpPgorICAgICAgICAgICAgPGxpPiYjeDEzNkY7PC9s
aT4KKyAgICAgICAgICAgIDxsaT4mI3gxMzcwOzwvbGk+CisgICAgICAgICAgICA8bGk+JiN4MTM3
MTs8L2xpPgorICAgICAgICAgICAgPGxpPiYjeDEzNzI7PC9saT4KKyAgICAgICAgICAgIDxsaT4m
I3gxMzcyOyYjeDEzNjk7PC9saT4KKyAgICAgICAgPC9vbD4KKyAgICAgICAgPG9sIHN0eWxlPSJs
aXN0LXN0eWxlLXR5cGU6IGV0aGlvcGljLW51bWVyaWMiIHN0YXJ0PSIwIj4KKyAgICAgICAgICAg
IDxsaT4wPC9saT4KKyAgICAgICAgPC9vbD4KKyAgICAgICAgPG9sIHN0eWxlPSJsaXN0LXN0eWxl
LXR5cGU6IGV0aGlvcGljLW51bWVyaWMiIHN0YXJ0PSIxMDAiPgorICAgICAgICAgICAgPGxpPiYj
eDEzN0I7PC9saT4KKyAgICAgICAgPC9vbD4KKyAgICAgICAgPG9sIHN0eWxlPSJsaXN0LXN0eWxl
LXR5cGU6IGV0aGlvcGljLW51bWVyaWMiIHN0YXJ0PSItMjE0NzQ4MzY0OSI+CisgICAgICAgICAg
ICA8bGk+JiN4MTM2OTs8L2xpPgorICAgICAgICA8L29sPgorICAgICAgICA8b2wgc3R5bGU9Imxp
c3Qtc3R5bGUtdHlwZTogZXRoaW9waWMtbnVtZXJpYyIgY2xhc3M9InJpZ2h0IiBzdGFydD0iNzgw
MTAwOTIiPgorICAgICAgICAgICAgPGxpPiYjeDEzNzg7JiN4MTM3MDsmI3gxMzdCOyYjeDEzNjk7
JiN4MTM3QzsmI3gxMzdBOyYjeDEzNkE7PC9saT4KKyAgICAgICAgPC9vbD4KKyAgICAgICAgPG9s
IHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGV0aGlvcGljLW51bWVyaWMiIGNsYXNzPSJuZWdhdGl2
ZS1udW1iZXIiIHN0YXJ0PSItMjE0NzQ4MzY0OCI+CisgICAgICAgICAgICA8bGk+MjE0NzQ4MzY0
ODwvbGk+CisgICAgICAgICAgICA8bGk+MjE0NzQ4MzY0NzwvbGk+CisgICAgICAgIDwvb2w+Cisg
ICAgPC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2xpc3RzL3czLWxpc3Qtc3R5bGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbGlz
dHMvdzMtbGlzdC1zdHlsZXMtZXhwZWN0ZWQudHh0CmluZGV4IDYxOTZiZjcwYzhhMjc0ZmU2YmVk
NzQzNTBlOGIxODA3ZDY4YTY2NjkuLmQxYzA1M2FmODM4OGVmNjk3MjY1MDY1OGIxMDBkNzQ3NWM1
YTMwYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtbGlzdC1zdHlsZXMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbGlzdHMvdzMtbGlzdC1zdHlsZXMt
ZXhwZWN0ZWQudHh0CkBAIC0yMjksNyArMjI5LDcgQEAgVGhlIENTUzIuMCBzcGVjaWZpY2F0aW9u
IGRvZXNuJ3QgZGVmaW5lIHRoZSBhbGdvcml0aG0gZm9yIHRoZSBIZWJyZXcgbnVtYmVyaW5nLgog
16bXmCBuaW5ldHktbmluZSwgdW5kZWZpbmVkLCBtYXkgc2hvdyDXpteYCiDXpyBodW5kcmVkLCB1
bmRlZmluZWQsIG1heSBzaG93INenCiDXp9eQIGEgaHVuZHJlZCBhbmQgb25lLCB1bmRlZmluZWQs
IG1heSBzaG93INen15AKLdeQ16TXoSB6ZXJvLCB1bmRlZmluZWQsIG1heSBzaG93INeQ16TXoQor
MCB6ZXJvLCB1bmRlZmluZWQsIG1heSBzaG93INeQ16TXoQog15Agb25lLCBzaG91bGQgc2hvdyDX
kAogZ2VvcmdpYW4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCA4YzM4ODc5NzM0NWMzNDY3NTRlOTQ5N2EwMjAxYTdjYTZkZDkyNjE3Li40MTU2ZDUyYWRk
N2I0OWEyZmI2ZDk2NmNhZmJiZTdiMDc1OTg3NGFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjE2MywxMCArMjE2Myw2IEBAIHdlYmtpdC5vcmcvYi8y
MjExMDAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8t
YXBpL3RoZS1hCiAKICMgQGNvdW50ZXItc3R5bGUgV1BUIGZhaWx1cmVzIHNwZWNpZmljIHRvIE1h
YyBwbGF0Zm9ybXMKIFsgTW9qYXZlIENhdGFsaW5hIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2xvd2VyLWFybWVuaWFuL2NzczMtY291bnRl
ci1zdHlsZXMtMTEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9iZW5nYWxpL2NzczMtY291bnRl
ci1zdHlsZXMtMTE3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9ndWphcmF0aS9jc3MzLWNvdW50
ZXItc3R5bGVzLTEyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvZ3VybXVraGkvY3NzMy1jb3Vu
dGVyLXN0eWxlcy0xMjYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2xhby9jc3MzLWNvdW50ZXIt
c3R5bGVzLTEzMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8yMjIx
ODUgbWVkaWEvbWVkaWEtZXh0ZW5zaW9uLXdpdGgtZnJhZ21lbnQuaHRtbCBbIENyYXNoIF0KIAo=
</data>
<flag name="review"
          id="453756"
          type_id="1"
          status="+"
          setter="koivisto"
    />
    <flag name="commit-queue"
          id="453847"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>