<?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>164003</bug_id>
          
          <creation_ts>2016-10-25 19:45:35 -0700</creation_ts>
          <short_desc>Updating attribute by textContent must create a single mutation record and custom element reaction</short_desc>
          <delta_ts>2016-10-28 20:50:42 -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>DOM</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>154907</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1244606</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-25 19:45:35 -0700</bug_when>
    <thetext>When updating an attribute by its Attr node&apos;s textContent,
WebKit currently creates two mutation records and invokes attributeChangedCallback twice.

In accordance with the latest DOM specification,
we should create exactly one mutation record and invoke attributeChangedCallback once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244609</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-10-25 19:49:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/28951008&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244610</commentid>
    <comment_count>2</comment_count>
      <attachid>292866</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-25 19:52:03 -0700</bug_when>
    <thetext>Created attachment 292866
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244620</commentid>
    <comment_count>3</comment_count>
      <attachid>292866</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-25 21:02:46 -0700</bug_when>
    <thetext>Comment on attachment 292866
Fixes the bug

r=me, good find.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244624</commentid>
    <comment_count>4</comment_count>
      <attachid>292866</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-25 21:47:54 -0700</bug_when>
    <thetext>Comment on attachment 292866
Fixes the bug

Clearing flags on attachment: 292866

Committed r207864: &lt;http://trac.webkit.org/changeset/207864&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244625</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-25 21:47:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245776</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-28 14:18:09 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245777</commentid>
    <comment_count>7</comment_count>
      <attachid>293210</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-28 14:18:12 -0700</bug_when>
    <thetext>Created attachment 293210
Adds CEReactions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245778</commentid>
    <comment_count>8</comment_count>
      <attachid>293210</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-28 14:18:49 -0700</bug_when>
    <thetext>Comment on attachment 293210
Adds CEReactions

Oops, wrong bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292866</attachid>
            <date>2016-10-25 19:52:03 -0700</date>
            <delta_ts>2016-10-28 14:18:04 -0700</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-164003-20161025194817.patch</filename>
            <type>text/plain</type>
            <size>9076</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3ODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTA5YjEwZDkxMDYxNTFl
NDJlOTViNDE2YzM5YWRkNDJhMWViNDEwNy4uYzYzYWFhZWM3MjJkZWZhOGZmOWViYjBlODYxZmVl
ODY0NDUyZmY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTEwLTI1ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVwZGF0aW5nIGF0dHJpYnV0
ZSBieSB0ZXh0Q29udGVudCBtdXN0IGNyZWF0ZSBhIHNpbmdsZSBtdXRhdGlvbiByZWNvcmQgYW5k
IGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjQwMDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGUgYnVnIHdhcyBjYXVzZWQgYnkgc2V0VGV4dENvbnRlbnQgbm90
IGludm9raW5nIHNldE5vZGVWYWx1ZSBmb3IgQXR0ciBub2Rlcy4KKyAgICAgICAgVXNlIHNldE5v
ZGVWYWx1ZSB0byBtYXRjaCB0aGUgc3BlY2lmaWNhdGlvbjogaHR0cHM6Ly9kb20uc3BlYy53aGF0
d2cub3JnLyNkb20tbm9kZS10ZXh0Y29udGVudAorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL011
dGF0aW9uT2JzZXJ2ZXIvdGV4dC1jb250ZW50LW9uLWF0dHIuaHRtbAorCisgICAgICAgICogZG9t
L05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2V0VGV4dENvbnRlbnQpOgorCiAy
MDE2LTEwLTI0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dlYklE
TF0gTW92ZSBtb3JlIHR5cGVzIG92ZXIgdG8gdGhlIG5ldyBKU0NvbnZlcnRlciBiYXNlZCB0b0pT
IGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IGMzOWQ5NDA1NmQ1N2Y4YmQ2MjFmNzE4OTQx
ZTA0YTZlMDIzZDBiYmQuLmM4NzY0YjgxODFmZDRiYjQyOGY3ZjNhMDc5YWE5NmIwNzNlZDEzMjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZS5jcHAKQEAgLTE0NzQsMjYgKzE0NzQsMjYgQEAgU3RyaW5nIE5vZGU6OnRl
eHRDb250ZW50KGJvb2wgY29udmVydEJSc1RvTmV3bGluZXMpIGNvbnN0CiB2b2lkIE5vZGU6OnNl
dFRleHRDb250ZW50KGNvbnN0IFN0cmluZyYgdGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7ICAg
ICAgICAgICAKICAgICBzd2l0Y2ggKG5vZGVUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBURVhUX05P
REU6Ci0gICAgICAgIGNhc2UgQ0RBVEFfU0VDVElPTl9OT0RFOgotICAgICAgICBjYXNlIENPTU1F
TlRfTk9ERToKLSAgICAgICAgY2FzZSBQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREU6Ci0gICAg
ICAgICAgICBzZXROb2RlVmFsdWUodGV4dCwgZWMpOwotICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICBjYXNlIEVMRU1FTlRfTk9ERToKLSAgICAgICAgY2FzZSBBVFRSSUJVVEVfTk9ERToKLSAg
ICAgICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOiB7Ci0gICAgICAgICAgICBhdXRvIGNv
bnRhaW5lciA9IG1ha2VSZWYoZG93bmNhc3Q8Q29udGFpbmVyTm9kZT4oKnRoaXMpKTsKLSAgICAg
ICAgICAgIENoaWxkTGlzdE11dGF0aW9uU2NvcGUgbXV0YXRpb24oY29udGFpbmVyKTsKLSAgICAg
ICAgICAgIGNvbnRhaW5lci0+cmVtb3ZlQ2hpbGRyZW4oKTsKLSAgICAgICAgICAgIGlmICghdGV4
dC5pc0VtcHR5KCkpCi0gICAgICAgICAgICAgICAgY29udGFpbmVyLT5hcHBlbmRDaGlsZChkb2N1
bWVudCgpLmNyZWF0ZVRleHROb2RlKHRleHQpLCBlYyk7Ci0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIH0KLSAgICAgICAgY2FzZSBET0NVTUVOVF9OT0RFOgotICAgICAgICBjYXNlIERPQ1VN
RU5UX1RZUEVfTk9ERToKLSAgICAgICAgICAgIC8vIERvIG5vdGhpbmcuCi0gICAgICAgICAgICBy
ZXR1cm47CisgICAgY2FzZSBBVFRSSUJVVEVfTk9ERToKKyAgICBjYXNlIFRFWFRfTk9ERToKKyAg
ICBjYXNlIENEQVRBX1NFQ1RJT05fTk9ERToKKyAgICBjYXNlIENPTU1FTlRfTk9ERToKKyAgICBj
YXNlIFBST0NFU1NJTkdfSU5TVFJVQ1RJT05fTk9ERToKKyAgICAgICAgc2V0Tm9kZVZhbHVlKHRl
eHQsIGVjKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgRUxFTUVOVF9OT0RFOgorICAgIGNh
c2UgRE9DVU1FTlRfRlJBR01FTlRfTk9ERTogeworICAgICAgICBhdXRvIGNvbnRhaW5lciA9IG1h
a2VSZWYoZG93bmNhc3Q8Q29udGFpbmVyTm9kZT4oKnRoaXMpKTsKKyAgICAgICAgQ2hpbGRMaXN0
TXV0YXRpb25TY29wZSBtdXRhdGlvbihjb250YWluZXIpOworICAgICAgICBjb250YWluZXItPnJl
bW92ZUNoaWxkcmVuKCk7CisgICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkpCisgICAgICAgICAg
ICBjb250YWluZXItPmFwcGVuZENoaWxkKGRvY3VtZW50KCkuY3JlYXRlVGV4dE5vZGUodGV4dCks
IGVjKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBjYXNlIERPQ1VNRU5UX05PREU6Cisg
ICAgY2FzZSBET0NVTUVOVF9UWVBFX05PREU6CisgICAgICAgIC8vIERvIG5vdGhpbmcuCisgICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NDBhN2U0ZDdmZjU4ZTlkYzZlNGY4NGRjNjE0NmE4MmFmNmY3NmVmMS4uYWZkNmY1MmM3YTUwZDZk
ODQ3ZGVlNDhlMzZlZTdjMWUyMTQxMTdjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE2LTEw
LTI1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVwZGF0aW5n
IGF0dHJpYnV0ZSBieSB0ZXh0Q29udGVudCBtdXN0IGNyZWF0ZSBhIHNpbmdsZSBtdXRhdGlvbiBy
ZWNvcmQgYW5kIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwMDMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBhIHRlc3QgZm9yIGVuc3VyaW5nIG11dGF0
aW5nIHRoZSBhdHRyaWJ1dGUgYnkgbm9kZVZhbHVlIGFuZCB0ZXh0Q29udGVudCBjcmVhdGVzIGV4
YWN0bHkgb25lIG11dGF0aW9uIHJlY29yZC4KKworICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy1mb3Itd2Via2l0LWV4dGVuc2lvbnMuaHRtbDogVXBkYXRlZCB0aGUgZGVz
Y3JpcHRpb24uCisgICAgICAgICogZmFzdC9kb20vTXV0YXRpb25PYnNlcnZlci90ZXh0LWNvbnRl
bnQtb24tYXR0ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL011dGF0
aW9uT2JzZXJ2ZXIvdGV4dC1jb250ZW50LW9uLWF0dHIuaHRtbDogQWRkZWQuCisKIDIwMTYtMTAt
MjUgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW01l
ZGlhU3RyZWFtXSBBZGQgImhhcyBjYXB0dXJlIGRldmljZSIgYml0IHRvIG1lZGlhIHN0YXRlIGZs
YWdzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA5MTYzMTVkODIxZTk0ZWE2Y2Ri
YmYwNjJiMTJmODBkNWFjMjRlZmQ4Li5mM2Q3Mzc0M2JjMzFkMDJjNzAyNGIwYjhmYmZmMGU2MjUy
NWVhZjQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxNi0xMC0yNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBV
cGRhdGluZyBhdHRyaWJ1dGUgYnkgdGV4dENvbnRlbnQgbXVzdCBjcmVhdGUgYSBzaW5nbGUgbXV0
YXRpb24gcmVjb3JkIGFuZCBjdXN0b20gZWxlbWVudCByZWFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0MDAzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZWQgdGhlIHRlc3Qgbm93
IHRoYXQgYWxsIHRlc3QgY2FzZXMgYXJlIHBhc3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9Ob2RlLWV4cGVjdGVkLnR4dDoKKwog
MjAxNi0xMC0yNSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
SW5kZXhlZERCIDIuMDogU3VwcG9ydCBuZXcgSURCVHJhbnNhY3Rpb24gaW50ZXJmYWNlcy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy1mb3It
d2Via2l0LWV4dGVuc2lvbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRz
L3JlYWN0aW9ucy1mb3Itd2Via2l0LWV4dGVuc2lvbnMuaHRtbAppbmRleCBiYzQ4YmZjZGIzOWE5
YzdmMmU3NWZiZmViNzZkODEwYjgwMDg0YmJkLi5hYzY1NzU3ZDMwNDU4YjEzM2M3YWU3YzlhNzNk
ODg3NGI4NGUwODkyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMtZm9yLXdlYmtpdC1leHRlbnNpb25zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zLWZvci13ZWJraXQtZXh0ZW5zaW9ucy5odG1s
CkBAIC0xLDkgKzEsOSBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPHRpdGxl
PkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gQXR0ciBpbnRlcmZhY2U8L3RpdGxlPgor
PHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTEVsZW1lbnQgaW50ZXJm
YWNlPC90aXRsZT4KIDxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJl
Zj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciPgotPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50
PSJ2YWx1ZSBvZiBBdHRyIGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJ3ZWJraXRkcm9wem9uZSBvZiBIVE1MRWxlbWVudCBpbnRl
cmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KIDxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9
Imh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jbm9kZSI+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vTXV0YXRpb25PYnNlcnZlci90ZXh0LWNvbnRlbnQtb24tYXR0ci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NdXRhdGlvbk9ic2VydmVyL3RleHQt
Y29udGVudC1vbi1hdHRyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjljMGI0ZDFmNTEzNDQw
ODM5NWVlMzExYmI3NDRkYTQyZWI3ZDE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vTXV0YXRpb25PYnNlcnZlci90ZXh0LWNvbnRlbnQtb24tYXR0ci1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxNiBAQAorVGhpcyB0ZXN0cyBtdXRhdGluZyB0aGUgYXR0cmlidXRlIHZh
bHVlIGJ5IHRoZSBzZXR0ZXJzIG9mIHRleHRDb250ZW50IGFuZCBub2RlVmFsdWUuIFdlYktpdCBz
aG91bGQgaW5zZXJ0IGV4YWN0bHkgb25lIHJlY29yZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworZWxlbWVudC5hdHRyaWJ1dGVzLnRpdGxlLnRleHRDb250ZW50ID0gIm5ldyI7IHJl
Y29yZHMgPSBvYnNlcnZlci50YWtlUmVjb3JkcygpCitQQVNTIHJlY29yZHNbMF0uYXR0cmlidXRl
TmFtZSBpcyAidGl0bGUiCitQQVNTIHJlY29yZHMubGVuZ3RoIGlzIDEKKworZWxlbWVudC5hdHRy
aWJ1dGVzLnRpdGxlLm5vZGVWYWx1ZSA9ICJ3b3JsZCI7IHJlY29yZHMgPSBvYnNlcnZlci50YWtl
UmVjb3JkcygpCitQQVNTIHJlY29yZHNbMF0uYXR0cmlidXRlTmFtZSBpcyAidGl0bGUiCitQQVNT
IHJlY29yZHMubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9NdXRhdGlv
bk9ic2VydmVyL3RleHQtY29udGVudC1vbi1hdHRyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9NdXRhdGlvbk9ic2VydmVyL3RleHQtY29udGVudC1vbi1hdHRyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTFmMDljZGQyZjU2ZDU2YWM0NWFiYzVhNjJiNzlhMDY2Nzg2Y2M4MwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL011dGF0aW9uT2JzZXJ2ZXIvdGV4dC1jb250ZW50LW9u
LWF0dHIuaHRtbApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgbXV0YXRpbmcgdGhlIGF0dHJp
YnV0ZSB2YWx1ZSBieSB0aGUgc2V0dGVycyBvZiB0ZXh0Q29udGVudCBhbmQgbm9kZVZhbHVlLiBX
ZWJLaXQgc2hvdWxkIGluc2VydCBleGFjdGx5IG9uZSByZWNvcmQnKTsKKworbGV0IGVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2VsZW1lbnQuc2V0QXR0cmlidXRlKCd0
aXRsZScsICdoZWxsbycpOworCitsZXQgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihm
dW5jdGlvbiAocmVjb3JkcykgeyB9KTsKK29ic2VydmVyLm9ic2VydmUoZWxlbWVudCwge2F0dHJp
YnV0ZXM6IHRydWV9KTsKKwordmFyIHJlY29yZHM7CitldmFsQW5kTG9nKCdlbGVtZW50LmF0dHJp
YnV0ZXMudGl0bGUudGV4dENvbnRlbnQgPSAibmV3IjsgcmVjb3JkcyA9IG9ic2VydmVyLnRha2VS
ZWNvcmRzKCknKTsKK3Nob3VsZEJlKCdyZWNvcmRzWzBdLmF0dHJpYnV0ZU5hbWUnLCAnInRpdGxl
IicpOworc2hvdWxkQmUoJ3JlY29yZHMubGVuZ3RoJywgJzEnKTsKKworZGVidWcoJycpOworCitl
dmFsQW5kTG9nKCdlbGVtZW50LmF0dHJpYnV0ZXMudGl0bGUubm9kZVZhbHVlID0gIndvcmxkIjsg
cmVjb3JkcyA9IG9ic2VydmVyLnRha2VSZWNvcmRzKCknKTsKK3Nob3VsZEJlKCdyZWNvcmRzWzBd
LmF0dHJpYnV0ZU5hbWUnLCAnInRpdGxlIicpOworc2hvdWxkQmUoJ3JlY29yZHMubGVuZ3RoJywg
JzEnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvTm9kZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvTm9kZS1leHBlY3RlZC50eHQK
aW5kZXggZmNlNjNkMDhkZDYyOTk3YWQxMjBkYmM4YzQ5NjQ1NmRiNDQ3NmJhOC4uMTllY2NkODBh
MzlmMGM5NzEyZGRkYjZjYzZhMTYzNWQ3M2RhZjY4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L05vZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9Ob2RlLWV4cGVjdGVkLnR4dApA
QCAtMSw3ICsxLDcgQEAKIAogUEFTUyBub2RlVmFsdWUgb24gTm9kZSBtdXN0IGVucXVldWUgYW4g
YXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRy
aWJ1dGUgCiBQQVNTIG5vZGVWYWx1ZSBvbiBOb2RlIG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmli
dXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyB1bm9ic2VydmVk
IGF0dHJpYnV0ZSAKLUZBSUwgdGV4dENvbnRlbnQgb24gTm9kZSBtdXN0IGVucXVldWUgYW4gYXR0
cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1
dGUgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDIK
K1BBU1MgdGV4dENvbnRlbnQgb24gTm9kZSBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdl
ZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgCiBQQVNTIHRl
eHRDb250ZW50IG9uIE5vZGUgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJl
YWN0aW9uIHdoZW4gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIHVub2JzZXJ2ZWQgYXR0cmlidXRlIAog
UEFTUyBjbG9uZU5vZGUgb24gTm9kZSBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCBy
ZWFjdGlvbiB3aGVuIGNsb25pbmcgYW4gZWxlbWVudCB3aXRoIGFuIG9ic2VydmVkIGF0dHJpYnV0
ZSAKIFBBU1MgY2xvbmVOb2RlIG9uIE5vZGUgbXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVD
aGFuZ2VkIHJlYWN0aW9uIHdoZW4gY2xvbmluZyBhbiBlbGVtZW50IHdpdGggYW4gdW5vYnNlcnZl
ZCBhdHRyaWJ1dGUgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293210</attachid>
            <date>2016-10-28 14:18:12 -0700</date>
            <delta_ts>2016-10-28 14:18:49 -0700</delta_ts>
            <desc>Adds CEReactions</desc>
            <filename>bug-164003-20161028141421.patch</filename>
            <type>text/plain</type>
            <size>96990</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3ODI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTA5YjEwZDkxMDYxNTFl
NDJlOTViNDE2YzM5YWRkNDJhMWViNDEwNy4uMGQwNTZlMjZhZjdlNTEwNGY4YTgwNWY4MjlmZGNj
ODVhNDM4MjcwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDE2LTEwLTI4ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBDRVJlYWN0aW9ucyB0
byB0aGUgcmVtYWluaW5nIEhUTUwgRE9NIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mzk2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIENFUmVhY3Rpb25zIHRvIHRoZSByZW1haW5pbmcg
RE9NIGFuZCBIVE1MIEFQSXMgYXMgbmVlZGVkLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbnMtZm9yLWluZGlldWkuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0RvY3VtZW50Lmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MQW5jaG9yRWxlbWVudC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE9wdGlvbkVs
ZW1lbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0hUTUxPcHRpb25zQ29sbGVjdGlvbi5odG1sCisgICAgICAgICAgICAgICBmYXN0L2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTE91dHB1dEVsZW1lbnQuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTZWxlY3RFbGVtZW50Lmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVFbGVt
ZW50Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MVGFibGVSb3dFbGVtZW50Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5odG1sCisgICAgICAgICAgICAg
ICBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRpdGxlRWxlbWVudC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvU2hhZG93Um9vdC5o
dG1sCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxPcHRpb25zQ29sbGVjdGlvbjo6c2V0TGVu
Z3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjppbmRleFNl
dHRlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MU2VsZWN0RWxlbWVudEN1c3RvbS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpKU0hUTUxTZWxlY3RFbGVtZW50OjppbmRleFNldHRlcik6
CisgICAgICAgICogZG9tL0NoYXJhY3RlckRhdGEuaWRsOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5pZGw6CisgICAgICAgICogZG9tL0VsZW1lbnQuaWRsOgorICAgICAgICAqIGRvbS9TaGFkb3dS
b290LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbDoKKyAgICAgICAg
KiBodG1sL0hUTUxEb2N1bWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVu
dC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsOgorICAgICAg
ICAqIGh0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVj
dEVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxlRWxlbWVudC5pZGw6CisgICAg
ICAgICogaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxU
YWJsZVNlY3Rpb25FbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxUaXRsZUVsZW1lbnQu
aWRsOgorCisyMDE2LTEwLTI1ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisg
ICAgICAgIFVwZGF0aW5nIGF0dHJpYnV0ZSBieSB0ZXh0Q29udGVudCBtdXN0IGNyZWF0ZSBhIHNp
bmdsZSBtdXRhdGlvbiByZWNvcmQgYW5kIGN1c3RvbSBlbGVtZW50IHJlYWN0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQwMDMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgYnVnIHdhcyBjYXVz
ZWQgYnkgc2V0VGV4dENvbnRlbnQgbm90IGludm9raW5nIHNldE5vZGVWYWx1ZSBmb3IgQXR0ciBu
b2Rlcy4KKyAgICAgICAgVXNlIHNldE5vZGVWYWx1ZSB0byBtYXRjaCB0aGUgc3BlY2lmaWNhdGlv
bjogaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNkb20tbm9kZS10ZXh0Y29udGVudAorCisg
ICAgICAgIFRlc3Q6IGZhc3QvZG9tL011dGF0aW9uT2JzZXJ2ZXIvdGV4dC1jb250ZW50LW9uLWF0
dHIuaHRtbAorCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9k
ZTo6c2V0VGV4dENvbnRlbnQpOgorCiAyMDE2LTEwLTI0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgW1dlYklETF0gTW92ZSBtb3JlIHR5cGVzIG92ZXIgdG8gdGhlIG5l
dyBKU0NvbnZlcnRlciBiYXNlZCB0b0pTIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3Bw
CmluZGV4IGU0OWI4YTYwOWJlYzRmNjE0ZWEyM2RiMjQ4YWE5N2Q3NGE0MDA3NzMuLjA0MzliNGJh
YzA4OGYwMWVkNTU5ZDBhNTkxNzhhNWNkZWNjNDgzYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5j
cHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJKU0hU
TUxPcHRpb25zQ29sbGVjdGlvbi5oIgogCisjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlYWN0aW9u
UXVldWUuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKQEAgLTQ5LDYgKzUwLDEwIEBAIGJv
b2wgSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOCiAKIHZvaWQgSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb246OnNl
dExlbmd0aChFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlKQogeworI2lmIEVOQUJMRShD
VVNUT01fRUxFTUVOVFMpCisgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxl
bWVudFJlYWN0aW9uU3RhY2s7CisjZW5kaWYKKwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwog
ICAgIHVuc2lnbmVkIG5ld0xlbmd0aCA9IDA7CiAgICAgZG91YmxlIGxlbmd0aFZhbHVlID0gdmFs
dWUudG9OdW1iZXIoJnN0YXRlKTsKQEAgLTY3LDYgKzcyLDEwIEBAIHZvaWQgSlNIVE1MT3B0aW9u
c0NvbGxlY3Rpb246OnNldExlbmd0aChFeGVjU3RhdGUmIHN0YXRlLCBKU1ZhbHVlIHZhbHVlKQog
CiB2b2lkIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjppbmRleFNldHRlcihFeGVjU3RhdGUqIGV4
ZWMsIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlIHZhbHVlKQogeworI2lmIEVOQUJMRShDVVNUT01f
RUxFTUVOVFMpCisgICAgQ3VzdG9tRWxlbWVudFJlYWN0aW9uU3RhY2sgY3VzdG9tRWxlbWVudFJl
YWN0aW9uU3RhY2s7CisjZW5kaWYKKwogICAgIHNlbGVjdEluZGV4U2V0dGVyKCZ3cmFwcGVkKCku
c2VsZWN0RWxlbWVudCgpLCBleGVjLCBpbmRleCwgdmFsdWUpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxTZWxlY3RFbGVtZW50Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3Bw
CmluZGV4IDQwZGNjNDYyMzM1MjBkODE5NzBmZTFkNWRkNTlmMmM5ZGFmZjFlNzQuLjczNDhlZWI4
ZGQ1NWE5NDRlOGZkZjJjNWI0ODFlZjU4YzJmOTIyMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTFNlbGVjdEVsZW1lbnRDdXN0b20uY3BwCkBAIC0y
MSw2ICsyMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSlNIVE1MU2VsZWN0
RWxlbWVudEN1c3RvbS5oIgogCisjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUu
aCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSAiSFRNTE9wdGlvbkVsZW1lbnQuaCIKQEAgLTQ5LDYgKzUwLDkgQEAgdm9pZCBzZWxl
Y3RJbmRleFNldHRlcihIVE1MU2VsZWN0RWxlbWVudCogc2VsZWN0LCBKU0M6OkV4ZWNTdGF0ZSog
ZXhlYywgdW5zaWduZWQKIAogdm9pZCBKU0hUTUxTZWxlY3RFbGVtZW50OjppbmRleFNldHRlcihK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5kZXgsIEpTQzo6SlNWYWx1ZSB2YWx1ZSkK
IHsKKyNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQorICAgIEN1c3RvbUVsZW1lbnRSZWFjdGlv
blN0YWNrIGN1c3RvbUVsZW1lbnRSZWFjdGlvblN0YWNrOworI2VuZGlmCiAgICAgc2VsZWN0SW5k
ZXhTZXR0ZXIoJndyYXBwZWQoKSwgZXhlYywgaW5kZXgsIHZhbHVlKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuaWRsIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0NoYXJhY3RlckRhdGEuaWRsCmluZGV4IDBiMTM5OTBkMGVmNWY0Mzc1YTU1ZTBjNzg4ZjVk
ZGQ4ZjY5N2FiYWEuLjQ4MTQyYTA1N2QxYzdiNzMxZjBmYTQzMzM3MGRmNGVhOGI1ZTRlOTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5pZGwKQEAgLTE4LDE1ICsxOCwxNSBAQAogICov
CiAKIGludGVyZmFjZSBDaGFyYWN0ZXJEYXRhIDogTm9kZSB7Ci0gICAgW1RyZWF0TnVsbEFzPUVt
cHR5U3RyaW5nXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRhdGE7CisgICAgW0NFUmVhY3Rpb25zLCBU
cmVhdE51bGxBcz1FbXB0eVN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyBkYXRhOwogICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKIAogICAgIFtNYXlUaHJvd0xl
Z2FjeUV4Y2VwdGlvbl0gRE9NU3RyaW5nPyBzdWJzdHJpbmdEYXRhKHVuc2lnbmVkIGxvbmcgb2Zm
c2V0LCB1bnNpZ25lZCBsb25nIGxlbmd0aCk7CiAKLSAgICB2b2lkIGFwcGVuZERhdGEoRE9NU3Ry
aW5nIGRhdGEpOwotICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gdm9pZCBpbnNlcnREYXRh
KHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCBET01TdHJpbmcgZGF0YSk7Ci0gICAgW01heVRocm93TGVn
YWN5RXhjZXB0aW9uXSB2b2lkIGRlbGV0ZURhdGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoKTsKLSAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgcmVw
bGFjZURhdGEodW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgbGVuZ3RoLCBET01T
dHJpbmcgZGF0YSk7CisgICAgW0NFUmVhY3Rpb25zXSB2b2lkIGFwcGVuZERhdGEoRE9NU3RyaW5n
IGRhdGEpOworICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQg
aW5zZXJ0RGF0YSh1bnNpZ25lZCBsb25nIG9mZnNldCwgRE9NU3RyaW5nIGRhdGEpOworICAgIFtD
RVJlYWN0aW9ucywgTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgZGVsZXRlRGF0YSh1bnNp
Z25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBsZW5ndGgpOworICAgIFtDRVJlYWN0aW9u
cywgTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgcmVwbGFjZURhdGEodW5zaWduZWQgbG9u
ZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgbGVuZ3RoLCBET01TdHJpbmcgZGF0YSk7CiB9OwogCiBD
aGFyYWN0ZXJEYXRhIGltcGxlbWVudHMgQ2hpbGROb2RlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwK
aW5kZXggYzVmMjIzOWNmYWE3MDBkOTk4NzljNjQwOWVjNzhhMmNiMTFhNGUzNi4uZTY2ZWU1NDBj
MmYxNjYwODM5YmU2MWZlZjVkMzkxYjI0N2M5MmRlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRs
CkBAIC05MSw3ICs5MSw3IEBACiAgICAgYm9vbGVhbiBxdWVyeUNvbW1hbmRTdXBwb3J0ZWQoRE9N
U3RyaW5nIGNvbW1hbmQpOwogICAgIERPTVN0cmluZyBxdWVyeUNvbW1hbmRWYWx1ZShET01TdHJp
bmcgY29tbWFuZCk7CiAKLSAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRpdGxlOworICAgIFtDRVJl
YWN0aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyB0aXRsZTsKICAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGRpcjsKICAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGRlc2lnbk1vZGU7CiAKQEAgLTEwMSw3
ICsxMDEsNyBAQAogCiAgICAgW0dldHRlck1heVRocm93TGVnYWN5RXhjZXB0aW9uLCBTZXR0ZXJN
YXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gYXR0cmlidXRlIFVTVlN0cmluZyBjb29raWU7CiAKLSAg
ICBbU2V0dGVyTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIEltcGxlbWVudGVkQXM9Ym9keU9yRnJh
bWVzZXRdIGF0dHJpYnV0ZSBIVE1MRWxlbWVudD8gYm9keTsKKyAgICBbQ0VSZWFjdGlvbnMsIElt
cGxlbWVudGVkQXM9Ym9keU9yRnJhbWVzZXQsIFNldHRlck1heVRocm93TGVnYWN5RXhjZXB0aW9u
XSBhdHRyaWJ1dGUgSFRNTEVsZW1lbnQ/IGJvZHk7CiAKICAgICByZWFkb25seSBhdHRyaWJ1dGUg
SFRNTEhlYWRFbGVtZW50PyBoZWFkOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVj
dGlvbiBpbWFnZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5pZGwKaW5kZXggZDY2ZjhjYzMzMjg4NTA5NWU2
OWVkYTY1NTRhZmQ3Njk2NzE5NWI1OS4uNzI5MjE2YTZlOWYxMmE1NjE0YjJkOGQwMmQwZDJjN2M5
ZDAyZTBlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmlkbApAQCAtMTIxLDcgKzEyMSw3IEBACiAjZW5k
aWYKIAogI2lmIGRlZmluZWQoRU5BQkxFX0lORElFX1VJKSAmJiBFTkFCTEVfSU5ESUVfVUkKLSAg
ICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB1aWFjdGlvbnM7CisgICAgW0NFUmVhY3Rp
b25zLCBSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHVpYWN0aW9uczsKICNlbmRpZgogCiAg
ICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gRWxlbWVudCBpbnNlcnRB
ZGphY2VudEVsZW1lbnQoRE9NU3RyaW5nIHdoZXJlLCBFbGVtZW50IGVsZW1lbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCmluZGV4IGMzOWQ5NDA1NmQ1N2Y4YmQ2MjFmNzE4OTQxZTA0YTZlMDIzZDBiYmQuLmM4
NzY0YjgxODFmZDRiYjQyOGY3ZjNhMDc5YWE5NmIwNzNlZDEzMjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAK
QEAgLTE0NzQsMjYgKzE0NzQsMjYgQEAgU3RyaW5nIE5vZGU6OnRleHRDb250ZW50KGJvb2wgY29u
dmVydEJSc1RvTmV3bGluZXMpIGNvbnN0CiB2b2lkIE5vZGU6OnNldFRleHRDb250ZW50KGNvbnN0
IFN0cmluZyYgdGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7ICAgICAgICAgICAKICAgICBzd2l0
Y2ggKG5vZGVUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBURVhUX05PREU6Ci0gICAgICAgIGNhc2Ug
Q0RBVEFfU0VDVElPTl9OT0RFOgotICAgICAgICBjYXNlIENPTU1FTlRfTk9ERToKLSAgICAgICAg
Y2FzZSBQUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREU6Ci0gICAgICAgICAgICBzZXROb2RlVmFs
dWUodGV4dCwgZWMpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBjYXNlIEVMRU1FTlRf
Tk9ERToKLSAgICAgICAgY2FzZSBBVFRSSUJVVEVfTk9ERToKLSAgICAgICAgY2FzZSBET0NVTUVO
VF9GUkFHTUVOVF9OT0RFOiB7Ci0gICAgICAgICAgICBhdXRvIGNvbnRhaW5lciA9IG1ha2VSZWYo
ZG93bmNhc3Q8Q29udGFpbmVyTm9kZT4oKnRoaXMpKTsKLSAgICAgICAgICAgIENoaWxkTGlzdE11
dGF0aW9uU2NvcGUgbXV0YXRpb24oY29udGFpbmVyKTsKLSAgICAgICAgICAgIGNvbnRhaW5lci0+
cmVtb3ZlQ2hpbGRyZW4oKTsKLSAgICAgICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkpCi0gICAg
ICAgICAgICAgICAgY29udGFpbmVyLT5hcHBlbmRDaGlsZChkb2N1bWVudCgpLmNyZWF0ZVRleHRO
b2RlKHRleHQpLCBlYyk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAg
Y2FzZSBET0NVTUVOVF9OT0RFOgotICAgICAgICBjYXNlIERPQ1VNRU5UX1RZUEVfTk9ERToKLSAg
ICAgICAgICAgIC8vIERvIG5vdGhpbmcuCi0gICAgICAgICAgICByZXR1cm47CisgICAgY2FzZSBB
VFRSSUJVVEVfTk9ERToKKyAgICBjYXNlIFRFWFRfTk9ERToKKyAgICBjYXNlIENEQVRBX1NFQ1RJ
T05fTk9ERToKKyAgICBjYXNlIENPTU1FTlRfTk9ERToKKyAgICBjYXNlIFBST0NFU1NJTkdfSU5T
VFJVQ1RJT05fTk9ERToKKyAgICAgICAgc2V0Tm9kZVZhbHVlKHRleHQsIGVjKTsKKyAgICAgICAg
cmV0dXJuOworICAgIGNhc2UgRUxFTUVOVF9OT0RFOgorICAgIGNhc2UgRE9DVU1FTlRfRlJBR01F
TlRfTk9ERTogeworICAgICAgICBhdXRvIGNvbnRhaW5lciA9IG1ha2VSZWYoZG93bmNhc3Q8Q29u
dGFpbmVyTm9kZT4oKnRoaXMpKTsKKyAgICAgICAgQ2hpbGRMaXN0TXV0YXRpb25TY29wZSBtdXRh
dGlvbihjb250YWluZXIpOworICAgICAgICBjb250YWluZXItPnJlbW92ZUNoaWxkcmVuKCk7Cisg
ICAgICAgIGlmICghdGV4dC5pc0VtcHR5KCkpCisgICAgICAgICAgICBjb250YWluZXItPmFwcGVu
ZENoaWxkKGRvY3VtZW50KCkuY3JlYXRlVGV4dE5vZGUodGV4dCksIGVjKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBjYXNlIERPQ1VNRU5UX05PREU6CisgICAgY2FzZSBET0NVTUVOVF9U
WVBFX05PREU6CisgICAgICAgIC8vIERvIG5vdGhpbmcuCisgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU2hhZG93Um9vdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5pZGwK
aW5kZXggODNlZmE0NGVlMDVkZWIzZDdhZDQxNjM0NWZjYTcyMzY4ZDY4NWRlZS4uYmQ5ZGM3ZDRj
MGNjNzY4ZWE3MjRjYmU5ZGRlNmM2NTI3NWE0Mzc4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290
LmlkbApAQCAtMzAsNyArMzAsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTaGFkb3dSb290
TW9kZSAgIG1vZGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEVsZW1lbnQgICAgICAgICAgaG9z
dDsKIAotICAgIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZywgU2V0dGVyTWF5VGhyb3dMZWdhY3lF
eGNlcHRpb25dIGF0dHJpYnV0ZSBET01TdHJpbmcgaW5uZXJIVE1MOworICAgIFtDRVJlYWN0aW9u
cywgU2V0dGVyTWF5VGhyb3dMZWdhY3lFeGNlcHRpb24sIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5n
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGlubmVySFRNTDsKIH07CiAKIC8vICJ1c2VyLWFnZW50IiBp
cyBhIFdlYktpdCBleHRlbnNpb24gdGhhdCBpcyBub3QgZXhwb3NlZCB0byB0aGUgV2ViLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAppbmRleCBmN2NlZGUxMGJiYzFl
NWRiYmI5OGI0NWQwYzZjNzJkMDJjZTkwZmI3Li43NDg2ZDAzMmM2MjI1NmYyYmI5ZjY2NWFlMTFh
NDBkMGY0MGU2MjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JF
bGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50Lmlk
bApAQCAtMzEsNyArMzEsNyBAQCBpbnRlcmZhY2UgSFRNTEFuY2hvckVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0OwogICAgIFtS
ZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHR5cGU7CiAKLSAgICBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHRleHQ7CisgICAgW0NFUmVhY3Rpb25zXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHRleHQ7CiAK
ICAgICBbUHV0Rm9yd2FyZHM9dmFsdWVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3Qg
cmVsTGlzdDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVu
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5pZGwKaW5kZXggNjczZWRk
ZWM5ZjhiODE3NzdiNmNjMjliYzU1N2U1NThmNjMwZDM2OC4uMjFhYTIzNDBkNTY3MmM3YmY2Nzc3
YWUwNjJmZWY0YzJmZWMyOTMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
RG9jdW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmlkbApA
QCAtMjUsMTAgKzI1LDEwIEBACiAgICAgTmV3SW1wdXJlUHJvcGVydHlGaXJlc1dhdGNocG9pbnRz
LAogICAgIE92ZXJyaWRlQnVpbHRpbnMsCiBdIGludGVyZmFjZSBIVE1MRG9jdW1lbnQgOiBEb2N1
bWVudCB7Ci0gICAgW0N1c3RvbSwgRm9yd2FyZERlY2xhcmVJbkhlYWRlcl0gdm9pZCBvcGVuKCk7
CisgICAgW0NFUmVhY3Rpb25zLCBDdXN0b20sIEZvcndhcmREZWNsYXJlSW5IZWFkZXJdIHZvaWQg
b3BlbigpOwogICAgIHZvaWQgY2xvc2UoKTsKLSAgICBbQ3VzdG9tXSB2b2lkIHdyaXRlKG9wdGlv
bmFsIERPTVN0cmluZyB0ZXh0KTsKLSAgICBbQ3VzdG9tXSB2b2lkIHdyaXRlbG4ob3B0aW9uYWwg
RE9NU3RyaW5nIHRleHQpOworICAgIFtDRVJlYWN0aW9ucywgQ3VzdG9tXSB2b2lkIHdyaXRlKG9w
dGlvbmFsIERPTVN0cmluZyB0ZXh0KTsKKyAgICBbQ0VSZWFjdGlvbnMsIEN1c3RvbV0gdm9pZCB3
cml0ZWxuKG9wdGlvbmFsIERPTVN0cmluZyB0ZXh0KTsKIAogICAgIFtDdXN0b20sIFJlcGxhY2Vh
YmxlXSByZWFkb25seSBhdHRyaWJ1dGUgSFRNTEFsbENvbGxlY3Rpb24gYWxsOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRsCmluZGV4IDc3YmU2ZjY5ZDcyNWVhMDBk
YTc0NDg5M2QxZWUxMTkzMDY4OWIxZjEuLjU4ZGQxOTc1MGIyNjY3OGQzZjBjMTYxZjU3MGRlM2Vl
ODE1Y2E0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRsCkBA
IC0zMCw2ICszMCw2IEBACiAgICAgYXR0cmlidXRlIGJvb2xlYW4gc2VsZWN0ZWQ7CiAgICAgYXR0
cmlidXRlIERPTVN0cmluZyB2YWx1ZTsKIAotICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgdGV4dDsK
KyAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGV4dDsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgbG9uZyBpbmRleDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxP
cHRpb25zQ29sbGVjdGlvbi5pZGwKaW5kZXggNmY4NTI2MTIxZjFkYjgyZDc1MDRhNzk0NWY0ODEy
OTZiMjE2NTJlYy4uOTJjN2JmNjc3NmVjYzdjYjQxZDZjZWY1MDcyZTBhNjNhMGY5ZDkxMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmlkbApAQCAtMjUs
MTQgKzI1LDE0IEBACiAgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAogXSBpbnRlcmZhY2Ug
SFRNTE9wdGlvbnNDb2xsZWN0aW9uIDogSFRNTENvbGxlY3Rpb24gewogICAgIGF0dHJpYnV0ZSBs
b25nIHNlbGVjdGVkSW5kZXg7Ci0gICAgW0N1c3RvbVNldHRlciwgU2V0dGVyTWF5VGhyb3dMZWdh
Y3lFeGNlcHRpb25dIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKKyAgICBbQ0VSZWFj
dGlvbnMsIEN1c3RvbVNldHRlciwgU2V0dGVyTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKIAogICAgIGdldHRlciBIVE1MT3B0aW9uRWxlbWVu
dD8gaXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKICAgICBnZXR0ZXIgSFRNTE9wdGlvbkVsZW1l
bnQ/IG5hbWVkSXRlbShET01TdHJpbmcgbmFtZSk7CiAKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHZvaWQgYWRkKChIVE1MT3B0aW9uRWxlbWVudCBvciBIVE1MT3B0R3JvdXBFbGVtZW50KSBlbGVt
ZW50LCBvcHRpb25hbCAoSFRNTEVsZW1lbnQgb3IgbG9uZyk/IGJlZm9yZSA9IG51bGwpOworICAg
IFtDRVJlYWN0aW9ucywgTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgYWRkKChIVE1MT3B0aW9uRWxl
bWVudCBvciBIVE1MT3B0R3JvdXBFbGVtZW50KSBlbGVtZW50LCBvcHRpb25hbCAoSFRNTEVsZW1l
bnQgb3IgbG9uZyk/IGJlZm9yZSA9IG51bGwpOwogCi0gICAgdm9pZCByZW1vdmUobG9uZyBpbmRl
eCk7CisgICAgW0NFUmVhY3Rpb25zXSB2b2lkIHJlbW92ZShsb25nIGluZGV4KTsKICAgICAvLyBG
SVhNRTogVGhpcyBvdmVybG9hZCBpcyBub3QgaW4gdGhlIHNwZWNpZmljYXRpb24gYW5kIGhhcyBi
ZWVuIGRyb3BwZWQgaW4gQmxpbmsuCi0gICAgdm9pZCByZW1vdmUoSFRNTE9wdGlvbkVsZW1lbnQg
b3B0aW9uKTsKKyAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgcmVtb3ZlKEhUTUxPcHRpb25FbGVtZW50
IG9wdGlvbik7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3V0cHV0
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbApp
bmRleCA1N2YxYjZhYzQxNDAyOWVkZmViYjEwODgwYWEyYjc2YWJhNjUxOWZiLi5kNTI3Njg0NDg4
ZDMwMzcwMzE0YWE3ODllMGMzZDYwNjY0ZjRlOWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxPdXRwdXRFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxPdXRwdXRFbGVtZW50LmlkbApAQCAtMjksOCArMjksOCBAQCBpbnRlcmZhY2UgSFRNTE91dHB1
dEVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJp
bmcgbmFtZTsKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgdHlwZTsKLSAgICBb
VHJlYXROdWxsQXM9RW1wdHlTdHJpbmddIGF0dHJpYnV0ZSBET01TdHJpbmcgZGVmYXVsdFZhbHVl
OwotICAgIFtUcmVhdE51bGxBcz1FbXB0eVN0cmluZ10gYXR0cmlidXRlIERPTVN0cmluZyB2YWx1
ZTsKKyAgICBbQ0VSZWFjdGlvbnMsIFRyZWF0TnVsbEFzPUVtcHR5U3RyaW5nXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIGRlZmF1bHRWYWx1ZTsKKyAgICBbQ0VSZWFjdGlvbnMsIFRyZWF0TnVsbEFzPUVt
cHR5U3RyaW5nXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHZhbHVlOwogCiAgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGJvb2xlYW4gd2lsbFZhbGlkYXRlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWYWxp
ZGl0eVN0YXRlIHZhbGlkaXR5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmlkbAppbmRleCAwN2E4YzNkMDI5ZTBmOWExYTViODFlMjIxNDZjMDRiNjZjNzAwYTNjLi40NjVl
NWQzZTYyMTE2ZWQ2ZjVmYTBkODQyMTRhODFlZmZjNzE4ZGNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbApAQCAtMzUsMTcgKzM1LDE3IEBACiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyB0eXBlOwogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhU
TUxPcHRpb25zQ29sbGVjdGlvbiBvcHRpb25zOwotICAgIFtTZXR0ZXJNYXlUaHJvd0xlZ2FjeUV4
Y2VwdGlvbl0gYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAgIFtDRVJlYWN0aW9u
cywgU2V0dGVyTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IGxlbmd0aDsKIAogICAgIGdldHRlciBIVE1MT3B0aW9uRWxlbWVudD8gaXRlbSh1bnNpZ25lZCBs
b25nIGluZGV4KTsKICAgICBIVE1MT3B0aW9uRWxlbWVudD8gbmFtZWRJdGVtKERPTVN0cmluZyBu
YW1lKTsKIAotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBhZGQoKEhUTUxPcHRpb25FbGVt
ZW50IG9yIEhUTUxPcHRHcm91cEVsZW1lbnQpIGVsZW1lbnQsIG9wdGlvbmFsIChIVE1MRWxlbWVu
dCBvciBsb25nKT8gYmVmb3JlID0gbnVsbCk7CisgICAgW0NFUmVhY3Rpb25zLCBNYXlUaHJvd0V4
Y2VwdGlvbl0gdm9pZCBhZGQoKEhUTUxPcHRpb25FbGVtZW50IG9yIEhUTUxPcHRHcm91cEVsZW1l
bnQpIGVsZW1lbnQsIG9wdGlvbmFsIChIVE1MRWxlbWVudCBvciBsb25nKT8gYmVmb3JlID0gbnVs
bCk7CiAKICAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgcmVtb3ZlKCk7IC8vIENo
aWxkTm9kZSBvdmVybG9hZAogICAgIC8vIEZJWE1FOiBUaGlzIG92ZXJsb2FkIGlzIG5vdCBpbiB0
aGUgc3BlY2lmaWNhdGlvbiBhbmQgd2FzIGRyb3BwZWQgaW4gQmxpbmsuCi0gICAgdm9pZCByZW1v
dmUoSFRNTE9wdGlvbkVsZW1lbnQgb3B0aW9uKTsKLSAgICBbSW1wbGVtZW50ZWRBcz1yZW1vdmVC
eUluZGV4XSB2b2lkIHJlbW92ZShsb25nIGluZGV4KTsKKyAgICBbQ0VSZWFjdGlvbnNdIHZvaWQg
cmVtb3ZlKEhUTUxPcHRpb25FbGVtZW50IG9wdGlvbik7CisgICAgW0NFUmVhY3Rpb25zLCBJbXBs
ZW1lbnRlZEFzPXJlbW92ZUJ5SW5kZXhdIHZvaWQgcmVtb3ZlKGxvbmcgaW5kZXgpOwogCiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIHNlbGVjdGVkT3B0aW9uczsKICAgICBh
dHRyaWJ1dGUgbG9uZyBzZWxlY3RlZEluZGV4OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGFibGVFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxl
RWxlbWVudC5pZGwKaW5kZXggZWI1M2IyOGY3YWJjZTY5Y2ZiZTQ0MzdhOWViYjU0MjgyNDEzOTRl
Zi4uNmY4MDgxNjM3YTRmNzQ1ZmYwZjRmMTIyNTAwZTZkNThmMTE5Y2MzZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuaWRsCkBAIC0xOSw5ICsxOSw5IEBACiAgKi8KIAog
aW50ZXJmYWNlIEhUTUxUYWJsZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7Ci0gICAgW1NldHRlck1h
eVRocm93TGVnYWN5RXhjZXB0aW9uXSBhdHRyaWJ1dGUgSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQ/
IGNhcHRpb247Ci0gICAgW1NldHRlck1heVRocm93TGVnYWN5RXhjZXB0aW9uXSBhdHRyaWJ1dGUg
SFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ/IHRIZWFkOwotICAgIFtTZXR0ZXJNYXlUaHJvd0xlZ2Fj
eUV4Y2VwdGlvbl0gYXR0cmlidXRlIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50PyB0Rm9vdDsKKyAg
ICBbQ0VSZWFjdGlvbnMsIFNldHRlck1heVRocm93TGVnYWN5RXhjZXB0aW9uXSBhdHRyaWJ1dGUg
SFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQ/IGNhcHRpb247CisgICAgW0NFUmVhY3Rpb25zLCBTZXR0
ZXJNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gYXR0cmlidXRlIEhUTUxUYWJsZVNlY3Rpb25FbGVt
ZW50PyB0SGVhZDsKKyAgICBbQ0VSZWFjdGlvbnMsIFNldHRlck1heVRocm93TGVnYWN5RXhjZXB0
aW9uXSBhdHRyaWJ1dGUgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQ/IHRGb290OwogCiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIHJvd3M7CiAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIEhUTUxDb2xsZWN0aW9uIHRCb2RpZXM7CkBAIC0zOCwxNCArMzgsMTQgQEAgaW50ZXJmYWNl
IEhUTUxUYWJsZUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0
ZSBET01TdHJpbmcgd2lkdGg7CiAKICAgICBIVE1MRWxlbWVudCBjcmVhdGVUSGVhZCgpOwotICAg
IHZvaWQgZGVsZXRlVEhlYWQoKTsKKyAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgZGVsZXRlVEhlYWQo
KTsKICAgICBIVE1MRWxlbWVudCBjcmVhdGVURm9vdCgpOwotICAgIHZvaWQgZGVsZXRlVEZvb3Qo
KTsKKyAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgZGVsZXRlVEZvb3QoKTsKICAgICBIVE1MRWxlbWVu
dCBjcmVhdGVUQm9keSgpOwogICAgIEhUTUxFbGVtZW50IGNyZWF0ZUNhcHRpb24oKTsKLSAgICB2
b2lkIGRlbGV0ZUNhcHRpb24oKTsKKyAgICBbQ0VSZWFjdGlvbnNdIHZvaWQgZGVsZXRlQ2FwdGlv
bigpOwogCiAgICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9uXSBIVE1MRWxlbWVudCBpbnNlcnRS
b3cob3B0aW9uYWwgbG9uZyBpbmRleCA9IC0xKTsKLSAgICBbTWF5VGhyb3dMZWdhY3lFeGNlcHRp
b25dIHZvaWQgZGVsZXRlUm93KGxvbmcgaW5kZXgpOworICAgIFtDRVJlYWN0aW9ucywgTWF5VGhy
b3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgZGVsZXRlUm93KGxvbmcgaW5kZXgpOwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5pZGwKaW5kZXggN2NjNWIzYTkx
YmRlZDA2N2JkMTlmYjM5MjJmMzBlZDcwNzNhY2YyMC4uYjBkNDVhZDg3YjI4OTYyNjFiMjUzNmI3
OWMyOGQ0ZWJkNmFlZmQyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFi
bGVSb3dFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0Vs
ZW1lbnQuaWRsCkBAIC0yOCw2ICsyOCw2IEBAIGludGVyZmFjZSBIVE1MVGFibGVSb3dFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICAgIFtSZWZsZWN0PWNoYXJvZmZdIGF0dHJpYnV0ZSBET01TdHJp
bmcgY2hPZmY7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdkFsaWduOwogICAg
IFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gSFRNTEVsZW1lbnQgaW5zZXJ0Q2VsbChvcHRpb25h
bCBsb25nIGluZGV4ID0gLTEpOwotICAgIFtNYXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gdm9pZCBk
ZWxldGVDZWxsKGxvbmcgaW5kZXgpOworICAgIFtDRVJlYWN0aW9ucywgTWF5VGhyb3dMZWdhY3lF
eGNlcHRpb25dIHZvaWQgZGVsZXRlQ2VsbChsb25nIGluZGV4KTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5pZGwKaW5kZXggNzkzN2M3ZGI0
NGZhNzM3NzYyZDAxNGJkMjVjOTdmNjBjOGJjZWJlYy4uNTRjNWRjMjU4NzQ5ODUwZjZiMTcyNTZm
ZmQ0YzA5OGY0Njc4MzdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFi
bGVTZWN0aW9uRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVT
ZWN0aW9uRWxlbWVudC5pZGwKQEAgLTI3LDYgKzI3LDYgQEAKICAgICBbUmVmbGVjdF0gYXR0cmli
dXRlIERPTVN0cmluZyB2QWxpZ247CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0
aW9uIHJvd3M7CiAgICAgW01heVRocm93TGVnYWN5RXhjZXB0aW9uXSBIVE1MRWxlbWVudCBpbnNl
cnRSb3cob3B0aW9uYWwgbG9uZyBpbmRleCA9IC0xKTsKLSAgICBbTWF5VGhyb3dMZWdhY3lFeGNl
cHRpb25dIHZvaWQgZGVsZXRlUm93KGxvbmcgaW5kZXgpOworICAgIFtDRVJlYWN0aW9ucywgTWF5
VGhyb3dMZWdhY3lFeGNlcHRpb25dIHZvaWQgZGVsZXRlUm93KGxvbmcgaW5kZXgpOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5pZGwKaW5kZXggNDA2OTc2ZGRmNTEx
MmI5MjAyMzFjOTUyMGQ4NzZkZDIyMjQ5NGExYi4uN2FmNmMxOGMxYjhjOTQyYjQ2OTE2OGI5MDcz
MWIyYTUxMWNlNjc0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVF
bGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1lbnQuaWRs
CkBAIC0xOCw2ICsxOCw2IEBACiAgKi8KIAogaW50ZXJmYWNlIEhUTUxUaXRsZUVsZW1lbnQgOiBI
VE1MRWxlbWVudCB7Ci0gICAgYXR0cmlidXRlIERPTVN0cmluZyB0ZXh0OworICAgIFtDRVJlYWN0
aW9uc10gYXR0cmlidXRlIERPTVN0cmluZyB0ZXh0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDUxOWY1ZGU4OTJjZDE0OWQ5Yjg3
ODJlNWU5MmU5YzRiNjJjYjRmOTMuLjZmOWM2ZmM3MWRiOTZhYWIxYTc2MWRhZTI3NjQ1MmVjMmE5
Y2MyNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKQEAgLTMyMTMsNyArMzIxMyw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMo
Y29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAjZW5kaWYKIAogI2lmIEVOQUJMRShD
VVNUT01fRUxFTUVOVFMpCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRDdXN0b21FbGVtZW50c0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdl
YlByZWZlcmVuY2VzS2V5OjpjdXN0b21FbGVtZW50c0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q3VzdG9tRWxlbWVudHNFbmFi
bGVkKHRydWUgfHwgc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpj
dXN0b21FbGVtZW50c0VuYWJsZWRLZXkoKSkpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCR0wy
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDQwYTdlNGQ3ZmY1OGU5ZGM2ZTRmODRkYzYxNDZhODJhZjZmNzZlZjEuLjE3NmZl
NDM4NWJjNjhhN2U0ZmUyMGQ4YmFhOWM4NTI3NmNlYWJlNDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1OCBA
QAorMjAxNi0xMC0yOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAg
ICBBZGQgQ0VSZWFjdGlvbnMgdG8gdGhlIHJlbWFpbmluZyBIVE1MIERPTSBBUElzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM5NjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBXM0Mgc3R5bGUg
dGVzdGhhcm5lc3MuanMgdGVzdHMgZm9yIENFUmVhY3Rpb25zIHRvIHZhcmlvdXMgSFRNTEVsZW1l
bnRzIHVuZGVyIGZhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy4KKyAgICAgICAgQWxzbyBh
ZGRlZCBzb21lIFdlYktpdCBzcGVjaWZpYyB0ZXN0cyB1c2luZyB0aGUgc2FtZSBoYXJuZXNzIG91
dHNpZGUgdGhhdCBkaXJlY3RvcnkuCisKKyAgICAgICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMtZm9yLWluZGlldWktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMtZm9yLWluZGlldWkuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zLWZvci13ZWJraXQtZXh0ZW5zaW9u
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
LWZvci13ZWJraXQtZXh0ZW5zaW9ucy5odG1sOgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy9Eb2N1bWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9Eb2N1bWVudC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEFuY2hvckVsZW1lbnQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTEFuY2hvckVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jdXN0b20t
ZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxPcHRpb25FbGVtZW50LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxPcHRpb25FbGVt
ZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy9IVE1MT3B0aW9uc0NvbGxlY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MT3V0
cHV0RWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MT3V0cHV0RWxlbWVudC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFNlbGVjdEVsZW1lbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMv
SFRNTFNlbGVjdEVsZW1lbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZUVsZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlRWxlbWVudC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRN
TFRhYmxlUm93RWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVSb3dFbGVtZW50Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVTZWN0aW9u
RWxlbWVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1l
bnRzL3JlYWN0aW9ucy9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRpdGxlRWxlbWVudC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy9IVE1MVGl0bGVFbGVtZW50Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9TaGFkb3dSb290LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL1NoYWRvd1Jvb3QuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvcmVzb3VyY2VzL2FkZGl0aW9uYWwtaGVs
cGVycy5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvdXBncmFkaW5n
LWVucXVldWUtcmVhY3Rpb25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2N1c3RvbS1l
bGVtZW50cy91cGdyYWRpbmctZW5xdWV1ZS1yZWFjdGlvbnMuaHRtbDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9uczoKKworMjAxNi0xMC0yNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KKworICAgICAgICBVcGRhdGluZyBhdHRyaWJ1dGUgYnkgdGV4dENvbnRlbnQgbXVzdCBjcmVh
dGUgYSBzaW5nbGUgbXV0YXRpb24gcmVjb3JkIGFuZCBjdXN0b20gZWxlbWVudCByZWFjdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0MDAzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSB0
ZXN0IGZvciBlbnN1cmluZyBtdXRhdGluZyB0aGUgYXR0cmlidXRlIGJ5IG5vZGVWYWx1ZSBhbmQg
dGV4dENvbnRlbnQgY3JlYXRlcyBleGFjdGx5IG9uZSBtdXRhdGlvbiByZWNvcmQuCisKKyAgICAg
ICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMtZm9yLXdlYmtpdC1leHRlbnNpb25z
Lmh0bWw6IFVwZGF0ZWQgdGhlIGRlc2NyaXB0aW9uLgorICAgICAgICAqIGZhc3QvZG9tL011dGF0
aW9uT2JzZXJ2ZXIvdGV4dC1jb250ZW50LW9uLWF0dHItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9NdXRhdGlvbk9ic2VydmVyL3RleHQtY29udGVudC1vbi1hdHRyLmh0
bWw6IEFkZGVkLgorCiAyMDE2LTEwLTI1ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBw
bGUuY29tPgogCiAgICAgICAgIFtNZWRpYVN0cmVhbV0gQWRkICJoYXMgY2FwdHVyZSBkZXZpY2Ui
IGJpdCB0byBtZWRpYSBzdGF0ZSBmbGFncwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggOTE2MzE1ZDgyMWU5NGVhNmNkYmJmMDYyYjEyZjgwZDVhYzI0ZWZkOC4uZjNkNzM3NDNiYzMx
ZDAyYzcwMjRiMGI4ZmJmZjBlNjI1MjVlYWY0MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMTAtMjUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgVXBkYXRpbmcgYXR0cmlidXRlIGJ5IHRleHRDb250ZW50IG11
c3QgY3JlYXRlIGEgc2luZ2xlIG11dGF0aW9uIHJlY29yZCBhbmQgY3VzdG9tIGVsZW1lbnQgcmVh
Y3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
NDAwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
YmFzZWxpbmVkIHRoZSB0ZXN0IG5vdyB0aGF0IGFsbCB0ZXN0IGNhc2VzIGFyZSBwYXNzaW5nLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMv
Tm9kZS1leHBlY3RlZC50eHQ6CisKIDIwMTYtMTAtMjUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25A
YXBwbGUuY29tPgogCiAgICAgICAgIEluZGV4ZWREQiAyLjA6IFN1cHBvcnQgbmV3IElEQlRyYW5z
YWN0aW9uIGludGVyZmFjZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMtZm9yLWluZGlldWktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zLWZvci1pbmRpZXVpLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45ZjFkMTY4ZWM0Mjc0ODRkNGZiODYxZGM3MzhlNWVmZGEwNzE2MzBlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
LWZvci1pbmRpZXVpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyB1aWFjdGlv
bnMgb24gRWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3
aGVuIGFkZGluZyB1aWFjdGlvbnMgY29udGVudCBhdHRyaWJ1dGUgCitQQVNTIHVpYWN0aW9ucyBv
biBFbGVtZW50IG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4g
cmVwbGFjaW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zLWZvci1pbmRpZXVpLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMtZm9yLWluZGlldWkuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iYmI1ZDc4N2EzN2E3ZTExOWY0NmQ4MjM3NWQ1MWMwYTgxOTIzYTcyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
LWZvci1pbmRpZXVpLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gdWlhY3Rp
b25zIG9mIEVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1dGhvciIgdGl0
bGU9IlJ5b3N1a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciPgorPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJ1aWFjdGlvbnMgb2YgRWxlbWVudCBpbnRlcmZhY2UgbXVz
dCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNvbnRlbnQ9Imh0dHBzOi8v
ZG9tLnNwZWMud2hhdHdnLm9yZy8jbm9kZSI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy9jdXN0
b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3Jl
c291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKwordGVzdFJlZmxlY3RBdHRyaWJ1dGUoJ3VpYWN0aW9u
cycsICd1aWFjdGlvbnMnLCAnZGVsZXRlJywgJ2Rpc21pc3MnLCAndWlhY3Rpb25zIG9uIEVsZW1l
bnQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMtZm9yLXdlYmtpdC1leHRlbnNpb25z
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9u
cy1mb3Itd2Via2l0LWV4dGVuc2lvbnMtZXhwZWN0ZWQudHh0CmluZGV4IGY0Mzg3Y2M2M2UwNGY2
NGI5NjYxYmNhMTZhOTI1NzhkNTlkNDMwMjcuLmFkNzE5Nzc4NTk2ZWZjZmQ0MTZhNDljNWI5MDky
YzJmMTRlNDcwNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRz
L3JlYWN0aW9ucy1mb3Itd2Via2l0LWV4dGVuc2lvbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy1mb3Itd2Via2l0LWV4dGVuc2lv
bnMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMTIgQEAKIAogUEFTUyBkcm9wem9uZSBvbiBIVE1M
RWxlbWVudCBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGFk
ZGluZyB3ZWJraXRkcm9wem9uZSBjb250ZW50IGF0dHJpYnV0ZSAKIFBBU1MgZHJvcHpvbmUgb24g
SFRNTEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hl
biByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIAorUEFTUyBkYXRhIG9uIENoYXJhY3Rl
ckRhdGEgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBs
YWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIAorUEFTUyBkYXRhIG9uIENoYXJhY3RlckRhdGEg
bXVzdCBub3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkIHJlYWN0aW9uIHdoZW4gcmVwbGFj
aW5nIGFuIGV4aXN0aW5nIHVub2JzZXJ2ZWQgYXR0cmlidXRlIAorUEFTUyBhcHBlbmREYXRhIG9u
IENoYXJhY3RlckRhdGEgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayB3
aGVuIG11dGF0aW5nIGFuIGV4aXN0aW5nIGF0dHJpYnV0ZSAKK1BBU1MgaW5zZXJ0RGF0YSBvbiBD
aGFyYWN0ZXJEYXRhIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgd2hl
biBtdXRhdGluZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgCitQQVNTIGRlbGV0ZURhdGEgb24gQ2hh
cmFjdGVyRGF0YSBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIHdoZW4g
bXV0YXRpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIAorUEFTUyByZXBsYWNlRGF0YSBvbiBDaGFy
YWN0ZXJEYXRhIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgd2hlbiBt
dXRhdGluZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUgCitQQVNTIHJlbW92ZShIVE1MT3B0aW9uRWxl
bWVudCkgb24gSFRNTE9wdGlvbnNDb2xsZWN0aW9uIG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRD
YWxsYmFjayB3aGVuIHJlbW92aW5nIGEgY3VzdG9tIGVsZW1lbnQgCitQQVNTIHJlbW92ZShIVE1M
T3B0aW9uRWxlbWVudCkgb24gSFRNTFNlbGVjdEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5l
Y3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zLWZvci13ZWJraXQt
ZXh0ZW5zaW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rp
b25zLWZvci13ZWJraXQtZXh0ZW5zaW9ucy5odG1sCmluZGV4IGJjNDhiZmNkYjM5YTljN2YyZTc1
ZmJmZWI3NmQ4MTBiODAwODRiYmQuLjI1ZjE3MTE0ZWVmYjA4OTk3ZjdmMWZjNTFiYWYyZTNhZWNm
YzY3YjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0
aW9ucy1mb3Itd2Via2l0LWV4dGVuc2lvbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMtZm9yLXdlYmtpdC1leHRlbnNpb25zLmh0bWwKQEAgLTEs
MTQgKzEsMTUgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KLTx0aXRsZT5DdXN0
b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEF0dHIgaW50ZXJmYWNlPC90aXRsZT4KKzx0aXRs
ZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIEhUTUxFbGVtZW50IGFuZCBBdHRyIGlu
dGVyZmFjZXM8L3RpdGxlPgogPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdh
IiBocmVmPSJtYWlsdG86cm5pd2FAd2Via2l0Lm9yZyI+Ci08bWV0YSBuYW1lPSJhc3NlcnQiIGNv
bnRlbnQ9InZhbHVlIG9mIEF0dHIgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8
bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IndlYmtpdGRyb3B6b25lIG9mIEhUTUxFbGVtZW50
IGFuZCBBdHRyIGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgogPG1ldGEgbmFtZT0i
aGVscCIgY29udGVudD0iaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNub2RlIj4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iLi4vLi4vaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIuLi8uLi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZWFjdGlvbnMvcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL2FkZGl0aW9uYWwtaGVscGVycy5qcyI+PC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keT4KIDxkaXYgaWQ9ImxvZyI+PC9kaXY+CkBAIC0xNiw2ICsxNyw5NiBAQAog
CiB0ZXN0UmVmbGVjdEF0dHJpYnV0ZSgnd2Via2l0ZHJvcHpvbmUnLCAnd2Via2l0ZHJvcHpvbmUn
LCAnY29weScsICdtb3ZlJywgJ2Ryb3B6b25lIG9uIEhUTUxFbGVtZW50Jyk7CiAKK3Rlc3RBdHRy
aWJ1dGVNdXRhdG9yKGZ1bmN0aW9uIChlbGVtZW50LCBuYW1lLCB2YWx1ZSkgeworICAgIGVsZW1l
bnQuYXR0cmlidXRlc1tuYW1lXS5maXJzdENoaWxkLmRhdGEgPSB2YWx1ZTsKK30sICdkYXRhIG9u
IENoYXJhY3RlckRhdGEnKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgICAgdmFyIGVsZW1lbnQg
PSBkZWZpbmVfbmV3X2N1c3RvbV9lbGVtZW50KFsndGl0bGUnXSk7CisgICAgdmFyIGluc3RhbmNl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlbGVtZW50Lm5hbWUpOworICAgIGluc3RhbmNlLnNl
dEF0dHJpYnV0ZSgndGl0bGUnLCAnaGVsbG8nKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVs
ZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnYXR0cmlidXRlQ2hhbmdl
ZCddKTsKKyAgICBpbnN0YW5jZS5hdHRyaWJ1dGVzLnRpdGxlLmZpcnN0Q2hpbGQuYXBwZW5kRGF0
YSgnIHdvcmxkJyk7CisgICAgdmFyIGxvZ0VudHJpZXMgPSBlbGVtZW50LnRha2VMb2coKTsKKyAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZ0VudHJpZXMudHlwZXMoKSwgWydhdHRyaWJ1dGVDaGFu
Z2VkJ10pOworICAgIGFzc2VydF9hdHRyaWJ1dGVfbG9nX2VudHJ5KGxvZ0VudHJpZXMubGFzdCgp
LCB7bmFtZTogJ3RpdGxlJywgb2xkVmFsdWU6ICdoZWxsbycsIG5ld1ZhbHVlOiAnaGVsbG8gd29y
bGQnLCBuYW1lc3BhY2U6IG51bGx9KTsKK30sICdhcHBlbmREYXRhIG9uIENoYXJhY3RlckRhdGEg
bXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayB3aGVuIG11dGF0aW5nIGFu
IGV4aXN0aW5nIGF0dHJpYnV0ZScpOworCit0ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICB2YXIgZWxl
bWVudCA9IGRlZmluZV9uZXdfY3VzdG9tX2VsZW1lbnQoWyd0aXRsZSddKTsKKyAgICB2YXIgaW5z
dGFuY2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnQubmFtZSk7CisgICAgaW5zdGFu
Y2Uuc2V0QXR0cmlidXRlKCd0aXRsZScsICdmb28nKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnYXR0cmlidXRlQ2hh
bmdlZCddKTsKKyAgICBpbnN0YW5jZS5hdHRyaWJ1dGVzLnRpdGxlLmZpcnN0Q2hpbGQuaW5zZXJ0
RGF0YSgyLCAnYmFyJyk7CisgICAgdmFyIGxvZ0VudHJpZXMgPSBlbGVtZW50LnRha2VMb2coKTsK
KyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZ0VudHJpZXMudHlwZXMoKSwgWydhdHRyaWJ1dGVD
aGFuZ2VkJ10pOworICAgIGFzc2VydF9hdHRyaWJ1dGVfbG9nX2VudHJ5KGxvZ0VudHJpZXMubGFz
dCgpLCB7bmFtZTogJ3RpdGxlJywgb2xkVmFsdWU6ICdmb28nLCBuZXdWYWx1ZTogJ2ZvYmFybycs
IG5hbWVzcGFjZTogbnVsbH0pOworfSwgJ2luc2VydERhdGEgb24gQ2hhcmFjdGVyRGF0YSBtdXN0
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIHdoZW4gbXV0YXRpbmcgYW4gZXhp
c3RpbmcgYXR0cmlidXRlJyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAgIHZhciBlbGVtZW50
ID0gZGVmaW5lX25ld19jdXN0b21fZWxlbWVudChbJ3RpdGxlJ10pOworICAgIHZhciBpbnN0YW5j
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsKKyAgICBpbnN0YW5jZS5z
ZXRBdHRyaWJ1dGUoJ3RpdGxlJywgJ2hlbGxvIHdvcmxkJyk7CisgICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVkJywgJ2F0dHJpYnV0
ZUNoYW5nZWQnXSk7CisgICAgaW5zdGFuY2UuYXR0cmlidXRlcy50aXRsZS5maXJzdENoaWxkLmRl
bGV0ZURhdGEoNSwgMTAwKTsKKyAgICB2YXIgbG9nRW50cmllcyA9IGVsZW1lbnQudGFrZUxvZygp
OworICAgIGFzc2VydF9hcnJheV9lcXVhbHMobG9nRW50cmllcy50eXBlcygpLCBbJ2F0dHJpYnV0
ZUNoYW5nZWQnXSk7CisgICAgYXNzZXJ0X2F0dHJpYnV0ZV9sb2dfZW50cnkobG9nRW50cmllcy5s
YXN0KCksIHtuYW1lOiAndGl0bGUnLCBvbGRWYWx1ZTogJ2hlbGxvIHdvcmxkJywgbmV3VmFsdWU6
ICdoZWxsbycsIG5hbWVzcGFjZTogbnVsbH0pOworfSwgJ2RlbGV0ZURhdGEgb24gQ2hhcmFjdGVy
RGF0YSBtdXN0IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIHdoZW4gbXV0YXRp
bmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlJyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAgIHZh
ciBlbGVtZW50ID0gZGVmaW5lX25ld19jdXN0b21fZWxlbWVudChbJ3RpdGxlJ10pOworICAgIHZh
ciBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsKKyAgICBp
bnN0YW5jZS5zZXRBdHRyaWJ1dGUoJ3RpdGxlJywgJ2hlbGxvJyk7CisgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVkJywgJ2F0dHJp
YnV0ZUNoYW5nZWQnXSk7CisgICAgaW5zdGFuY2UuYXR0cmlidXRlcy50aXRsZS5maXJzdENoaWxk
LnJlcGxhY2VEYXRhKDEsIDQsICdpJyk7CisgICAgdmFyIGxvZ0VudHJpZXMgPSBlbGVtZW50LnRh
a2VMb2coKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGxvZ0VudHJpZXMudHlwZXMoKSwgWydh
dHRyaWJ1dGVDaGFuZ2VkJ10pOworICAgIGFzc2VydF9hdHRyaWJ1dGVfbG9nX2VudHJ5KGxvZ0Vu
dHJpZXMubGFzdCgpLCB7bmFtZTogJ3RpdGxlJywgb2xkVmFsdWU6ICdoZWxsbycsIG5ld1ZhbHVl
OiAnaGknLCBuYW1lc3BhY2U6IG51bGx9KTsKK30sICdyZXBsYWNlRGF0YSBvbiBDaGFyYWN0ZXJE
YXRhIG11c3QgZW5xdWV1ZSBhbiBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgd2hlbiBtdXRhdGlu
ZyBhbiBleGlzdGluZyBhdHRyaWJ1dGUnKTsKKwordGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAo
Y29udGVudFdpbmRvdykgeworICAgIGNvbnN0IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1l
bnRfaW5fd2luZG93KGNvbnRlbnRXaW5kb3csICdjdXN0b20tZWxlbWVudCcsIFtdKTsKKworICAg
IGNvbnN0IGNvbnRlbnREb2N1bWVudCA9IGNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgY29u
dGVudERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gYDxzZWxlY3Q+PG9wdGlvbj48L29wdGlvbj48
L3NlbGVjdD5gOworICAgIGNvbnN0IG9wdGlvbiA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCdvcHRpb24nKTsKKworICAgIGNvbnN0IGluc3RhbmNlID0gY29udGVudERvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsKKyAgICBvcHRpb24uYXBwZW5kQ2hpbGQoaW5zdGFu
Y2UpOworICAgIGluc3RhbmNlLnRleHRDb250ZW50ID0gJ2hlbGxvJzsKKworICAgIGFzc2VydF9h
cnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcsICdj
b25uZWN0ZWQnXSk7CisgICAgYXNzZXJ0X2VxdWFscyhvcHRpb24uaW5uZXJIVE1MLCAnPGN1c3Rv
bS1lbGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVudD4nKTsKKworICAgIGNvbnN0IHNlbGVjdCA9
IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWxlY3QnKTsKKyAgICBhc3NlcnRfZXF1
YWxzKHNlbGVjdC5vcHRpb25zWzBdLCBvcHRpb24pOworICAgIHNlbGVjdC5vcHRpb25zLnJlbW92
ZShvcHRpb24pOworICAgIGFzc2VydF9lcXVhbHMoc2VsZWN0Lm9wdGlvbnMubGVuZ3RoLCAwKTsK
KyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnZGlz
Y29ubmVjdGVkJ10pOworfSwgJ3JlbW92ZShIVE1MT3B0aW9uRWxlbWVudCkgb24gSFRNTE9wdGlv
bnNDb2xsZWN0aW9uIG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGVuIHJlbW92
aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKwordGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29u
dGVudFdpbmRvdykgeworICAgIGNvbnN0IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1lbnRf
aW5fd2luZG93KGNvbnRlbnRXaW5kb3csICdjdXN0b20tZWxlbWVudCcsIFtdKTsKKworICAgIGNv
bnN0IGNvbnRlbnREb2N1bWVudCA9IGNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgY29udGVu
dERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gYDxzZWxlY3Q+PG9wdGlvbj48L29wdGlvbj48L3Nl
bGVjdD5gOworICAgIGNvbnN0IG9wdGlvbiA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCdvcHRpb24nKTsKKworICAgIGNvbnN0IGluc3RhbmNlID0gY29udGVudERvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsKKyAgICBvcHRpb24uYXBwZW5kQ2hpbGQoaW5zdGFuY2Up
OworICAgIGluc3RhbmNlLnRleHRDb250ZW50ID0gJ2hlbGxvJzsKKworICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcsICdjb25u
ZWN0ZWQnXSk7CisgICAgYXNzZXJ0X2VxdWFscyhvcHRpb24uaW5uZXJIVE1MLCAnPGN1c3RvbS1l
bGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVudD4nKTsKKworICAgIGNvbnN0IHNlbGVjdCA9IGNv
bnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWxlY3QnKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHNlbGVjdC5vcHRpb25zWzBdLCBvcHRpb24pOworICAgIHNlbGVjdC5yZW1vdmUob3B0aW9uKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHNlbGVjdC5vcHRpb25zLmxlbmd0aCwgMCk7CisgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2Rpc2Nvbm5lY3RlZCdd
KTsKK30sICdyZW1vdmUoSFRNTE9wdGlvbkVsZW1lbnQpIG9uIEhUTUxTZWxlY3RFbGVtZW50IG11
c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGVuIHJlbW92aW5nIGEgY3VzdG9tIGVs
ZW1lbnQnKTsKKwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvRG9jdW1lbnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0RvY3VtZW50
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2ZlNWRjOTllODZjMDM5MmY2N2VhZDEzYzM1OTJi
NDhkMGE4MWEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0RvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACisK
K1BBU1MgdGl0bGUgb24gRG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNr
IHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1MgYm9keSBvbiBEb2N1bWVudCBt
dXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBl
bGVtZW50IAorUEFTUyBib2R5IG9uIERvY3VtZW50IG11c3QgZW5xdWV1ZSBjb25uZWN0ZWRDYWxs
YmFjayB3aGVuIGluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBvcGVuIG9uIERvY3Vt
ZW50IG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGVuIHJlbW92aW5nIGEgY3Vz
dG9tIGVsZW1lbnQgCitQQVNTIHdyaXRlIG9uIERvY3VtZW50IG11c3QgZW5xdWV1ZSBkaXNjb25u
ZWN0ZWRDYWxsYmFjayB3aGVuIHJlbW92aW5nIGEgY3VzdG9tIGVsZW1lbnQgCitQQVNTIHdyaXRl
IG9uIERvY3VtZW50IG11c3QgZW5xdWV1ZSBjb25uZWN0ZWRDYWxsYmFjayBhZnRlciBjb25zdHJ1
Y3RpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1Mgd3JpdGVsbiBvbiBEb2N1bWVudCBtdXN0IGVu
cXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBlbGVtZW50
IAorUEFTUyB3cml0ZWxuIG9uIERvY3VtZW50IG11c3QgZW5xdWV1ZSBjb25uZWN0ZWRDYWxsYmFj
ayBhZnRlciBjb25zdHJ1Y3RpbmcgYSBjdXN0b20gZWxlbWVudCAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0RvY3VtZW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvRG9jdW1lbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iN2E4MjI1N2E5ZGZmNDRiMzYzNjc5ZTk1NjcwM2Q5MmZiZTM1ZTAyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0RvY3VtZW50Lmh0bWwKQEAgLTAsMCArMSwxMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25zIG9uIERvY3VtZW50
IGludGVyZmFjZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJSeW9zdWtlIE5p
d2EiIGhyZWY9Im1haWx0bzpybml3YUB3ZWJraXQub3JnIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIg
Y29udGVudD0idGl0bGUsIGJvZHksIG9wZW4sIHdyaXRlLCBhbmQgd3JpdGVsbiBvZiBEb2N1bWVu
dCBpbnRlcmZhY2UgbXVzdCBoYXZlIENFUmVhY3Rpb25zIj4KKzxtZXRhIG5hbWU9ImhlbHAiIGNv
bnRlbnQ9Imh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jbm9kZSI+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3Jlc291cmNlcy9jdXN0b20tZWxlbWVudHMtaGVscGVycy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL3Jlc291cmNlcy9yZWFjdGlvbnMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9hZGRpdGlvbmFsLWhlbHBlcnMuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPHNjcmlwdD4KKwor
dGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29udGVudFdpbmRvdykgeworICAgIGNvbnN0IGVs
ZW1lbnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1lbnRfaW5fd2luZG93KGNvbnRlbnRXaW5kb3csICdj
dXN0b20tZWxlbWVudCcsIFtdKTsKKworICAgIGNvbnN0IGNvbnRlbnREb2N1bWVudCA9IGNvbnRl
bnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgY29udGVudERvY3VtZW50LnRpdGxlID0gJyc7CisgICAg
Y29uc3QgdGl0bGUgPSBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGl0bGUnKTsKKyAg
ICBjb25zdCBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2N1c3RvbS1lbGVtZW50
Jyk7CisgICAgdGl0bGUuYXBwZW5kQ2hpbGQoaW5zdGFuY2UpOworICAgIGluc3RhbmNlLnRleHRD
b250ZW50ID0gJ2hlbGxvJzsKKworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtl
TG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcsICdjb25uZWN0ZWQnXSk7CisgICAgYXNzZXJ0
X2VxdWFscyh0aXRsZS5pbm5lckhUTUwsICc8Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1l
bGVtZW50PicpOworCisgICAgdGl0bGUudGV4dCA9ICd3b3JsZCc7CisgICAgYXNzZXJ0X2VxdWFs
cyh0aXRsZS5pbm5lckhUTUwsICd3b3JsZCcpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxl
bWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydkaXNjb25uZWN0ZWQnXSk7Cit9LCAndGl0bGUgb24g
RG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3Zpbmcg
YSBjdXN0b20gZWxlbWVudCcpOworCit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50
V2luZG93KSB7CisgICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93
aW5kb3coY29udGVudFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50JywgW10pOworCisgICAgY29uc3Qg
Y29udGVudERvY3VtZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb25zdCBib2R5
ID0gY29udGVudERvY3VtZW50LmJvZHk7CisgICAgYm9keS5pbm5lckhUTUwgPSAnPGN1c3RvbS1l
bGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVudD4nOworCisgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVkJywgJ2Nvbm5lY3RlZCdd
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGJvZHkuaW5uZXJIVE1MLCAnPGN1c3RvbS1lbGVtZW50Pmhl
bGxvPC9jdXN0b20tZWxlbWVudD4nKTsKKworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnYm9keScpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxl
bWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydkaXNjb25uZWN0ZWQnXSk7Cit9LCAnYm9keSBvbiBE
b2N1bWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBh
IGN1c3RvbSBlbGVtZW50Jyk7CisKK3Rlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRX
aW5kb3cpIHsKKyAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dp
bmRvdyhjb250ZW50V2luZG93LCAnY3VzdG9tLWVsZW1lbnQnLCBbXSk7CisKKyAgICBjb25zdCBj
b250ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGNvbnN0IGluc3Rh
bmNlID0gY29udGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2N1c3RvbS1lbGVtZW50Jyk7Cisg
ICAgY29uc3QgYm9keSA9IGNvbnRlbnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCdib2R5Jyk7Cisg
ICAgYm9keS5hcHBlbmRDaGlsZChpbnN0YW5jZSk7CisKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnXSk7CisgICAgYXNzZXJ0
X2VxdWFscyhib2R5LmlubmVySFRNTCwgJzxjdXN0b20tZWxlbWVudD48L2N1c3RvbS1lbGVtZW50
PicpOworCisgICAgY29udGVudERvY3VtZW50LmJvZHkgPSBib2R5OworICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25uZWN0ZWQnXSk7Cit9LCAn
Ym9keSBvbiBEb2N1bWVudCBtdXN0IGVucXVldWUgY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiBpbnNl
cnRpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChj
b250ZW50V2luZG93KSB7CisgICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVu
dF9pbl93aW5kb3coY29udGVudFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50JywgW10pOworCisgICAg
Y29uc3QgY29udGVudERvY3VtZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb250
ZW50RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPGN1c3RvbS1lbGVtZW50PjwvY3VzdG9tLWVs
ZW1lbnQ+JzsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVz
KCksIFsnY29uc3RydWN0ZWQnLCAnY29ubmVjdGVkJ10pOworCisgICAgY29udGVudERvY3VtZW50
Lm9wZW4oKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVz
KCksIFsnZGlzY29ubmVjdGVkJ10pOworfSwgJ29wZW4gb24gRG9jdW1lbnQgbXVzdCBlbnF1ZXVl
IGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCcpOwor
Cit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7CisgICAgY29uc3Qg
ZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93aW5kb3coY29udGVudFdpbmRvdywg
J2N1c3RvbS1lbGVtZW50JywgW10pOworCisgICAgY29uc3QgY29udGVudERvY3VtZW50ID0gY29u
dGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5pbm5lckhUTUwg
PSAnPGN1c3RvbS1lbGVtZW50PjwvY3VzdG9tLWVsZW1lbnQ+JzsKKyAgICBhc3NlcnRfYXJyYXlf
ZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnY29ubmVj
dGVkJ10pOworCisgICAgY29udGVudERvY3VtZW50LndyaXRlKCcnKTsKKyAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnZGlzY29ubmVjdGVkJ10pOwor
fSwgJ3dyaXRlIG9uIERvY3VtZW50IG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3
aGVuIHJlbW92aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKwordGVzdF93aXRoX3dpbmRvdyhmdW5j
dGlvbiAoY29udGVudFdpbmRvdykgeworICAgIGNvbnN0IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9t
X2VsZW1lbnRfaW5fd2luZG93KGNvbnRlbnRXaW5kb3csICdjdXN0b20tZWxlbWVudCcsIFtdKTsK
KyAgICBjb250ZW50V2luZG93LmRvY3VtZW50LndyaXRlKCc8Y3VzdG9tLWVsZW1lbnQ+PC9jdXN0
b20tZWxlbWVudD4nKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygp
LnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnY29ubmVjdGVkJ10pOworfSwgJ3dyaXRlIG9uIERv
Y3VtZW50IG11c3QgZW5xdWV1ZSBjb25uZWN0ZWRDYWxsYmFjayBhZnRlciBjb25zdHJ1Y3Rpbmcg
YSBjdXN0b20gZWxlbWVudCcpOworCit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50
V2luZG93KSB7CisgICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93
aW5kb3coY29udGVudFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50JywgW10pOworCisgICAgY29uc3Qg
Y29udGVudERvY3VtZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb250ZW50RG9j
dW1lbnQuYm9keS5pbm5lckhUTUwgPSAnPGN1c3RvbS1lbGVtZW50PjwvY3VzdG9tLWVsZW1lbnQ+
JzsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsn
Y29uc3RydWN0ZWQnLCAnY29ubmVjdGVkJ10pOworCisgICAgY29udGVudERvY3VtZW50LndyaXRl
bG4oJycpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMo
KSwgWydkaXNjb25uZWN0ZWQnXSk7Cit9LCAnd3JpdGVsbiBvbiBEb2N1bWVudCBtdXN0IGVucXVl
dWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBlbGVtZW50Jyk7
CisKK3Rlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3cpIHsKKyAgICBjb25z
dCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dpbmRvdyhjb250ZW50V2luZG93
LCAnY3VzdG9tLWVsZW1lbnQnLCBbXSk7CisgICAgY29udGVudFdpbmRvdy5kb2N1bWVudC53cml0
ZWxuKCc8Y3VzdG9tLWVsZW1lbnQ+PC9jdXN0b20tZWxlbWVudD4nKTsKKyAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnY29u
bmVjdGVkJ10pOworfSwgJ3dyaXRlbG4gb24gRG9jdW1lbnQgbXVzdCBlbnF1ZXVlIGNvbm5lY3Rl
ZENhbGxiYWNrIGFmdGVyIGNvbnN0cnVjdGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0
b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxBbmNob3JFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MQW5jaG9yRWxlbWVu
dC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzI5ODZjNDVjMzYxMTRlOGE1ZTRkNDQ0OWY4ODlh
NzBiMDY4NTQxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy9IVE1MQW5jaG9yRWxlbWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzIEBACisKK1BBU1MgdGV4dCBvbiBIVE1MQW5jaG9yRWxlbWVudCBtdXN0IGVucXVldWUgZGlz
Y29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBlbGVtZW50IAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEFu
Y2hvckVsZW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0
aW9ucy9IVE1MQW5jaG9yRWxlbWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhYjE2ZGE3YzMxNTI3OWQ2
MjMwYmQ0NDFhOTA2NWZhNGEwMjAwYzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTEFuY2hvckVsZW1lbnQuaHRtbApAQCAt
MCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Q3Vz
dG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MQW5jaG9yRWxlbWVudCBpbnRlcmZhY2U8
L3RpdGxlPgorPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdhIiBocmVmPSJt
YWlsdG86cm5pd2FAd2Via2l0Lm9yZyI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9InRl
eHQgb2YgSFRNTEFuY2hvckVsZW1lbnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+
Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcv
I25vZGUiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRz
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9yZXNvdXJjZXMv
cmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWRkaXRp
b25hbC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3Rlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRX
aW5kb3cpIHsKKyAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dp
bmRvdyhjb250ZW50V2luZG93LCAnY3VzdG9tLWVsZW1lbnQnLCBbXSk7CisKKyAgICBjb25zdCBj
b250ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGNvbnRlbnREb2N1
bWVudC5ib2R5LmlubmVySFRNTCA9IGA8YT48Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1l
bGVtZW50PjwvYT5gOworICAgIGNvbnN0IGFuY2hvciA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCdhJyk7CisKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygp
LnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnY29ubmVjdGVkJ10pOworICAgIGFzc2VydF9lcXVh
bHMoYW5jaG9yLmlubmVySFRNTCwgJzxjdXN0b20tZWxlbWVudD5oZWxsbzwvY3VzdG9tLWVsZW1l
bnQ+Jyk7CisKKyAgICBhbmNob3IudGV4dCA9ICd3b3JsZCc7CisgICAgYXNzZXJ0X2VxdWFscyhh
bmNob3IuaW5uZXJIVE1MLCAnd29ybGQnKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1l
bnQudGFrZUxvZygpLnR5cGVzKCksIFsnZGlzY29ubmVjdGVkJ10pOworfSwgJ3RleHQgb24gSFRN
TEFuY2hvckVsZW1lbnQgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVt
b3ZpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9I
VE1MT3B0aW9uRWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTE9wdGlvbkVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmEyYjk5ZjA0ZjNjOTFlZDcyYzYzZWI1MGY0NGYyZGExMjUzNzc3NTcKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE9w
dGlvbkVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIHRleHQgb24g
SFRNTE9wdGlvbkVsZW1lbnQgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4g
cmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxPcHRpb25FbGVtZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE9wdGlvbkVsZW1lbnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lM2M1ODRkODYzOTU5NjExZWY1ODk3ODY0ZGU1ZjY0Nzk2ZTE5NmVm
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0hUTUxPcHRpb25FbGVtZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlv
bnMgb24gSFRNTE9wdGlvbkVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1
dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmci
PgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJ0ZXh0IG9mIEhUTUxPcHRpb25FbGVtZW50
IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29u
dGVudD0iaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNub2RlIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FkZGl0aW9uYWwtaGVscGVycy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorCit0
ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7CisgICAgY29uc3QgZWxl
bWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93aW5kb3coY29udGVudFdpbmRvdywgJ2N1
c3RvbS1lbGVtZW50JywgW10pOworCisgICAgY29uc3QgY29udGVudERvY3VtZW50ID0gY29udGVu
dFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBg
PHNlbGVjdD48b3B0aW9uPjwvb3B0aW9uPjwvc2VsZWN0PmA7CisgICAgY29uc3Qgb3B0aW9uID0g
Y29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ29wdGlvbicpOworICAgIGNvbnN0IGluc3Rh
bmNlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY3VzdG9tLWVsZW1lbnQnKTsKKyAgICBvcHRp
b24uYXBwZW5kQ2hpbGQoaW5zdGFuY2UpOworICAgIGluc3RhbmNlLnRleHRDb250ZW50ID0gJ2hl
bGxvJzsKKworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMo
KSwgWydjb25zdHJ1Y3RlZCcsICdjb25uZWN0ZWQnXSk7CisgICAgYXNzZXJ0X2VxdWFscyhvcHRp
b24uaW5uZXJIVE1MLCAnPGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVudD4nKTsK
KworICAgIG9wdGlvbi50ZXh0ID0gJ3dvcmxkJzsKKyAgICBhc3NlcnRfZXF1YWxzKG9wdGlvbi5p
bm5lckhUTUwsICd3b3JsZCcpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtl
TG9nKCkudHlwZXMoKSwgWydkaXNjb25uZWN0ZWQnXSk7Cit9LCAndGV4dCBvbiBIVE1MT3B0aW9u
RWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBh
IGN1c3RvbSBlbGVtZW50Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxPcHRp
b25zQ29sbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVt
ZW50cy9yZWFjdGlvbnMvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40YmI1ZGQwY2U0OGM4OWQ4MjIyNDUyZThkNmI0M2U4ZjU2YWI4YTk2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxP
cHRpb25zQ29sbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgbGVu
Z3RoIG9uIEhUTUxPcHRpb25zQ29sbGVjdGlvbiBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2Fs
bGJhY2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBUaGUgaW5kZXhlZCBz
ZXR0ZXIgb24gSFRNTE9wdGlvbnNDb2xsZWN0aW9uIG11c3QgZW5xdWV1ZSBjb25uZWN0ZWRDYWxs
YmFjayB3aGVuIGluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBUaGUgaW5kZXhlZCBz
ZXR0ZXIgb24gSFRNTE9wdGlvbnNDb2xsZWN0aW9uIG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRD
YWxsYmFjayB3aGVuIHJlbW92aW5nIGEgY3VzdG9tIGVsZW1lbnQgCitQQVNTIGFkZCBvbiBIVE1M
T3B0aW9uc0NvbGxlY3Rpb24gbXVzdCBlbnF1ZXVlIGNvbm5lY3RlZENhbGxiYWNrIHdoZW4gaW5z
ZXJ0aW5nIGEgY3VzdG9tIGVsZW1lbnQgCitQQVNTIHJlbW92ZSBvbiBIVE1MT3B0aW9uc0NvbGxl
Y3Rpb24gbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBj
dXN0b20gZWxlbWVudCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAwMTVlOWY4NDlhMmZjYzg5NzhkNWJlYTk4NTAwYTg1YTMyNzljOTkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmh0bWwKQEAgLTAsMCArMSwxMjUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rp
b25zIG9uIEhUTUxPcHRpb25zQ29sbGVjdGlvbiBpbnRlcmZhY2U8L3RpdGxlPgorPG1ldGEgbmFt
ZT0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdhIiBocmVmPSJtYWlsdG86cm5pd2FAd2Via2l0
Lm9yZyI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Imxlbmd0aCwgdGhlIGluZGV4ZWQg
c2V0dGVyLCBhZGQsIGFuZCByZW1vdmUgb2YgSFRNTE9wdGlvbnNDb2xsZWN0aW9uIGludGVyZmFj
ZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0
cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNub2RlIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
cmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9yZWFjdGlvbnMvcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2FkZGl0aW9uYWwtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorCit0ZXN0X3dpdGhf
d2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7CisgICAgY29uc3QgZWxlbWVudCA9IGRl
ZmluZV9jdXN0b21fZWxlbWVudF9pbl93aW5kb3coY29udGVudFdpbmRvdywgJ2N1c3RvbS1lbGVt
ZW50JywgW10pOworCisgICAgY29uc3QgY29udGVudERvY3VtZW50ID0gY29udGVudFdpbmRvdy5k
b2N1bWVudDsKKyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBgPHNlbGVjdD48
b3B0aW9uPjwvb3B0aW9uPjwvc2VsZWN0PmA7CisgICAgY29uc3Qgb3B0aW9uID0gY29udGVudERv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ29wdGlvbicpOworCisgICAgY29uc3QgaW5zdGFuY2UgPSBj
b250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudChlbGVtZW50Lm5hbWUpOworICAgIG9wdGlvbi5h
cHBlbmRDaGlsZChpbnN0YW5jZSk7CisgICAgaW5zdGFuY2UudGV4dENvbnRlbnQgPSAnaGVsbG8n
OworCisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBb
J2NvbnN0cnVjdGVkJywgJ2Nvbm5lY3RlZCddKTsKKyAgICBhc3NlcnRfZXF1YWxzKG9wdGlvbi5p
bm5lckhUTUwsICc8Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1lbGVtZW50PicpOworCisg
ICAgY29uc3Qgc2VsZWN0ID0gY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlbGVjdCcp
OworICAgIGFzc2VydF9lcXVhbHMoc2VsZWN0Lm9wdGlvbnNbMF0sIG9wdGlvbik7CisgICAgc2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoID0gMDsKKyAgICBhc3NlcnRfZXF1YWxzKHNlbGVjdC5maXJzdENo
aWxkLCBudWxsKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5
cGVzKCksIFsnZGlzY29ubmVjdGVkJ10pOworfSwgJ2xlbmd0aCBvbiBIVE1MT3B0aW9uc0NvbGxl
Y3Rpb24gbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBj
dXN0b20gZWxlbWVudCcpOworCit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2lu
ZG93KSB7CisgICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93aW5k
b3coY29udGVudFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50JywgW10pOworCisgICAgY29uc3QgY29u
dGVudERvY3VtZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb250ZW50RG9jdW1l
bnQuYm9keS5pbm5lckhUTUwgPSBgPHNlbGVjdD48L3NlbGVjdD5gOworICAgIGNvbnN0IHNlbGVj
dCA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzZWxlY3QnKTsKKworICAgIGNvbnN0
IG9wdGlvbiA9IGNvbnRlbnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTsKKyAgICBj
b25zdCBpbnN0YW5jZSA9IGNvbnRlbnREb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnQubmFt
ZSk7CisgICAgb3B0aW9uLmFwcGVuZENoaWxkKGluc3RhbmNlKTsKKyAgICBpbnN0YW5jZS50ZXh0
Q29udGVudCA9ICdoZWxsbyc7CisKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFr
ZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnXSk7CisgICAgYXNzZXJ0X2VxdWFscyhvcHRp
b24uaW5uZXJIVE1MLCAnPGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVudD4nKTsK
KworICAgIGFzc2VydF9lcXVhbHMoc2VsZWN0Lm9wdGlvbnMubGVuZ3RoLCAwKTsKKyAgICBzZWxl
Y3Qub3B0aW9uc1swXSA9IG9wdGlvbjsKKyAgICBhc3NlcnRfZXF1YWxzKHNlbGVjdC5vcHRpb25z
Lmxlbmd0aCwgMSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50
eXBlcygpLCBbJ2Nvbm5lY3RlZCddKTsKK30sICdUaGUgaW5kZXhlZCBzZXR0ZXIgb24gSFRNTE9w
dGlvbnNDb2xsZWN0aW9uIG11c3QgZW5xdWV1ZSBjb25uZWN0ZWRDYWxsYmFjayB3aGVuIGluc2Vy
dGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKK3Rlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNv
bnRlbnRXaW5kb3cpIHsKKyAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50
X2luX3dpbmRvdyhjb250ZW50V2luZG93LCAnY3VzdG9tLWVsZW1lbnQnLCBbXSk7CisKKyAgICBj
b25zdCBjb250ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGNvbnRl
bnREb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGA8c2VsZWN0PjxvcHRpb24+PC9vcHRpb24+PC9z
ZWxlY3Q+YDsKKyAgICBjb25zdCBvcHRpb24gPSBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3Rv
cignb3B0aW9uJyk7CisKKyAgICBjb25zdCBpbnN0YW5jZSA9IGNvbnRlbnREb2N1bWVudC5jcmVh
dGVFbGVtZW50KGVsZW1lbnQubmFtZSk7CisgICAgb3B0aW9uLmFwcGVuZENoaWxkKGluc3RhbmNl
KTsKKyAgICBpbnN0YW5jZS50ZXh0Q29udGVudCA9ICdoZWxsbyc7CisKKyAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnY29u
bmVjdGVkJ10pOworICAgIGFzc2VydF9lcXVhbHMob3B0aW9uLmlubmVySFRNTCwgJzxjdXN0b20t
ZWxlbWVudD5oZWxsbzwvY3VzdG9tLWVsZW1lbnQ+Jyk7CisKKyAgICBjb25zdCBzZWxlY3QgPSBj
b250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2VsZWN0Jyk7CisgICAgYXNzZXJ0X2VxdWFs
cyhzZWxlY3Qub3B0aW9uc1swXSwgb3B0aW9uKTsKKyAgICBzZWxlY3Qub3B0aW9uc1swXSA9IG51
bGw7CisgICAgYXNzZXJ0X2VxdWFscyhzZWxlY3Qub3B0aW9ucy5sZW5ndGgsIDApOworICAgIGFz
c2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydkaXNjb25uZWN0
ZWQnXSk7Cit9LCAnVGhlIGluZGV4ZWQgc2V0dGVyIG9uIEhUTUxPcHRpb25zQ29sbGVjdGlvbiBt
dXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBl
bGVtZW50Jyk7CisKK3Rlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3cpIHsK
KyAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dpbmRvdyhjb250
ZW50V2luZG93LCAnY3VzdG9tLWVsZW1lbnQnLCBbXSk7CisKKyAgICBjb25zdCBjb250ZW50RG9j
dW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5
LmlubmVySFRNTCA9IGA8c2VsZWN0Pjwvc2VsZWN0PmA7CisgICAgY29uc3Qgc2VsZWN0ID0gY29u
dGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlbGVjdCcpOworCisgICAgY29uc3Qgb3B0aW9u
ID0gY29udGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpOworICAgIGNvbnN0IGlu
c3RhbmNlID0gY29udGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsKKyAg
ICBvcHRpb24uYXBwZW5kQ2hpbGQoaW5zdGFuY2UpOworICAgIGluc3RhbmNlLnRleHRDb250ZW50
ID0gJ2hlbGxvJzsKKworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCku
dHlwZXMoKSwgWydjb25zdHJ1Y3RlZCddKTsKKyAgICBhc3NlcnRfZXF1YWxzKG9wdGlvbi5pbm5l
ckhUTUwsICc8Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1lbGVtZW50PicpOworCisgICAg
YXNzZXJ0X2VxdWFscyhzZWxlY3Qub3B0aW9ucy5sZW5ndGgsIDApOworICAgIHNlbGVjdC5vcHRp
b25zLmFkZChvcHRpb24pOworICAgIGFzc2VydF9lcXVhbHMoc2VsZWN0Lm9wdGlvbnMubGVuZ3Ro
LCAxKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCks
IFsnY29ubmVjdGVkJ10pOworfSwgJ2FkZCBvbiBIVE1MT3B0aW9uc0NvbGxlY3Rpb24gbXVzdCBl
bnF1ZXVlIGNvbm5lY3RlZENhbGxiYWNrIHdoZW4gaW5zZXJ0aW5nIGEgY3VzdG9tIGVsZW1lbnQn
KTsKKwordGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29udGVudFdpbmRvdykgeworICAgIGNv
bnN0IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1lbnRfaW5fd2luZG93KGNvbnRlbnRXaW5k
b3csICdjdXN0b20tZWxlbWVudCcsIFtdKTsKKworICAgIGNvbnN0IGNvbnRlbnREb2N1bWVudCA9
IGNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgY29udGVudERvY3VtZW50LmJvZHkuaW5uZXJI
VE1MID0gYDxzZWxlY3Q+PG9wdGlvbj48L29wdGlvbj48L3NlbGVjdD5gOworICAgIGNvbnN0IG9w
dGlvbiA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdvcHRpb24nKTsKKworICAgIGNv
bnN0IGluc3RhbmNlID0gY29udGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1l
KTsKKyAgICBvcHRpb24uYXBwZW5kQ2hpbGQoaW5zdGFuY2UpOworICAgIGluc3RhbmNlLnRleHRD
b250ZW50ID0gJ2hlbGxvJzsKKworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtl
TG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcsICdjb25uZWN0ZWQnXSk7CisgICAgYXNzZXJ0
X2VxdWFscyhvcHRpb24uaW5uZXJIVE1MLCAnPGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20t
ZWxlbWVudD4nKTsKKworICAgIGNvbnN0IHNlbGVjdCA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCdzZWxlY3QnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHNlbGVjdC5vcHRpb25zWzBdLCBv
cHRpb24pOworICAgIHNlbGVjdC5vcHRpb25zLnJlbW92ZSgwKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHNlbGVjdC5vcHRpb25zLmxlbmd0aCwgMCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVt
ZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2Rpc2Nvbm5lY3RlZCddKTsKK30sICdyZW1vdmUgb24g
SFRNTE9wdGlvbnNDb2xsZWN0aW9uIG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3
aGVuIHJlbW92aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFj
dGlvbnMvSFRNTE91dHB1dEVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9j
dXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxPdXRwdXRFbGVtZW50LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yOGYzZGQ0NTQ3NDQzYTk1YThmZWFiMWIwNTRmNDk0YmVlMWM0Y2JjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25z
L0hUTUxPdXRwdXRFbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyB2
YWx1ZSBvbiBIVE1MT3V0cHV0RWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJh
Y2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkZWZhdWx0VmFsdWUgb24g
SFRNTE91dHB1dEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4g
cmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxPdXRwdXRFbGVtZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTE91dHB1dEVsZW1lbnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40NzYzNDEzMjM1YTMzMDUyYTQxZjFkOWE4NjdiYzYzOTIxZmI0MWI5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVh
Y3Rpb25zL0hUTUxPdXRwdXRFbGVtZW50Lmh0bWwKQEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlv
bnMgb24gSFRNTE91dHB1dEVsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1
dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmci
PgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJ2YWx1ZSBhbmQgZGVmYXVsdFZhbHVlIG9m
IEhUTUxPdXRwdXRFbGVtZW50IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1l
dGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNub2Rl
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxw
ZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvcmVzb3VyY2VzL3JlYWN0
aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FkZGl0aW9uYWwt
aGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9k
aXY+Cis8c2NyaXB0PgorCit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93
KSB7CisgICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93aW5kb3co
Y29udGVudFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50JywgW10pOworCisgICAgY29uc3QgY29udGVu
dERvY3VtZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb250ZW50RG9jdW1lbnQu
Ym9keS5pbm5lckhUTUwgPSBgPG91dHB1dD48Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1l
bGVtZW50Pjwvb3V0cHV0PmA7CisgICAgY29uc3QgYW5jaG9yID0gY29udGVudERvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ291dHB1dCcpOworCisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50
LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVkJywgJ2Nvbm5lY3RlZCddKTsKKyAgICBh
c3NlcnRfZXF1YWxzKGFuY2hvci5pbm5lckhUTUwsICc8Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1
c3RvbS1lbGVtZW50PicpOworCisgICAgYW5jaG9yLnZhbHVlID0gJ3dvcmxkJzsKKyAgICBhc3Nl
cnRfZXF1YWxzKGFuY2hvci5pbm5lckhUTUwsICd3b3JsZCcpOworICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydkaXNjb25uZWN0ZWQnXSk7Cit9LCAn
dmFsdWUgb24gSFRNTE91dHB1dEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxi
YWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCit0ZXN0X3dpdGhfd2luZG93
KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7CisgICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9j
dXN0b21fZWxlbWVudF9pbl93aW5kb3coY29udGVudFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50Jywg
W10pOworCisgICAgY29uc3QgY29udGVudERvY3VtZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVu
dDsKKyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBgPG91dHB1dD48Y3VzdG9t
LWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1lbGVtZW50Pjwvb3V0cHV0PmA7CisgICAgY29uc3QgYW5j
aG9yID0gY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ291dHB1dCcpOworCisgICAgYXNz
ZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVk
JywgJ2Nvbm5lY3RlZCddKTsKKyAgICBhc3NlcnRfZXF1YWxzKGFuY2hvci5pbm5lckhUTUwsICc8
Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1lbGVtZW50PicpOworCisgICAgYW5jaG9yLmRl
ZmF1bHRWYWx1ZSA9ICd3b3JsZCc7CisgICAgYXNzZXJ0X2VxdWFscyhhbmNob3IuaW5uZXJIVE1M
LCAnd29ybGQnKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5
cGVzKCksIFsnZGlzY29ubmVjdGVkJ10pOworfSwgJ2RlZmF1bHRWYWx1ZSBvbiBIVE1MT3V0cHV0
RWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBh
IGN1c3RvbSBlbGVtZW50Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxTZWxl
Y3RFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRz
L3JlYWN0aW9ucy9IVE1MU2VsZWN0RWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzZm
MWQ5N2QzNjk2NDQ3NDE3NzQ5ZDM5M2JjY2MxNmM3NGU2MzViNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MU2VsZWN0RWxl
bWVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgbGVuZ3RoIG9uIEhUTUxT
ZWxlY3RFbGVtZW50IG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGVuIHJlbW92
aW5nIGEgY3VzdG9tIGVsZW1lbnQgCitQQVNTIFRoZSBpbmRleGVkIHNldHRlciBvbiBIVE1MU2Vs
ZWN0RWxlbWVudCBtdXN0IGVucXVldWUgY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiBpbnNlcnRpbmcg
YSBjdXN0b20gZWxlbWVudCAKK1BBU1MgVGhlIGluZGV4ZWQgc2V0dGVyIG9uIEhUTUxTZWxlY3RF
bGVtZW50IG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGVuIHJlbW92aW5nIGEg
Y3VzdG9tIGVsZW1lbnQgCitQQVNTIGFkZCBvbiBIVE1MU2VsZWN0RWxlbWVudCBtdXN0IGVucXVl
dWUgY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiBpbnNlcnRpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BB
U1MgcmVtb3ZlIG9uIEhUTUxTZWxlY3RFbGVtZW50IG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRD
YWxsYmFjayB3aGVuIHJlbW92aW5nIGEgY3VzdG9tIGVsZW1lbnQgCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MU2VsZWN0RWxlbWVu
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxT
ZWxlY3RFbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWVlZDA1M2FiNTc3YmM3ZWI2YWY4ZjEzYjE2
NTU3ZTNlNmFiYzU0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9t
LWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MU2VsZWN0RWxlbWVudC5odG1sCkBAIC0wLDAgKzEsMTI1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Q3VzdG9tIEVsZW1l
bnRzOiBDRVJlYWN0aW9ucyBvbiBIVE1MU2VsZWN0RWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgor
PG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdhIiBocmVmPSJtYWlsdG86cm5p
d2FAd2Via2l0Lm9yZyI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9Imxlbmd0aCwgYWRk
LCByZW1vdmUsIGFuZCB0aGUgc2V0dGVyIG9mIEhUTUxTZWxlY3RFbGVtZW50IGludGVyZmFjZSBt
dXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIgY29udGVudD0iaHR0cHM6
Ly9kb20uc3BlYy53aGF0d2cub3JnLyNub2RlIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVz
b3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2FkZGl0aW9uYWwtaGVscGVycy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0PgorCit0ZXN0X3dpdGhfd2lu
ZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7CisgICAgY29uc3QgZWxlbWVudCA9IGRlZmlu
ZV9jdXN0b21fZWxlbWVudF9pbl93aW5kb3coY29udGVudFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50
JywgW10pOworCisgICAgY29uc3QgY29udGVudERvY3VtZW50ID0gY29udGVudFdpbmRvdy5kb2N1
bWVudDsKKyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBgPHNlbGVjdD48b3B0
aW9uPjwvb3B0aW9uPjwvc2VsZWN0PmA7CisgICAgY29uc3Qgb3B0aW9uID0gY29udGVudERvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ29wdGlvbicpOworCisgICAgY29uc3QgaW5zdGFuY2UgPSBjb250
ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudChlbGVtZW50Lm5hbWUpOworICAgIG9wdGlvbi5hcHBl
bmRDaGlsZChpbnN0YW5jZSk7CisgICAgaW5zdGFuY2UudGV4dENvbnRlbnQgPSAnaGVsbG8nOwor
CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2Nv
bnN0cnVjdGVkJywgJ2Nvbm5lY3RlZCddKTsKKyAgICBhc3NlcnRfZXF1YWxzKG9wdGlvbi5pbm5l
ckhUTUwsICc8Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1lbGVtZW50PicpOworCisgICAg
Y29uc3Qgc2VsZWN0ID0gY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlbGVjdCcpOwor
ICAgIGFzc2VydF9lcXVhbHMoc2VsZWN0Lmxlbmd0aCwgMSk7CisgICAgc2VsZWN0Lmxlbmd0aCA9
IDA7CisgICAgYXNzZXJ0X2VxdWFscyhzZWxlY3QuZmlyc3RDaGlsZCwgbnVsbCk7CisgICAgYXNz
ZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2Rpc2Nvbm5lY3Rl
ZCddKTsKK30sICdsZW5ndGggb24gSFRNTFNlbGVjdEVsZW1lbnQgbXVzdCBlbnF1ZXVlIGRpc2Nv
bm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCit0ZXN0
X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7CisgICAgY29uc3QgZWxlbWVu
dCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93aW5kb3coY29udGVudFdpbmRvdywgJ2N1c3Rv
bS1lbGVtZW50JywgW10pOworCisgICAgY29uc3QgY29udGVudERvY3VtZW50ID0gY29udGVudFdp
bmRvdy5kb2N1bWVudDsKKyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBgPHNl
bGVjdD48L3NlbGVjdD5gOworICAgIGNvbnN0IHNlbGVjdCA9IGNvbnRlbnREb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdzZWxlY3QnKTsKKworICAgIGNvbnN0IG9wdGlvbiA9IGNvbnRlbnREb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTsKKyAgICBjb25zdCBpbnN0YW5jZSA9IGNvbnRlbnRE
b2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnQubmFtZSk7CisgICAgb3B0aW9uLmFwcGVuZENo
aWxkKGluc3RhbmNlKTsKKyAgICBpbnN0YW5jZS50ZXh0Q29udGVudCA9ICdoZWxsbyc7CisKKyAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3Ry
dWN0ZWQnXSk7CisgICAgYXNzZXJ0X2VxdWFscyhvcHRpb24uaW5uZXJIVE1MLCAnPGN1c3RvbS1l
bGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVudD4nKTsKKworICAgIGFzc2VydF9lcXVhbHMoc2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoLCAwKTsKKyAgICBzZWxlY3RbMF0gPSBvcHRpb247CisgICAgYXNz
ZXJ0X2VxdWFscyhzZWxlY3Qub3B0aW9ucy5sZW5ndGgsIDEpOworICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25uZWN0ZWQnXSk7Cit9LCAnVGhl
IGluZGV4ZWQgc2V0dGVyIG9uIEhUTUxTZWxlY3RFbGVtZW50IG11c3QgZW5xdWV1ZSBjb25uZWN0
ZWRDYWxsYmFjayB3aGVuIGluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKK3Rlc3Rfd2l0
aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3cpIHsKKyAgICBjb25zdCBlbGVtZW50ID0g
ZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dpbmRvdyhjb250ZW50V2luZG93LCAnY3VzdG9tLWVs
ZW1lbnQnLCBbXSk7CisKKyAgICBjb25zdCBjb250ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93
LmRvY3VtZW50OworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGA8c2VsZWN0
PjxvcHRpb24+PC9vcHRpb24+PC9zZWxlY3Q+YDsKKyAgICBjb25zdCBvcHRpb24gPSBjb250ZW50
RG9jdW1lbnQucXVlcnlTZWxlY3Rvcignb3B0aW9uJyk7CisKKyAgICBjb25zdCBpbnN0YW5jZSA9
IGNvbnRlbnREb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnQubmFtZSk7CisgICAgb3B0aW9u
LmFwcGVuZENoaWxkKGluc3RhbmNlKTsKKyAgICBpbnN0YW5jZS50ZXh0Q29udGVudCA9ICdoZWxs
byc7CisKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCks
IFsnY29uc3RydWN0ZWQnLCAnY29ubmVjdGVkJ10pOworICAgIGFzc2VydF9lcXVhbHMob3B0aW9u
LmlubmVySFRNTCwgJzxjdXN0b20tZWxlbWVudD5oZWxsbzwvY3VzdG9tLWVsZW1lbnQ+Jyk7CisK
KyAgICBjb25zdCBzZWxlY3QgPSBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc2VsZWN0
Jyk7CisgICAgYXNzZXJ0X2VxdWFscyhzZWxlY3Qub3B0aW9uc1swXSwgb3B0aW9uKTsKKyAgICBz
ZWxlY3RbMF0gPSBudWxsOworICAgIGFzc2VydF9lcXVhbHMoc2VsZWN0Lm9wdGlvbnMubGVuZ3Ro
LCAwKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCks
IFsnZGlzY29ubmVjdGVkJ10pOworfSwgJ1RoZSBpbmRleGVkIHNldHRlciBvbiBIVE1MU2VsZWN0
RWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBh
IGN1c3RvbSBlbGVtZW50Jyk7CisKK3Rlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRX
aW5kb3cpIHsKKyAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dp
bmRvdyhjb250ZW50V2luZG93LCAnY3VzdG9tLWVsZW1lbnQnLCBbXSk7CisKKyAgICBjb25zdCBj
b250ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGNvbnRlbnREb2N1
bWVudC5ib2R5LmlubmVySFRNTCA9IGA8c2VsZWN0Pjwvc2VsZWN0PmA7CisgICAgY29uc3Qgc2Vs
ZWN0ID0gY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NlbGVjdCcpOworCisgICAgY29u
c3Qgb3B0aW9uID0gY29udGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpOworICAg
IGNvbnN0IGluc3RhbmNlID0gY29udGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5u
YW1lKTsKKyAgICBvcHRpb24uYXBwZW5kQ2hpbGQoaW5zdGFuY2UpOworICAgIGluc3RhbmNlLnRl
eHRDb250ZW50ID0gJ2hlbGxvJzsKKworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50
YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCddKTsKKyAgICBhc3NlcnRfZXF1YWxzKG9w
dGlvbi5pbm5lckhUTUwsICc8Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1lbGVtZW50Picp
OworCisgICAgYXNzZXJ0X2VxdWFscyhzZWxlY3Qub3B0aW9ucy5sZW5ndGgsIDApOworICAgIHNl
bGVjdC5hZGQob3B0aW9uKTsKKyAgICBhc3NlcnRfZXF1YWxzKHNlbGVjdC5vcHRpb25zLmxlbmd0
aCwgMSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygp
LCBbJ2Nvbm5lY3RlZCddKTsKK30sICdhZGQgb24gSFRNTFNlbGVjdEVsZW1lbnQgbXVzdCBlbnF1
ZXVlIGNvbm5lY3RlZENhbGxiYWNrIHdoZW4gaW5zZXJ0aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsK
KwordGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29udGVudFdpbmRvdykgeworICAgIGNvbnN0
IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1lbnRfaW5fd2luZG93KGNvbnRlbnRXaW5kb3cs
ICdjdXN0b20tZWxlbWVudCcsIFtdKTsKKworICAgIGNvbnN0IGNvbnRlbnREb2N1bWVudCA9IGNv
bnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgY29udGVudERvY3VtZW50LmJvZHkuaW5uZXJIVE1M
ID0gYDxzZWxlY3Q+PG9wdGlvbj48L29wdGlvbj48L3NlbGVjdD5gOworICAgIGNvbnN0IG9wdGlv
biA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdvcHRpb24nKTsKKworICAgIGNvbnN0
IGluc3RhbmNlID0gY29udGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVudC5uYW1lKTsK
KyAgICBvcHRpb24uYXBwZW5kQ2hpbGQoaW5zdGFuY2UpOworICAgIGluc3RhbmNlLnRleHRDb250
ZW50ID0gJ2hlbGxvJzsKKworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9n
KCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcsICdjb25uZWN0ZWQnXSk7CisgICAgYXNzZXJ0X2Vx
dWFscyhvcHRpb24uaW5uZXJIVE1MLCAnPGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20tZWxl
bWVudD4nKTsKKworICAgIGNvbnN0IHNlbGVjdCA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCdzZWxlY3QnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHNlbGVjdC5vcHRpb25zWzBdLCBvcHRp
b24pOworICAgIHNlbGVjdC5yZW1vdmUoMCk7CisgICAgYXNzZXJ0X2VxdWFscyhzZWxlY3Qub3B0
aW9ucy5sZW5ndGgsIDApOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9n
KCkudHlwZXMoKSwgWydkaXNjb25uZWN0ZWQnXSk7Cit9LCAncmVtb3ZlIG9uIEhUTUxTZWxlY3RF
bGVtZW50IG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGVuIHJlbW92aW5nIGEg
Y3VzdG9tIGVsZW1lbnQnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxl
RWxlbWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9y
ZWFjdGlvbnMvSFRNTFRhYmxlRWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzEzMWUx
MjJjZDUwMWQ2ZjViOTk4MmM2OGY5N2EzOGE0YjY3YmVjNQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVFbGVtZW50
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACisKK1BBU1MgY2FwdGlvbiBvbiBIVE1MVGFi
bGVFbGVtZW50IG11c3QgZW5xdWV1ZSBjb25uZWN0ZWRDYWxsYmFjayB3aGVuIGluc2VydGluZyBh
IGN1c3RvbSBlbGVtZW50IAorUEFTUyBjYXB0aW9uIG9uIEhUTUxUYWJsZUVsZW1lbnQgbXVzdCBl
bnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVu
dCAKK1BBU1MgZGVsZXRlQ2FwdGlvbigpIG9uIEhUTUxUYWJsZUVsZW1lbnQgbXVzdCBlbnF1ZXVl
IGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BB
U1MgdEhlYWQgb24gSFRNTFRhYmxlRWxlbWVudCBtdXN0IGVucXVldWUgY29ubmVjdGVkQ2FsbGJh
Y2sgd2hlbiBpbnNlcnRpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1MgdEhlYWQgb24gSFRNTFRh
YmxlRWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmlu
ZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkZWxldGVUSGVhZCgpIG9uIEhUTUxUYWJsZUVsZW1l
bnQgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0
b20gZWxlbWVudCAKK1BBU1MgdEZvb3Qgb24gSFRNTFRhYmxlRWxlbWVudCBtdXN0IGVucXVldWUg
Y29ubmVjdGVkQ2FsbGJhY2sgd2hlbiBpbnNlcnRpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1Mg
dEZvb3Qgb24gSFRNTFRhYmxlRWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJh
Y2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBlbGVtZW50IAorUEFTUyBkZWxldGVURm9vdCgpIG9u
IEhUTUxUYWJsZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4g
cmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1MgZGVsZXRlUm93KCkgb24gSFRNTFRhYmxl
RWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBh
IGN1c3RvbSBlbGVtZW50IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1l
bGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlRWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZUVsZW1lbnQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wZjkyYjYwNGYyZWEwZDhlNWQ2MDQ4NWYxZWIzNGY3YTcxNTdlNWQxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxU
YWJsZUVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDE5NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHRpdGxlPkN1c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTFRh
YmxlRWxlbWVudCBpbnRlcmZhY2U8L3RpdGxlPgorPG1ldGEgbmFtZT0iYXV0aG9yIiB0aXRsZT0i
Unlvc3VrZSBOaXdhIiBocmVmPSJtYWlsdG86cm5pd2FAd2Via2l0Lm9yZyI+Cis8bWV0YSBuYW1l
PSJhc3NlcnQiIGNvbnRlbnQ9ImNhcHRpb24sIGRlbGV0ZUNhcHRpb24sIHRoZWFkLCBkZWxldGVU
SGVhZCwgdEZvb3QsIGRlbGV0ZVRGb290LCBhbmQgZGVsZXRlUm93IG9mIEhUTUxUYWJsZUVsZW1l
bnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBj
b250ZW50PSJodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI25vZGUiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi8uLi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3Rv
bS1lbGVtZW50cy9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWRkaXRpb25hbC1oZWxwZXJzLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K3Rlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3cpIHsKKyAgICBjb25zdCBl
bGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dpbmRvdyhjb250ZW50V2luZG93LCAn
Y3VzdG9tLWVsZW1lbnQnLCBbXSk7CisKKyAgICBjb25zdCBjb250ZW50RG9jdW1lbnQgPSBjb250
ZW50V2luZG93LmRvY3VtZW50OworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmlubmVySFRNTCA9
IGA8dGFibGU+PC90YWJsZT5gOworICAgIGNvbnN0IHRhYmxlID0gY29udGVudERvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ3RhYmxlJyk7CisKKyAgICBjb25zdCBjYXB0aW9uID0gY29udGVudERvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2NhcHRpb24nKTsKKyAgICBjYXB0aW9uLmlubmVySFRNTCA9ICc8
Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1lbGVtZW50Pic7CisKKyAgICBhc3NlcnRfYXJy
YXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnXSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhjYXB0aW9uLmlubmVySFRNTCwgJzxjdXN0b20tZWxlbWVudD5oZWxs
bzwvY3VzdG9tLWVsZW1lbnQ+Jyk7CisKKyAgICBhc3NlcnRfZXF1YWxzKHRhYmxlLmNhcHRpb24s
IG51bGwpOworICAgIHRhYmxlLmNhcHRpb24gPSBjYXB0aW9uOworICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25uZWN0ZWQnXSk7Cit9LCAnY2Fw
dGlvbiBvbiBIVE1MVGFibGVFbGVtZW50IG11c3QgZW5xdWV1ZSBjb25uZWN0ZWRDYWxsYmFjayB3
aGVuIGluc2VydGluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKK3Rlc3Rfd2l0aF93aW5kb3coZnVu
Y3Rpb24gKGNvbnRlbnRXaW5kb3cpIHsKKyAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2N1c3Rv
bV9lbGVtZW50X2luX3dpbmRvdyhjb250ZW50V2luZG93LCAnY3VzdG9tLWVsZW1lbnQnLCBbXSk7
CisKKyAgICBjb25zdCBjb250ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50Owor
ICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGA8dGFibGU+PGNhcHRpb24+PGN1
c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVudD48L2NhcHRpb24+PC90YWJsZT5gOwor
ICAgIGNvbnN0IGNhcHRpb24gPSBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcignY2FwdGlv
bicpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwg
Wydjb25zdHJ1Y3RlZCcsICdjb25uZWN0ZWQnXSk7CisgICAgYXNzZXJ0X2VxdWFscyhjYXB0aW9u
LmlubmVySFRNTCwgJzxjdXN0b20tZWxlbWVudD5oZWxsbzwvY3VzdG9tLWVsZW1lbnQ+Jyk7CisK
KyAgICBjb25zdCB0YWJsZSA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0YWJsZScp
OworICAgIGFzc2VydF9lcXVhbHModGFibGUuY2FwdGlvbiwgY2FwdGlvbik7CisgICAgY29uc3Qg
bmV3Q2FwdGlvbiA9IGNvbnRlbnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYXB0aW9uJyk7Cisg
ICAgdGFibGUuY2FwdGlvbiA9IG5ld0NhcHRpb247IC8vIENocm9tZSBkb2Vzbid0IHN1cHBvcnQg
c2V0dGluZyB0byBudWxsLgorICAgIGFzc2VydF9lcXVhbHModGFibGUuY2FwdGlvbiwgbmV3Q2Fw
dGlvbik7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygp
LCBbJ2Rpc2Nvbm5lY3RlZCddKTsKK30sICdjYXB0aW9uIG9uIEhUTUxUYWJsZUVsZW1lbnQgbXVz
dCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxl
bWVudCcpOworCit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7Cisg
ICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93aW5kb3coY29udGVu
dFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50JywgW10pOworCisgICAgY29uc3QgY29udGVudERvY3Vt
ZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5p
bm5lckhUTUwgPSBgPHRhYmxlPjxjYXB0aW9uPjxjdXN0b20tZWxlbWVudD5oZWxsbzwvY3VzdG9t
LWVsZW1lbnQ+PC9jYXB0aW9uPjwvdGFibGU+YDsKKyAgICBjb25zdCBjYXB0aW9uID0gY29udGVu
dERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NhcHRpb24nKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1
YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnY29ubmVjdGVk
J10pOworICAgIGFzc2VydF9lcXVhbHMoY2FwdGlvbi5pbm5lckhUTUwsICc8Y3VzdG9tLWVsZW1l
bnQ+aGVsbG88L2N1c3RvbS1lbGVtZW50PicpOworCisgICAgY29uc3QgdGFibGUgPSBjb250ZW50
RG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGFibGUnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRhYmxl
LmNhcHRpb24sIGNhcHRpb24pOworICAgIGNvbnN0IG5ld0NhcHRpb24gPSBjb250ZW50RG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnY2FwdGlvbicpOworICAgIHRhYmxlLmRlbGV0ZUNhcHRpb24oKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHRhYmxlLmNhcHRpb24sIG51bGwpOworICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydkaXNjb25uZWN0ZWQnXSk7Cit9
LCAnZGVsZXRlQ2FwdGlvbigpIG9uIEhUTUxUYWJsZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGRpc2Nv
bm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCisKK3Rl
c3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3cpIHsKKyAgICBjb25zdCBlbGVt
ZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dpbmRvdyhjb250ZW50V2luZG93LCAnY3Vz
dG9tLWVsZW1lbnQnLCBbXSk7CisKKyAgICBjb25zdCBjb250ZW50RG9jdW1lbnQgPSBjb250ZW50
V2luZG93LmRvY3VtZW50OworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGA8
dGFibGU+PC90YWJsZT5gOworICAgIGNvbnN0IHRhYmxlID0gY29udGVudERvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ3RhYmxlJyk7CisKKyAgICBjb25zdCB0aGVhZCA9IGNvbnRlbnREb2N1bWVudC5j
cmVhdGVFbGVtZW50KCd0aGVhZCcpOworICAgIHRoZWFkLmlubmVySFRNTCA9ICc8dHI+PHRkPjxj
dXN0b20tZWxlbWVudD5oZWxsbzwvY3VzdG9tLWVsZW1lbnQ+PC90ZD48L3RyPic7CisKKyAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0
ZWQnXSk7CisgICAgYXNzZXJ0X2VxdWFscyh0aGVhZC5pbm5lckhUTUwsICc8dHI+PHRkPjxjdXN0
b20tZWxlbWVudD5oZWxsbzwvY3VzdG9tLWVsZW1lbnQ+PC90ZD48L3RyPicpOworCisgICAgYXNz
ZXJ0X2VxdWFscyh0YWJsZS50SGVhZCwgbnVsbCk7CisgICAgdGFibGUudEhlYWQgPSB0aGVhZDsK
KyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29u
bmVjdGVkJ10pOworfSwgJ3RIZWFkIG9uIEhUTUxUYWJsZUVsZW1lbnQgbXVzdCBlbnF1ZXVlIGNv
bm5lY3RlZENhbGxiYWNrIHdoZW4gaW5zZXJ0aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKwordGVz
dF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29udGVudFdpbmRvdykgeworICAgIGNvbnN0IGVsZW1l
bnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1lbnRfaW5fd2luZG93KGNvbnRlbnRXaW5kb3csICdjdXN0
b20tZWxlbWVudCcsIFtdKTsKKworICAgIGNvbnN0IGNvbnRlbnREb2N1bWVudCA9IGNvbnRlbnRX
aW5kb3cuZG9jdW1lbnQ7CisgICAgY29udGVudERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gYDx0
YWJsZT48dGhlYWQ+PHRyPjx0ZD48Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1lbGVtZW50
PjwvdGQ+PC90cj48L3RoZWFkPjwvdGFibGU+YDsKKyAgICBjb25zdCB0aGVhZCA9IGNvbnRlbnRE
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0aGVhZCcpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
ZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcsICdjb25uZWN0ZWQnXSk7
CisgICAgYXNzZXJ0X2VxdWFscyh0aGVhZC5pbm5lckhUTUwsICc8dHI+PHRkPjxjdXN0b20tZWxl
bWVudD5oZWxsbzwvY3VzdG9tLWVsZW1lbnQ+PC90ZD48L3RyPicpOworCisgICAgY29uc3QgdGFi
bGUgPSBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGFibGUnKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHRhYmxlLnRIZWFkLCB0aGVhZCk7CisgICAgY29uc3QgbmV3VGhlYWQgPSBjb250ZW50
RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGhlYWQnKTsKKyAgICB0YWJsZS50SGVhZCA9IG5ld1Ro
ZWFkOyAvLyBDaHJvbWUgZG9lc24ndCBzdXBwb3J0IHNldHRpbmcgdG8gbnVsbC4KKyAgICBhc3Nl
cnRfZXF1YWxzKHRhYmxlLnRIZWFkLCBuZXdUaGVhZCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2Rpc2Nvbm5lY3RlZCddKTsKK30sICd0SGVh
ZCBvbiBIVE1MVGFibGVFbGVtZW50IG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3
aGVuIHJlbW92aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsKKwordGVzdF93aXRoX3dpbmRvdyhmdW5j
dGlvbiAoY29udGVudFdpbmRvdykgeworICAgIGNvbnN0IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9t
X2VsZW1lbnRfaW5fd2luZG93KGNvbnRlbnRXaW5kb3csICdjdXN0b20tZWxlbWVudCcsIFtdKTsK
KworICAgIGNvbnN0IGNvbnRlbnREb2N1bWVudCA9IGNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7Cisg
ICAgY29udGVudERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gYDx0YWJsZT48dGhlYWQ+PHRyPjx0
ZD48Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1lbGVtZW50PjwvdGQ+PC90cj48L3RoZWFk
PjwvdGFibGU+YDsKKyAgICBjb25zdCB0aGVhZCA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCd0aGVhZCcpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCku
dHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcsICdjb25uZWN0ZWQnXSk7CisgICAgYXNzZXJ0X2VxdWFs
cyh0aGVhZC5pbm5lckhUTUwsICc8dHI+PHRkPjxjdXN0b20tZWxlbWVudD5oZWxsbzwvY3VzdG9t
LWVsZW1lbnQ+PC90ZD48L3RyPicpOworCisgICAgY29uc3QgdGFibGUgPSBjb250ZW50RG9jdW1l
bnQucXVlcnlTZWxlY3RvcigndGFibGUnKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRhYmxlLnRIZWFk
LCB0aGVhZCk7CisgICAgdGFibGUuZGVsZXRlVEhlYWQoKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRh
YmxlLnRIZWFkLCBudWxsKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxv
ZygpLnR5cGVzKCksIFsnZGlzY29ubmVjdGVkJ10pOworfSwgJ2RlbGV0ZVRIZWFkKCkgb24gSFRN
TFRhYmxlRWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1v
dmluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKKwordGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAo
Y29udGVudFdpbmRvdykgeworICAgIGNvbnN0IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1l
bnRfaW5fd2luZG93KGNvbnRlbnRXaW5kb3csICdjdXN0b20tZWxlbWVudCcsIFtdKTsKKworICAg
IGNvbnN0IGNvbnRlbnREb2N1bWVudCA9IGNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgY29u
dGVudERvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gYDx0YWJsZT48L3RhYmxlPmA7CisgICAgY29u
c3QgdGFibGUgPSBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGFibGUnKTsKKworICAg
IGNvbnN0IHRmb290ID0gY29udGVudERvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Rmb290Jyk7Cisg
ICAgdGZvb3QuaW5uZXJIVE1MID0gJzx0cj48dGQ+PGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0
b20tZWxlbWVudD48L3RkPjwvdHI+JzsKKworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVu
dC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCddKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHRmb290LmlubmVySFRNTCwgJzx0cj48dGQ+PGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20t
ZWxlbWVudD48L3RkPjwvdHI+Jyk7CisKKyAgICBhc3NlcnRfZXF1YWxzKHRhYmxlLnRGb290LCBu
dWxsKTsKKyAgICB0YWJsZS50Rm9vdCA9IHRmb290OworICAgIGFzc2VydF9hcnJheV9lcXVhbHMo
ZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25uZWN0ZWQnXSk7Cit9LCAndEZvb3Qgb24g
SFRNTFRhYmxlRWxlbWVudCBtdXN0IGVucXVldWUgY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiBpbnNl
cnRpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChj
b250ZW50V2luZG93KSB7CisgICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVu
dF9pbl93aW5kb3coY29udGVudFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50JywgW10pOworCisgICAg
Y29uc3QgY29udGVudERvY3VtZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb250
ZW50RG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBgPHRhYmxlPjx0Zm9vdD48dHI+PHRkPjxjdXN0
b20tZWxlbWVudD5oZWxsbzwvY3VzdG9tLWVsZW1lbnQ+PC90ZD48L3RyPjwvdGZvb3Q+PC90YWJs
ZT5gOworICAgIGNvbnN0IHRmb290ID0gY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Rm
b290Jyk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygp
LCBbJ2NvbnN0cnVjdGVkJywgJ2Nvbm5lY3RlZCddKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRmb290
LmlubmVySFRNTCwgJzx0cj48dGQ+PGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVu
dD48L3RkPjwvdHI+Jyk7CisKKyAgICBjb25zdCB0YWJsZSA9IGNvbnRlbnREb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCd0YWJsZScpOworICAgIGFzc2VydF9lcXVhbHModGFibGUudEZvb3QsIHRmb290
KTsKKyAgICBjb25zdCBuZXdUaGVhZCA9IGNvbnRlbnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0
Zm9vdCcpOworICAgIHRhYmxlLnRGb290ID0gbmV3VGhlYWQ7IC8vIENocm9tZSBkb2Vzbid0IHN1
cHBvcnQgc2V0dGluZyB0byBudWxsLgorICAgIGFzc2VydF9lcXVhbHModGFibGUudEZvb3QsIG5l
d1RoZWFkKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVz
KCksIFsnZGlzY29ubmVjdGVkJ10pOworfSwgJ3RGb290IG9uIEhUTUxUYWJsZUVsZW1lbnQgbXVz
dCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxl
bWVudCcpOworCit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7Cisg
ICAgY29uc3QgZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93aW5kb3coY29udGVu
dFdpbmRvdywgJ2N1c3RvbS1lbGVtZW50JywgW10pOworCisgICAgY29uc3QgY29udGVudERvY3Vt
ZW50ID0gY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5p
bm5lckhUTUwgPSBgPHRhYmxlPjx0Zm9vdD48dHI+PHRkPjxjdXN0b20tZWxlbWVudD5oZWxsbzwv
Y3VzdG9tLWVsZW1lbnQ+PC90ZD48L3RyPjwvdGZvb3Q+PC90YWJsZT5gOworICAgIGNvbnN0IHRm
b290ID0gY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Rmb290Jyk7CisgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVkJywg
J2Nvbm5lY3RlZCddKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRmb290LmlubmVySFRNTCwgJzx0cj48
dGQ+PGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVudD48L3RkPjwvdHI+Jyk7CisK
KyAgICBjb25zdCB0YWJsZSA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0YWJsZScp
OworICAgIGFzc2VydF9lcXVhbHModGFibGUudEZvb3QsIHRmb290KTsKKyAgICB0YWJsZS5kZWxl
dGVURm9vdCgpOworICAgIGFzc2VydF9lcXVhbHModGFibGUudEZvb3QsIG51bGwpOworICAgIGFz
c2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydkaXNjb25uZWN0
ZWQnXSk7Cit9LCAnZGVsZXRlVEZvb3QoKSBvbiBIVE1MVGFibGVFbGVtZW50IG11c3QgZW5xdWV1
ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGVuIHJlbW92aW5nIGEgY3VzdG9tIGVsZW1lbnQnKTsK
KworCit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7CisgICAgY29u
c3QgZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93aW5kb3coY29udGVudFdpbmRv
dywgJ2N1c3RvbS1lbGVtZW50JywgW10pOworCisgICAgY29uc3QgY29udGVudERvY3VtZW50ID0g
Y29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBjb250ZW50RG9jdW1lbnQuYm9keS5pbm5lckhU
TUwgPSBgPHRhYmxlPjx0cj48dGQ+PGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVu
dD48L3RkPjwvdHI+PC90YWJsZT5gOworICAgIGNvbnN0IHRyID0gY29udGVudERvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ3RyJyk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhlbGVtZW50LnRha2VM
b2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVkJywgJ2Nvbm5lY3RlZCddKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHRyLmlubmVySFRNTCwgJzx0ZD48Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1l
bGVtZW50PjwvdGQ+Jyk7CisKKyAgICBjb25zdCB0YWJsZSA9IGNvbnRlbnREb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCd0YWJsZScpOworICAgIGFzc2VydF9lcXVhbHModGFibGUucm93cy5sZW5ndGgs
IDEpOworICAgIGFzc2VydF9lcXVhbHModGFibGUucm93c1swXSwgdHIpOworICAgIHRhYmxlLmRl
bGV0ZVJvdygwKTsKKyAgICBhc3NlcnRfZXF1YWxzKHRhYmxlLnJvd3MubGVuZ3RoLCAwKTsKKyAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnZGlzY29u
bmVjdGVkJ10pOworfSwgJ2RlbGV0ZVJvdygpIG9uIEhUTUxUYWJsZUVsZW1lbnQgbXVzdCBlbnF1
ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCcp
OworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVSb3dFbGVtZW50LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1M
VGFibGVSb3dFbGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYzYyMTE3OWQxODk3MTBl
NTcyMDg2MjMzOGZjZGJlNjU0ZGZhZTVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZVJvd0VsZW1lbnQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIGRlbGV0ZUNlbGwoKSBvbiBIVE1MVGFibGVS
b3dFbGVtZW50IG11c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGVuIHJlbW92aW5n
IGEgY3VzdG9tIGVsZW1lbnQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9t
LWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVSb3dFbGVtZW50Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRhYmxlUm93RWxlbWVudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjlmZGUwZDc2NWJkNDJiZjM2NmI0MTM2OTkxM2JlMTZkOWU5MjdhZDcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlv
bnMvSFRNTFRhYmxlUm93RWxlbWVudC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IENFUmVhY3Rpb25z
IG9uIEhUTUxUYWJsZVJvd0VsZW1lbnQgaW50ZXJmYWNlPC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1
dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmci
PgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJkZWxldGVDZWxsIG9mIEhUTUxUYWJsZVJv
d0VsZW1lbnQgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJo
ZWxwIiBjb250ZW50PSJodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcvI25vZGUiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWRkaXRpb25hbC1oZWxwZXJzLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3Jp
cHQ+CisKK3Rlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3cpIHsKKyAgICBj
b25zdCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dpbmRvdyhjb250ZW50V2lu
ZG93LCAnY3VzdG9tLWVsZW1lbnQnLCBbXSk7CisKKyAgICBjb25zdCBjb250ZW50RG9jdW1lbnQg
PSBjb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmlubmVy
SFRNTCA9IGA8dGFibGU+PHRyPjx0ZD48Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1c3RvbS1lbGVt
ZW50PjwvdGQ+PC90cj48L3RhYmxlPmA7CisgICAgY29uc3QgdGQgPSBjb250ZW50RG9jdW1lbnQu
cXVlcnlTZWxlY3RvcigndGQnKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFr
ZUxvZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnY29ubmVjdGVkJ10pOworICAgIGFzc2Vy
dF9lcXVhbHModGQuaW5uZXJIVE1MLCAnPGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20tZWxl
bWVudD4nKTsKKworICAgIGNvbnN0IHRhYmxlID0gY29udGVudERvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJ3RhYmxlJyk7CisgICAgY29uc3Qgcm93ID0gdGFibGUucm93c1swXTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHJvdy5jZWxsc1swXSwgdGQpOworICAgIHJvdy5kZWxldGVDZWxsKDApOworICAgIGFz
c2VydF9lcXVhbHMocm93LmNlbGxzLmxlbmd0aCwgMCk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2Rpc2Nvbm5lY3RlZCddKTsKK30sICdkZWxl
dGVDZWxsKCkgb24gSFRNTFRhYmxlUm93RWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVk
Q2FsbGJhY2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxl
bWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVTZWN0aW9u
RWxlbWVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWEwNGJjYTA0MDlhYjk1YWYxMzMyMzMw
NTVlNzIyNTA1YjNmODVkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Vz
dG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgZGVsZXRlUm93KCkgb24gSFRNTFRhYmxlU2VjdGlv
bkVsZW1lbnQgb24gdGhlYWQgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNrIHdoZW4g
cmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCAKK1BBU1MgZGVsZXRlUm93KCkgb24gSFRNTFRhYmxl
U2VjdGlvbkVsZW1lbnQgb24gdGZvb3QgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxiYWNr
IHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRh
YmxlU2VjdGlvbkVsZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMDk4NWRhMTE1NmZjMjcyMDJiN2Nj
NjhlNDY2YTM5Zjk4MGEzNTU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
dXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50Lmh0bWwKQEAg
LTAsMCArMSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkN1
c3RvbSBFbGVtZW50czogQ0VSZWFjdGlvbnMgb24gSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgaW50
ZXJmYWNlPC90aXRsZT4KKzxtZXRhIG5hbWU9ImF1dGhvciIgdGl0bGU9IlJ5b3N1a2UgTml3YSIg
aHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250
ZW50PSJkZWxldGVSb3cgb2YgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQgaW50ZXJmYWNlIG11c3Qg
aGF2ZSBDRVJlYWN0aW9ucyI+Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2Rv
bS5zcGVjLndoYXR3Zy5vcmcvI25vZGUiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZXNvdXJj
ZXMvY3VzdG9tLWVsZW1lbnRzLWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3Jl
YWN0aW9ucy9yZXNvdXJjZXMvcmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9yZXNvdXJjZXMvYWRkaXRpb25hbC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3Rlc3Rfd2l0aF93aW5kb3co
ZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3cpIHsKKyAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2N1
c3RvbV9lbGVtZW50X2luX3dpbmRvdyhjb250ZW50V2luZG93LCAnY3VzdG9tLWVsZW1lbnQnLCBb
XSk7CisKKyAgICBjb25zdCBjb250ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50
OworICAgIGNvbnRlbnREb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGA8dGFibGU+PHRoZWFkPjx0
cj48dGQ+PGN1c3RvbS1lbGVtZW50PmhlbGxvPC9jdXN0b20tZWxlbWVudD48L3RkPjwvdHI+PC90
aGVhZD48L3RhYmxlPmA7CisgICAgY29uc3QgdGhlYWQgPSBjb250ZW50RG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigndGhlYWQnKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxv
ZygpLnR5cGVzKCksIFsnY29uc3RydWN0ZWQnLCAnY29ubmVjdGVkJ10pOworICAgIGFzc2VydF9l
cXVhbHModGhlYWQuaW5uZXJIVE1MLCAnPHRyPjx0ZD48Y3VzdG9tLWVsZW1lbnQ+aGVsbG88L2N1
c3RvbS1lbGVtZW50PjwvdGQ+PC90cj4nKTsKKworICAgIGNvbnN0IHRhYmxlID0gY29udGVudERv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RhYmxlJyk7CisgICAgYXNzZXJ0X2VxdWFscyh0YWJsZS50
SGVhZCwgdGhlYWQpOworICAgIHRhYmxlLnRIZWFkLmRlbGV0ZVJvdygwKTsKKyAgICBhc3NlcnRf
YXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnZGlzY29ubmVjdGVkJ10p
OworfSwgJ2RlbGV0ZVJvdygpIG9uIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50IG9uIHRoZWFkIG11
c3QgZW5xdWV1ZSBkaXNjb25uZWN0ZWRDYWxsYmFjayB3aGVuIHJlbW92aW5nIGEgY3VzdG9tIGVs
ZW1lbnQnKTsKKwordGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29udGVudFdpbmRvdykgewor
ICAgIGNvbnN0IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1lbnRfaW5fd2luZG93KGNvbnRl
bnRXaW5kb3csICdjdXN0b20tZWxlbWVudCcsIFtdKTsKKworICAgIGNvbnN0IGNvbnRlbnREb2N1
bWVudCA9IGNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgY29udGVudERvY3VtZW50LmJvZHku
aW5uZXJIVE1MID0gYDx0YWJsZT48dGZvb3Q+PHRyPjx0ZD48Y3VzdG9tLWVsZW1lbnQ+aGVsbG88
L2N1c3RvbS1lbGVtZW50PjwvdGQ+PC90cj48L3Rmb290PjwvdGFibGU+YDsKKyAgICBjb25zdCB0
Zm9vdCA9IGNvbnRlbnREb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0Zm9vdCcpOworICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcs
ICdjb25uZWN0ZWQnXSk7CisgICAgYXNzZXJ0X2VxdWFscyh0Zm9vdC5pbm5lckhUTUwsICc8dHI+
PHRkPjxjdXN0b20tZWxlbWVudD5oZWxsbzwvY3VzdG9tLWVsZW1lbnQ+PC90ZD48L3RyPicpOwor
CisgICAgY29uc3QgdGFibGUgPSBjb250ZW50RG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGFibGUn
KTsKKyAgICBhc3NlcnRfZXF1YWxzKHRhYmxlLnRGb290LCB0Zm9vdCk7CisgICAgdGFibGUudEZv
b3QuZGVsZXRlUm93KDApOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9n
KCkudHlwZXMoKSwgWydkaXNjb25uZWN0ZWQnXSk7Cit9LCAnZGVsZXRlUm93KCkgb24gSFRNTFRh
YmxlU2VjdGlvbkVsZW1lbnQgb24gdGZvb3QgbXVzdCBlbnF1ZXVlIGRpc2Nvbm5lY3RlZENhbGxi
YWNrIHdoZW4gcmVtb3ZpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRz
L3JlYWN0aW9ucy9IVE1MVGl0bGVFbGVtZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9IVE1MVGl0bGVFbGVtZW50LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kNzZhYzNmMjVlYjRmMDk2YzgxN2UzODhjNmY5YzJlM2JhYzcyZWFhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rp
b25zL0hUTUxUaXRsZUVsZW1lbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IHRleHQgb24gSFRNTFRpdGxlRWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJh
Y2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBlbGVtZW50IAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvSFRNTFRpdGxlRWxlbWVudC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL0hUTUxUaXRsZUVs
ZW1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hY2U4MzJhZTk1OTFhMTgyYjg5ZGNmYWQ0Zjg2MDJlMGM5
YTI0MTg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL0hUTUxUaXRsZUVsZW1lbnQuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJl
YWN0aW9ucyBvbiBIVE1MVGl0bGVFbGVtZW50IGludGVyZmFjZTwvdGl0bGU+Cis8bWV0YSBuYW1l
PSJhdXRob3IiIHRpdGxlPSJSeW9zdWtlIE5pd2EiIGhyZWY9Im1haWx0bzpybml3YUB3ZWJraXQu
b3JnIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0idGV4dCBvZiBIVE1MVGl0bGVFbGVt
ZW50IGludGVyZmFjZSBtdXN0IGhhdmUgQ0VSZWFjdGlvbnMiPgorPG1ldGEgbmFtZT0iaGVscCIg
Y29udGVudD0iaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNub2RlIj4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvcmVzb3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvcmVzb3VyY2VzL3JlYWN0aW9ucy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FkZGl0aW9uYWwtaGVscGVycy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0Pgor
Cit0ZXN0X3dpdGhfd2luZG93KGZ1bmN0aW9uIChjb250ZW50V2luZG93KSB7CisgICAgY29uc3Qg
ZWxlbWVudCA9IGRlZmluZV9jdXN0b21fZWxlbWVudF9pbl93aW5kb3coY29udGVudFdpbmRvdywg
J2N1c3RvbS1lbGVtZW50JywgW10pOworICAgIGNvbnN0IGluc3RhbmNlID0gY29udGVudFdpbmRv
dy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnQubmFtZSk7CisgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhlbGVtZW50LnRha2VMb2coKS50eXBlcygpLCBbJ2NvbnN0cnVjdGVkJ10pOworCisg
ICAgY29udGVudFdpbmRvdy5kb2N1bWVudC50aXRsZSA9ICdoZWxsbyc7CisgICAgdmFyIHRpdGxl
RWxlbWVudCA9IGNvbnRlbnRXaW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGl0bGUnKTsK
KyAgICB0aXRsZUVsZW1lbnQuYXBwZW5kQ2hpbGQoaW5zdGFuY2UpOworICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25uZWN0ZWQnXSk7CisgICAg
YXNzZXJ0X2VxdWFscyh0aXRsZUVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGgsIDIpOworCisgICAg
dGl0bGVFbGVtZW50LnRleHQgPSAnd29ybGQnOworICAgIGFzc2VydF9lcXVhbHModGl0bGVFbGVt
ZW50LmNoaWxkTm9kZXMubGVuZ3RoLCAxKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1l
bnQudGFrZUxvZygpLnR5cGVzKCksIFsnZGlzY29ubmVjdGVkJ10pOworfSwgJ3RleHQgb24gSFRN
TFRpdGxlRWxlbWVudCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1v
dmluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL1No
YWRvd1Jvb3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMv
cmVhY3Rpb25zL1NoYWRvd1Jvb3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzY2MzYmQwOTMw
ZjYzMmI2NTU2MWM1MzEyMzU3NTNmYmQxNmY4NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvU2hhZG93Um9vdC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgaW5uZXJIVE1MIG9uIFNoYWRvd1Jvb3QgbXVzdCB1
cGdyYWRlIGEgY3VzdG9tIGVsZW1lbnQgCitQQVNTIGlubmVySFRNTCBvbiBTaGFkb3dSb290IG11
c3QgZW5xdWV1ZSBjb25uZWN0ZWRDYWxsYmFjayBvbiBuZXdseSB1cGdyYWRlZCBjdXN0b20gZWxl
bWVudHMgd2hlbiB0aGUgc2hhZG93IHJvb3QgaXMgY29ubmVjdGVkIAorUEFTUyBpbm5lckhUTUwg
b24gU2hhZG93Um9vdCBtdXN0IGVucXVldWUgZGlzY29ubmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1v
dmluZyBhIGN1c3RvbSBlbGVtZW50IAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2N1
c3RvbS1lbGVtZW50cy9yZWFjdGlvbnMvU2hhZG93Um9vdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL1NoYWRvd1Jvb3QuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
YjNhMzkyNGNmYWYyNjUwOGY2ODg2YmFiMGEwNWU4YjcwMTk5NzFkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL1NoYWRvd1Jvb3Qu
aHRtbApAQCAtMCwwICsxLDU5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBDRVJlYWN0aW9ucyBvbiBTaGFkb3dSb290IGludGVyZmFj
ZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJhdXRob3IiIHRpdGxlPSJSeW9zdWtlIE5pd2EiIGhyZWY9
Im1haWx0bzpybml3YUB3ZWJraXQub3JnIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0i
aW5uZXJIVE1MIG9mIFNoYWRvd1Jvb3QgaW50ZXJmYWNlIG11c3QgaGF2ZSBDRVJlYWN0aW9ucyI+
Cis8bWV0YSBuYW1lPSJoZWxwIiBjb250ZW50PSJodHRwczovL2RvbS5zcGVjLndoYXR3Zy5vcmcv
I25vZGUiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9yZXNvdXJjZXMvY3VzdG9tLWVsZW1lbnRz
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9yZXNvdXJjZXMv
cmVhY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvYWRkaXRp
b25hbC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0ibG9n
Ij48L2Rpdj4KKzxzY3JpcHQ+CisKK3Rlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRX
aW5kb3cpIHsKKyAgICBjb25zdCBlbGVtZW50ID0gZGVmaW5lX2N1c3RvbV9lbGVtZW50X2luX3dp
bmRvdyhjb250ZW50V2luZG93LCAnY3VzdG9tLWVsZW1lbnQnLCBbXSk7CisKKyAgICBjb25zdCBj
b250ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGNvbnN0IGhvc3Qg
PSBjb250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgY29uc3Qgc2hhZG93
Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHttb2RlOiAnY2xvc2VkJ30pOworICAgIHNoYWRvd1Jv
b3QuaW5uZXJIVE1MID0gJzxjdXN0b20tZWxlbWVudD48L2N1c3RvbS1lbGVtZW50Pic7CisKKyAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGVsZW1lbnQudGFrZUxvZygpLnR5cGVzKCksIFsnY29uc3Ry
dWN0ZWQnXSk7Cit9LCAnaW5uZXJIVE1MIG9uIFNoYWRvd1Jvb3QgbXVzdCB1cGdyYWRlIGEgY3Vz
dG9tIGVsZW1lbnQnKTsKKwordGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29udGVudFdpbmRv
dykgeworICAgIGNvbnN0IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1lbnRfaW5fd2luZG93
KGNvbnRlbnRXaW5kb3csICdjdXN0b20tZWxlbWVudCcsIFtdKTsKKworICAgIGNvbnN0IGNvbnRl
bnREb2N1bWVudCA9IGNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgY29uc3QgaG9zdCA9IGNv
bnRlbnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBjb250ZW50RG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChob3N0KTsKKyAgICBjb25zdCBzaGFkb3dSb290ID0gaG9zdC5hdHRh
Y2hTaGFkb3coe21vZGU6ICdjbG9zZWQnfSk7CisgICAgc2hhZG93Um9vdC5pbm5lckhUTUwgPSAn
PGN1c3RvbS1lbGVtZW50PjwvY3VzdG9tLWVsZW1lbnQ+JzsKKworICAgIGFzc2VydF9hcnJheV9l
cXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcsICdjb25uZWN0
ZWQnXSk7Cit9LCAnaW5uZXJIVE1MIG9uIFNoYWRvd1Jvb3QgbXVzdCBlbnF1ZXVlIGNvbm5lY3Rl
ZENhbGxiYWNrIG9uIG5ld2x5IHVwZ3JhZGVkIGN1c3RvbSBlbGVtZW50cyB3aGVuIHRoZSBzaGFk
b3cgcm9vdCBpcyBjb25uZWN0ZWQnKTsKKwordGVzdF93aXRoX3dpbmRvdyhmdW5jdGlvbiAoY29u
dGVudFdpbmRvdykgeworICAgIGNvbnN0IGVsZW1lbnQgPSBkZWZpbmVfY3VzdG9tX2VsZW1lbnRf
aW5fd2luZG93KGNvbnRlbnRXaW5kb3csICdjdXN0b20tZWxlbWVudCcsIFtdKTsKKworICAgIGNv
bnN0IGNvbnRlbnREb2N1bWVudCA9IGNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgY29uc3Qg
aG9zdCA9IGNvbnRlbnREb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBjb250ZW50
RG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChob3N0KTsKKworICAgIGNvbnN0IHNoYWRvd1Jvb3Qg
PSBob3N0LmF0dGFjaFNoYWRvdyh7bW9kZTogJ2Nsb3NlZCd9KTsKKyAgICBzaGFkb3dSb290Lmlu
bmVySFRNTCA9ICc8Y3VzdG9tLWVsZW1lbnQ+PC9jdXN0b20tZWxlbWVudD4nOworICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydjb25zdHJ1Y3RlZCcs
ICdjb25uZWN0ZWQnXSk7CisKKyAgICBzaGFkb3dSb290LmlubmVySFRNTCA9ICcnOworICAgIGFz
c2VydF9hcnJheV9lcXVhbHMoZWxlbWVudC50YWtlTG9nKCkudHlwZXMoKSwgWydkaXNjb25uZWN0
ZWQnXSk7CisKK30sICdpbm5lckhUTUwgb24gU2hhZG93Um9vdCBtdXN0IGVucXVldWUgZGlzY29u
bmVjdGVkQ2FsbGJhY2sgd2hlbiByZW1vdmluZyBhIGN1c3RvbSBlbGVtZW50Jyk7CisKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0
b20tZWxlbWVudHMvcmVzb3VyY2VzL2FkZGl0aW9uYWwtaGVscGVycy5qcyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy9hZGRpdGlvbmFsLWhlbHBlcnMuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2JiOTE4ZWM3NTU1OGZhZDQ0ZTM1YzhjZmViYWY1Njk0ZWNmMWM5OAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3Jlc291cmNlcy9h
ZGRpdGlvbmFsLWhlbHBlcnMuanMKQEAgLTAsMCArMSw0OCBAQAorZnVuY3Rpb24gY3JlYXRlX2Nv
bnN0cnVjdG9yX2xvZyhlbGVtZW50KSB7CisgICAgcmV0dXJuIHt0eXBlOiAnY29uc3RydWN0ZWQn
LCBlbGVtZW50OiBlbGVtZW50fTsKK30KKworZnVuY3Rpb24gYXNzZXJ0X2NvbnN0cnVjdG9yX2xv
Z19lbnRyeShsb2csIGVsZW1lbnQpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGxvZy50eXBlLCAnY29u
c3RydWN0ZWQnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGxvZy5lbGVtZW50LCBlbGVtZW50KTsKK30K
KworZnVuY3Rpb24gY3JlYXRlX2Nvbm5lY3RlZF9jYWxsYmFja19sb2coZWxlbWVudCkgeworICAg
IHJldHVybiB7dHlwZTogJ2Nvbm5lY3RlZCcsIGVsZW1lbnQ6IGVsZW1lbnR9OworfQorCitmdW5j
dGlvbiBhc3NlcnRfY29ubmVjdGVkX2xvZ19lbnRyeShsb2csIGVsZW1lbnQpIHsKKyAgICBhc3Nl
cnRfZXF1YWxzKGxvZy50eXBlLCAnY29ubmVjdGVkJyk7CisgICAgYXNzZXJ0X2VxdWFscyhsb2cu
ZWxlbWVudCwgZWxlbWVudCk7Cit9CisKK2Z1bmN0aW9uIGRlZmluZV9jdXN0b21fZWxlbWVudF9p
bl93aW5kb3cod2luZG93LCBuYW1lLCBvYnNlcnZlZEF0dHJpYnV0ZXMpIHsKKyAgICBsZXQgbG9n
ID0gW107CisKKyAgICBjbGFzcyBDdXN0b21FbGVtZW50IGV4dGVuZHMgd2luZG93LkhUTUxFbGVt
ZW50IHsKKyAgICAgICAgY29uc3RydWN0b3IoKSB7CisgICAgICAgICAgICBzdXBlcigpOworICAg
ICAgICAgICAgbG9nLnB1c2goe3R5cGU6ICdjb25zdHJ1Y3RlZCcsIGVsZW1lbnQ6IHRoaXN9KTsK
KyAgICAgICAgfQorICAgICAgICBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soLi4uYXJncykgewor
ICAgICAgICAgICAgbG9nLnB1c2goY3JlYXRlX2F0dHJpYnV0ZV9jaGFuZ2VkX2NhbGxiYWNrX2xv
Zyh0aGlzLCAuLi5hcmdzKSk7CisgICAgICAgIH0KKyAgICAgICAgY29ubmVjdGVkQ2FsbGJhY2so
KSB7IGxvZy5wdXNoKHt0eXBlOiAnY29ubmVjdGVkJywgZWxlbWVudDogdGhpc30pOyB9CisgICAg
ICAgIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCkgeyBsb2cucHVzaCh7dHlwZTogJ2Rpc2Nvbm5lY3Rl
ZCcsIGVsZW1lbnQ6IHRoaXN9KTsgfQorICAgICAgICBhZG9wdGVkQ2FsbGJhY2sob2xkRG9jdW1l
bnQsIG5ld0RvY3VtZW50KSB7IGxvZy5wdXNoKHt0eXBlOiAnYWRvcHRlZCcsIGVsZW1lbnQ6IHRo
aXMsIG9sZERvY3VtZW50OiBvbGREb2N1bWVudCwgbmV3RG9jdW1lbnQ6IG5ld0RvY3VtZW50fSk7
IH0KKyAgICB9CisgICAgQ3VzdG9tRWxlbWVudC5vYnNlcnZlZEF0dHJpYnV0ZXMgPSBvYnNlcnZl
ZEF0dHJpYnV0ZXM7CisKKyAgICB3aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKG5hbWUsIEN1
c3RvbUVsZW1lbnQpOworCisgICAgcmV0dXJuIHsKKyAgICAgICAgbmFtZTogbmFtZSwKKyAgICAg
ICAgY2xhc3M6IEN1c3RvbUVsZW1lbnQsCisgICAgICAgIHRha2VMb2c6IGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgIGxldCBjdXJyZW50TG9nID0gbG9nOyBsb2cgPSBbXTsKKyAgICAgICAgICAg
IGN1cnJlbnRMb2cudHlwZXMgPSAoKSA9PiBjdXJyZW50TG9nLm1hcCgoZW50cnkpID0+IGVudHJ5
LnR5cGUpOworICAgICAgICAgICAgY3VycmVudExvZy5sYXN0ID0gKCkgPT4gY3VycmVudExvZ1tj
dXJyZW50TG9nLmxlbmd0aCAtIDFdOworICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRMb2c7Cisg
ICAgICAgIH0KKyAgICB9OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20t
ZWxlbWVudHMvdXBncmFkaW5nLWVucXVldWUtcmVhY3Rpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3VwZ3JhZGluZy1lbnF1ZXVlLXJlYWN0aW9ucy1l
eHBlY3RlZC50eHQKaW5kZXggNzhlMDNlNDlkOGNhMzBmNGNmNTk1Nzk0YmUwMzczZDFjMWZkOTgy
Ni4uYTBkZGRlYTRmMjVhMjU2Nzg0YTg0NGNhMGE1NjcyMzJjZTk0ZmZkYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvdXBncmFkaW5nLWVucXVldWUtcmVhY3Rp
b25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy91
cGdyYWRpbmctZW5xdWV1ZS1yZWFjdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAot
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE1NzogRXhjZXB0aW9uIHRocm93biBhcyBhIHBhcnQgb2Yg
dGVzdAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE0MDogRXhjZXB0aW9uIHRocm93biBhcyBhIHBh
cnQgb2YgdGVzdAogCiBQQVNTIFVwZ3JhZGluZyBhIGN1c3RvbSBlbGVtZW50IG11c3QgZW5xdWV1
ZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sgb24gZWFjaCBhdHRyaWJ1dGUgCiBQQVNTIFVwZ3Jh
ZGluZyBhIGN1c3RvbSBlbGVtZW50IG5vdCBtdXN0IGVucXVldWUgYXR0cmlidXRlQ2hhbmdlZENh
bGxiYWNrIG9uIHVub2JzZXJ2ZWQgYXR0cmlidXRlcyAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3VzdG9tLWVsZW1lbnRzL3VwZ3JhZGluZy1lbnF1ZXVlLXJlYWN0aW9ucy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvdXBncmFkaW5nLWVucXVldWUtcmVhY3Rp
b25zLmh0bWwKaW5kZXggNDVlNDMxNmRmZDg5YTM5NDY2MGZmMjZjMGZhM2FlZjM5OTM2MjNlMC4u
Y2M1YzZiMmE2YThkZDMzZDg1NzA1ZjRkZWI5NDA2ZTkzMWUxNTEzYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvdXBncmFkaW5nLWVucXVldWUtcmVhY3Rpb25z
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvdXBncmFkaW5nLWVu
cXVldWUtcmVhY3Rpb25zLmh0bWwKQEAgLTgsMzAgKzgsMTMgQEAKIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
Li4vLi4vaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVz
b3VyY2VzL2N1c3RvbS1lbGVtZW50cy1oZWxwZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvYWRkaXRpb25hbC1oZWxwZXJzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxi
b2R5PgogPGRpdiBpZD0ibG9nIj48L2Rpdj4KIDxzY3JpcHQ+CiBzZXR1cCh7YWxsb3dfdW5jYXVn
aHRfZXhjZXB0aW9uOnRydWV9KTsKIAotZnVuY3Rpb24gY3JlYXRlX2NvbnN0cnVjdG9yX2xvZyhl
bGVtZW50KSB7Ci0gICAgcmV0dXJuIHt0eXBlOiAnY29uc3RydWN0ZWQnLCBlbGVtZW50OiBlbGVt
ZW50fTsKLX0KLQotZnVuY3Rpb24gYXNzZXJ0X2NvbnN0cnVjdG9yX2xvZ19lbnRyeShsb2csIGVs
ZW1lbnQpIHsKLSAgICBhc3NlcnRfZXF1YWxzKGxvZy50eXBlLCAnY29uc3RydWN0ZWQnKTsKLSAg
ICBhc3NlcnRfZXF1YWxzKGxvZy5lbGVtZW50LCBlbGVtZW50KTsKLX0KLQotZnVuY3Rpb24gY3Jl
YXRlX2Nvbm5lY3RlZF9jYWxsYmFja19sb2coZWxlbWVudCkgewotICAgIHJldHVybiB7dHlwZTog
J2Nvbm5lY3RlZCcsIGVsZW1lbnQ6IGVsZW1lbnR9OwotfQotCi1mdW5jdGlvbiBhc3NlcnRfY29u
bmVjdGVkX2xvZ19lbnRyeShsb2csIGVsZW1lbnQpIHsKLSAgICBhc3NlcnRfZXF1YWxzKGxvZy50
eXBlLCAnY29ubmVjdGVkJyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhsb2cuZWxlbWVudCwgZWxlbWVu
dCk7Ci19Ci0KIHRlc3Rfd2l0aF93aW5kb3coZnVuY3Rpb24gKGNvbnRlbnRXaW5kb3cpIHsKICAg
ICBjb25zdCBjb250ZW50RG9jdW1lbnQgPSBjb250ZW50V2luZG93LmRvY3VtZW50OwogICAgIGNv
bnRlbnREb2N1bWVudC53cml0ZSgnPHRlc3QtZWxlbWVudCBpZD0ic29tZSIgdGl0bGU9IlRoaXMg
aXMgYSB0ZXN0Ij4nKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL011dGF0aW9u
T2JzZXJ2ZXIvdGV4dC1jb250ZW50LW9uLWF0dHItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vTXV0YXRpb25PYnNlcnZlci90ZXh0LWNvbnRlbnQtb24tYXR0ci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjY5YzBiNGQxZjUxMzQ0MDgzOTVlZTMxMWJiNzQ0ZGE0MmViN2QxNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL011dGF0aW9uT2JzZXJ2ZXIv
dGV4dC1jb250ZW50LW9uLWF0dHItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK1RoaXMg
dGVzdHMgbXV0YXRpbmcgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBieSB0aGUgc2V0dGVycyBvZiB0ZXh0
Q29udGVudCBhbmQgbm9kZVZhbHVlLiBXZWJLaXQgc2hvdWxkIGluc2VydCBleGFjdGx5IG9uZSBy
ZWNvcmQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2VsZW1lbnQuYXR0cmlidXRl
cy50aXRsZS50ZXh0Q29udGVudCA9ICJuZXciOyByZWNvcmRzID0gb2JzZXJ2ZXIudGFrZVJlY29y
ZHMoKQorUEFTUyByZWNvcmRzWzBdLmF0dHJpYnV0ZU5hbWUgaXMgInRpdGxlIgorUEFTUyByZWNv
cmRzLmxlbmd0aCBpcyAxCisKK2VsZW1lbnQuYXR0cmlidXRlcy50aXRsZS5ub2RlVmFsdWUgPSAi
d29ybGQiOyByZWNvcmRzID0gb2JzZXJ2ZXIudGFrZVJlY29yZHMoKQorUEFTUyByZWNvcmRzWzBd
LmF0dHJpYnV0ZU5hbWUgaXMgInRpdGxlIgorUEFTUyByZWNvcmRzLmxlbmd0aCBpcyAxCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vTXV0YXRpb25PYnNlcnZlci90ZXh0LWNvbnRlbnQtb24t
YXR0ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vTXV0YXRpb25PYnNlcnZlci90ZXh0LWNv
bnRlbnQtb24tYXR0ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExZjA5Y2RkMmY1NmQ1NmFjNDVhYmM1YTYy
Yjc5YTA2Njc4NmNjODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9N
dXRhdGlvbk9ic2VydmVyL3RleHQtY29udGVudC1vbi1hdHRyLmh0bWwKQEAgLTAsMCArMSwyOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9u
KCdUaGlzIHRlc3RzIG11dGF0aW5nIHRoZSBhdHRyaWJ1dGUgdmFsdWUgYnkgdGhlIHNldHRlcnMg
b2YgdGV4dENvbnRlbnQgYW5kIG5vZGVWYWx1ZS4gV2ViS2l0IHNob3VsZCBpbnNlcnQgZXhhY3Rs
eSBvbmUgcmVjb3JkJyk7CisKK2xldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CitlbGVtZW50LnNldEF0dHJpYnV0ZSgndGl0bGUnLCAnaGVsbG8nKTsKKworbGV0IG9i
c2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24gKHJlY29yZHMpIHsgfSk7Citv
YnNlcnZlci5vYnNlcnZlKGVsZW1lbnQsIHthdHRyaWJ1dGVzOiB0cnVlfSk7CisKK3ZhciByZWNv
cmRzOworZXZhbEFuZExvZygnZWxlbWVudC5hdHRyaWJ1dGVzLnRpdGxlLnRleHRDb250ZW50ID0g
Im5ldyI7IHJlY29yZHMgPSBvYnNlcnZlci50YWtlUmVjb3JkcygpJyk7CitzaG91bGRCZSgncmVj
b3Jkc1swXS5hdHRyaWJ1dGVOYW1lJywgJyJ0aXRsZSInKTsKK3Nob3VsZEJlKCdyZWNvcmRzLmxl
bmd0aCcsICcxJyk7CisKK2RlYnVnKCcnKTsKKworZXZhbEFuZExvZygnZWxlbWVudC5hdHRyaWJ1
dGVzLnRpdGxlLm5vZGVWYWx1ZSA9ICJ3b3JsZCI7IHJlY29yZHMgPSBvYnNlcnZlci50YWtlUmVj
b3JkcygpJyk7CitzaG91bGRCZSgncmVjb3Jkc1swXS5hdHRyaWJ1dGVOYW1lJywgJyJ0aXRsZSIn
KTsKK3Nob3VsZEJlKCdyZWNvcmRzLmxlbmd0aCcsICcxJyk7CisKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zL05vZGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVu
dHMvcmVhY3Rpb25zL05vZGUtZXhwZWN0ZWQudHh0CmluZGV4IGZjZTYzZDA4ZGQ2Mjk5N2FkMTIw
ZGJjOGM0OTY0NTZkYjQ0NzZiYTguLjE5ZWNjZDgwYTM5ZjBjOTcxMmRkZGI2Y2M2YTE2MzVkNzNk
YWY2ODAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3JlYWN0aW9ucy9Ob2RlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9yZWFjdGlvbnMvTm9kZS1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBBU1Mgbm9k
ZVZhbHVlIG9uIE5vZGUgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24g
d2hlbiByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIAogUEFTUyBub2RlVmFsdWUgb24g
Tm9kZSBtdXN0IG5vdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBy
ZXBsYWNpbmcgYW4gZXhpc3RpbmcgdW5vYnNlcnZlZCBhdHRyaWJ1dGUgCi1GQUlMIHRleHRDb250
ZW50IG9uIE5vZGUgbXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hl
biByZXBsYWNpbmcgYW4gZXhpc3RpbmcgYXR0cmlidXRlIGFzc2VydF9hcnJheV9lcXVhbHM6IGxl
bmd0aHMgZGlmZmVyLCBleHBlY3RlZCAxIGdvdCAyCitQQVNTIHRleHRDb250ZW50IG9uIE5vZGUg
bXVzdCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiByZXBsYWNpbmcg
YW4gZXhpc3RpbmcgYXR0cmlidXRlIAogUEFTUyB0ZXh0Q29udGVudCBvbiBOb2RlIG11c3Qgbm90
IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIHJlcGxhY2luZyBhbiBl
eGlzdGluZyB1bm9ic2VydmVkIGF0dHJpYnV0ZSAKIFBBU1MgY2xvbmVOb2RlIG9uIE5vZGUgbXVz
dCBlbnF1ZXVlIGFuIGF0dHJpYnV0ZUNoYW5nZWQgcmVhY3Rpb24gd2hlbiBjbG9uaW5nIGFuIGVs
ZW1lbnQgd2l0aCBhbiBvYnNlcnZlZCBhdHRyaWJ1dGUgCiBQQVNTIGNsb25lTm9kZSBvbiBOb2Rl
IG11c3Qgbm90IGVucXVldWUgYW4gYXR0cmlidXRlQ2hhbmdlZCByZWFjdGlvbiB3aGVuIGNsb25p
bmcgYW4gZWxlbWVudCB3aXRoIGFuIHVub2JzZXJ2ZWQgYXR0cmlidXRlIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlNTZjM2RlY2VhNzZmZjA4Y2M2MjIz
MDMyNjllZjE5NWU4MGVjOGUxLi5mZWVlODY2NjczZDZjMTkxMDc0NDMyMWNiOGJlOTgwOTczZThj
MjIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTYz
Myw2ICsxNjMzLDcgQEAgd2Via2l0Lm9yZy9iLzg4MDgwIGh0dHAvdGVzdHMvcG9pbnRlci1sb2Nr
IFsgU2tpcCBdCiAKICMgUmVxdWlyZXMgSU5ESUVfVUkgc3VwcG9ydAogd2Via2l0Lm9yZy9iLzEx
MTQ0NiBpbmRpZXVpIFsgU2tpcCBdCit3ZWJraXQub3JnL2IvMTExNDQ2IGZhc3QvY3VzdG9tLWVs
ZW1lbnRzL3JlYWN0aW9ucy1mb3ItaW5kaWV1aS5odG1sIFsgU2tpcCBdCiAKICMgUmVxdWlyZXMg
c3VwcG9ydCBmb3IgV2ViIG5vdGlmaWNhdGlvbnMKIHdlYmtpdC5vcmcvYi83MzU0NCBmYXN0L25v
dGlmaWNhdGlvbnMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYzY2YzkwNTkwZDk0NjNmYWI3OGQ0ZDM3ODk5ZTc2MzczNmQyNzEzYS4uNjBm
ZjRlNzIzNDg4YjJhMTBkMGRiNzkxOTYxMTVlYzRiYmJhY2UwNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE3Niw2ICsxNzYsNyBAQCBodHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvbGVnYWN5L25vdGlmaWNhdGlvbi1yZXF1ZXN0LXBlcm1pc3Npb24tdGhl
bi1uYXZpZ2F0ZS5odAogCiAjIERhdGFsaXN0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5v
cmcvYi85ODkzNCBmYXN0L2Zvcm1zL2RhdGFsaXN0IFsgU2tpcCBdCit3ZWJraXQub3JnL2IvOTg5
MzQgZmFzdC9jdXN0b20tZWxlbWVudHMvcmVhY3Rpb25zLWZvci1pbmRpZXVpLmh0bWwgWyBTa2lw
IF0KIAogIyBFTkFCTEVfSU5QVVRfVFlQRV8qIGFyZSBub3QgZW5hYmxlZC4KIHdlYmtpdC5vcmcv
Yi85ODkzNiBmYXN0L2Zvcm1zL2RhdGUgWyBTa2lwIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>