<?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>221114</bug_id>
          
          <creation_ts>2021-01-28 19:02:44 -0800</creation_ts>
          <short_desc>Add support for color(rec2020 ...) as part of CSS Color 4</short_desc>
          <delta_ts>2021-01-30 23:54:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>220928</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1723588</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-01-28 19:02:44 -0800</bug_when>
    <thetext>Add support for Adobe RGB 1998 and color(rec2020 ...) as part of CSS Color 4 - https://www.w3.org/TR/css-color-4/#valdef-color-rec2020.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723593</commentid>
    <comment_count>1</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-01-28 19:05:29 -0800</bug_when>
    <thetext>Add support for color(rec2020 ...) as part of CSS Color 4 - https://drafts.csswg.org/css-color-4/#valdef-color-rec2020.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723779</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-01-29 10:27:53 -0800</bug_when>
    <thetext>Found some differences between CSS Color 4 spec text, sample code and CoreGraphics and filed https://github.com/w3c/csswg-drafts/issues/5907 to clarify. Looks like we are going to with the sample code / CoreGraphics values, which is great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724038</commentid>
    <comment_count>3</comment_count>
      <attachid>418816</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-01-30 09:39:05 -0800</bug_when>
    <thetext>Created attachment 418816
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724039</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-01-30 09:40:22 -0800</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724042</commentid>
    <comment_count>5</comment_count>
      <attachid>418818</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-01-30 10:45:20 -0800</bug_when>
    <thetext>Created attachment 418818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724068</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-30 23:53:02 -0800</bug_when>
    <thetext>Committed r272123: &lt;https://trac.webkit.org/changeset/272123&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418818.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724069</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-30 23:54:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/73802412&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418816</attachid>
            <date>2021-01-30 09:39:05 -0800</date>
            <delta_ts>2021-01-30 10:45:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221114-20210130093904.patch</filename>
            <type>text/plain</type>
            <size>51526</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MjExNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY4IEBACisyMDIxLTAxLTMwICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgY29sb3Io
cmVjMjAyMCAuLi4pIGFzIHBhcnQgb2YgQ1NTIENvbG9yIDQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTExNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46Cisg
ICAgICAgIEFkZCBjb21tZW50IHRvIGluZGljYXRlIHJlYzIwMjAgaXMgc3VwcG9ydCBjb2xvciBm
dW5jdGlvbiB0eXBlLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpw
YXJzZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAg
ICBQYXJzZSBjb2xvcihyZWMyMDIwICkgdXNpbmcgdGhlIGV4aXN0aW5nIGdlbmVyaWMgcmdiIHR5
cGUgY29sb3IgZnVuY3Rpb24KKyAgICAgICAgcGFyc2luZyBmdW5jdGlvbi4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmg6CisgICAgICAgIFJlbW92ZSBvdmVybHkgc3BlY2lm
aWMgY29tbWVudCB0aGF0IGxpc3RlZCBhbGwgdGhlIGNvbG9yIHR5cGVzIHRoYXQgQ29sb3IKKyAg
ICAgICAgY291bGQgaG9sZCwgcmVwbGFjaW5nIGl0IHdpdGggYSBtb3JlIGdlbmVyaWMgc3RhdGVt
ZW50IGFib3V0IHRoZSBmdW5jdGlvbmFseQorICAgICAgICBvZiBFeHRlbmRlZENvbG9yLiBUaGlz
IGF2b2lkcyBuZWVkaW5nIHRvIHVwZGF0ZSB0aGlzIG5vdCB2ZXJ5IHVzZWZ1bCBjb21tZW50Cisg
ICAgICAgIGV2ZXJ5dGltZSB3ZSBhZGQgYSBuZXcgc3VwcG9ydGVkIGNvbG9yIHR5cGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvckNvbnZlcnNpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9MaW5lYXJSZWMyMDIwKToKKyAgICAgICAgKFdlYkNvcmU6OnRvUmVjMjAyMCk6
CisgICAgICAgIChXZWJDb3JlOjp0b1hZWkEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yQ29udmVyc2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6dG9MaW5lYXJSZWMyMDIwKToK
KyAgICAgICAgKFdlYkNvcmU6OnRvUmVjMjAyMCk6CisgICAgICAgIChXZWJDb3JlOjp0b0xpbmVh
ckRpc3BsYXlQMyk6CisgICAgICAgIChXZWJDb3JlOjpjYWxsV2l0aENvbG9yVHlwZSk6CisgICAg
ICAgIEFkZCBjb252ZXJzaW9uIHN1cHBvcnQgZm9yIFJlYzIwMjAsIHV0aWxpemluZyB0aGUgUmVj
MjAyMFRyYW5zZmVyRnVuY3Rpb24KKyAgICAgICAgZm9yIGdhbW1hIGNvcnJlY3Rpb24uIEZpeCBp
bmNvcnJlY3Qgc29ydGluZyBvZiB0b0xpbmVhckRpc3BsYXlQMy4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0NvbG9yU2VyaWFsaXphdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpz
ZXJpYWxpemF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6YXRpb25Gb3JDU1MpOgor
ICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXphdGlvbkZvckhUTUwpOgorICAgICAgICAoV2ViQ29y
ZTo6c2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0NvbG9yU2VyaWFsaXphdGlvbi5oOgorICAgICAgICBBZGQgc2VyaWFsaXphdGlv
biBzdXBwb3J0LCBtYXRjaGluZyBvdGhlciByZ2IgY29sb3IoKSBmdW5jdGlvbgorICAgICAgICB0
eXBlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9yU3BhY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29sb3JTcGFjZS5oOgorICAgICAgICBBZGQgUmVjMjAyMCBhcyBhIG5ldyBDb2xvclNwYWNlLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JUcmFuc2ZlckZ1bmN0aW9ucy5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVjMjAyMFRyYW5zZmVyRnVuY3Rpb246OnRvR2FtbWFFbmNvZGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYzIwMjBUcmFuc2ZlckZ1bmN0aW9uOjp0b0xpbmVhcik6
CisgICAgICAgIEFkZCB0cmFuc2ZlciBmdW5jdGlvbiBmb3IgUmVjMjAyMC4gQm90aCBjbGFtcGVk
IGFuZCB1bmNsYW1wZWQKKyAgICAgICAgYXJlIGltcGxlbWVudGVkLCB0aG91Z2ggZm9yIG5vdywg
b25seSB0aGUgY2xhbXBlZCB2YXJpYW50IGlzCisgICAgICAgIGJlaW5nIHVzZWQuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvclR5cGVzLmg6CisgICAgICAgIEFkZCBSZWMyMDIw
IGFuZCBMaW5lYXJSZWMyMDIwIHR5cGVzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvQ29sb3JTcGFjZUNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlYzIwMjBDb2xvclNwYWNl
UmVmKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvclNwYWNlQ0cuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNhY2hlZENHQ29sb3JTcGFjZSk6CisgICAgICAgIEFkZCBzdXBwb3J0
IGZvciB0aGUgcmVjMjAyMCBhcyBhIENvcmVHcmFwaGljcyBjb2xvciBzcGFjZSwgd2hlcmUKKyAg
ICAgICAgaXQgaXMga25vd24gYXMga0NHQ29sb3JTcGFjZUlUVVJfMjAyMC4KKwogMjAyMS0wMS0z
MCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10g
QWRqdXN0IHRoZSBsaW5lIGJveCBzdHJldGNoaW5nIChxdWlya3kpIDxicj4gYmVoYXZpb3IKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCShyZXZpc2lvbiAyNzIwOTUp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkod29ya2luZyBjb3B5
KQpAQCAtMTQwOSw2ICsxNDA5LDcgQEAgc1JHQgogYTk4LXJnYgogZGlzcGxheS1wMwogLy8gbGFi
CisvLyByZWMyMDIwCiAvLyBzUkdCCiAKIC8vIHByZWZlcnMtZGVmYXVsdC1hcHBlYXJhbmNlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlckhlbHBlcnMuY3BwCShyZXZpc2lvbiAyNzIwOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2
Nyw3ICs4NjcsNyBAQCBzdGF0aWMgQ29sb3IgcGFyc2VMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGU+CiBzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0
aW9uRm9yUkdCVHlwZXMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncykKIHsKLSAgICBBU1NFUlQo
YXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUE5OFJnYiB8fCBhcmdzLnBlZWsoKS5pZCgpID09
IENTU1ZhbHVlRGlzcGxheVAzIHx8IGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVTUkdCKTsK
KyAgICBBU1NFUlQoYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUE5OFJnYiB8fCBhcmdzLnBl
ZWsoKS5pZCgpID09IENTU1ZhbHVlRGlzcGxheVAzIHx8IGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NT
VmFsdWVSZWMyMDIwIHx8IGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVTUkdCKTsKICAgICBj
b25zdW1lSWRlbnRSYXcoYXJncyk7CiAKICAgICBkb3VibGUgY2hhbm5lbHNbM10gPSB7IDAsIDAs
IDAgfTsKQEAgLTkzMyw2ICs5MzMsOSBAQCBzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0aW9u
UGFyYW1ldGVyCiAgICAgY2FzZSBDU1NWYWx1ZUxhYjoKICAgICAgICAgY29sb3IgPSBwYXJzZUNv
bG9yRnVuY3Rpb25Gb3JMYWJQYXJhbWV0ZXJzKGFyZ3MpOwogICAgICAgICBicmVhazsKKyAgICBj
YXNlIENTU1ZhbHVlUmVjMjAyMDoKKyAgICAgICAgY29sb3IgPSBwYXJzZUNvbG9yRnVuY3Rpb25G
b3JSR0JUeXBlczxSZWMyMDIwPGZsb2F0Pj4oYXJncyk7CisgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgQ1NTVmFsdWVTUkdCOgogICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJH
QlR5cGVzPFNSR0JBPGZsb2F0Pj4oYXJncyk7CiAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCShyZXZpc2lvbiAyNzIwOTUpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCSh3b3JraW5nIGNvcHkpCkBA
IC01NSwxMCArNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBBYmxlIHRvIHJlcHJlc2Vu
dDoKIC8vICAgIC0gU3BlY2lhbCAiaW52YWxpZCBjb2xvciIgc3RhdGUsIHRyZWF0ZWQgYXMgdHJh
bnNwYXJlbnQgYmxhY2sgYnV0IGRpc3Rpbmd1aXNoYWJsZQogLy8gICAgLSA0eCA4LWJpdCAoMC0y
NTUpIHNSR0JBLCBzdG9yZWQgaW5saW5lLCBubyBhbGxvY2F0aW9uCi0vLyAgICAtIDR4IGZsb2F0
ICgwLTEpIHNSR0JBLCBzdG9yZWQgaW4gYSByZWZlcmVuY2UgY291bnRlZCBzdWItb2JqZWN0Ci0v
LyAgICAtIDR4IGZsb2F0ICgwLTEpIExpbmVhciBzUkdCQSwgc3RvcmVkIGluIGEgcmVmZXJlbmNl
IGNvdW50ZWQgc3ViLW9iamVjdAotLy8gICAgLSA0eCBmbG9hdCAoMC0xKSBEaXNwbGF5UDMsIHN0
b3JlZCBpbiBhIHJlZmVyZW5jZSBjb3VudGVkIHN1Yi1vYmplY3QKLS8vICAgIC0gNHggZmxvYXQg
KDAtMSkgTGFiLCBzdG9yZWQgaW4gYSByZWZlcmVuY2UgY291bnRlZCBzdWItb2JqZWN0CisvLyAg
ICAtIDR4IGZsb2F0IGNvbG9yIGNvbXBvbmVudHMgKyBjb2xvciBzcGFjZSwgc3RvcmVkIGluIGEg
cmVmZXJlbmNlIGNvdW50ZWQgc3ViLW9iamVjdAogLy8KIC8vIEFkZGl0aW9uYWxseSwgdGhlIGlu
bGluZSA4LWJpdCBzUkdCQSBjYW4gaGF2ZSBhbiBvcHRpb25hbCAic2VtYW50aWMiIGJpdCBzZXQg
b24gaXQsCiAvLyB3aGljaCBpbmRpY2F0ZXMgdGhlIGNvbG9yIG9yaWdpbmF0ZWQgZnJvbSBhIENT
UyBzZW1hbnRpYyBjb2xvciBuYW1lLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29sb3JDb252ZXJzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Db2xvckNvbnZlcnNpb24uY3BwCShyZXZpc2lvbiAyNzIwOTUpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvckNvbnZlcnNpb24uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSwyMiBAQCBzdGF0aWMgY29uc3RleHByIENvbG9yTWF0
cml4PDMsIDM+IGxpbmVhCiAgICAgMC4wZiwgICAgICAgICAgICAgICAgMC4wNDUxMTMzODE4NTg5
MDI2ZiwgMS4wNDM5NDQzNjg5MDA5NzZmCiB9OwogCisvLyBSZWMyMDIwIE1hdHJpY2VzLgorCisv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbG9yLyNjb2xvci1jb252ZXJzaW9uLWNv
ZGUKK3N0YXRpYyBjb25zdGV4cHIgQ29sb3JNYXRyaXg8MywgMz4geHl6VG9MaW5lYXJSZWMyMDIw
TWF0cml4IHsKKyAgICAgMS43MTY2NTExODc5NzEyNjc0ZiwgICAtMC4zNTU2NzA3ODM3NzYzOTIz
M2YsIC0wLjI1MzM2NjI4MTM3MzY1OTc0ZiwKKyAgICAtMC42NjY2ODQzNTE4MzI0ODkyZiwgICAg
MS42MTY0ODEyMzY2MzQ5Mzk1ZiwgICAwLjAxNTc2ODU0NTgxMzkxMTEzZiwKKyAgICAgMC4wMTc2
Mzk4NTc0NDUzMTA3ODNmLCAtMC4wNDI3NzA2MTMyNTc4MDg1MjRmLCAwLjk0MjEwMzEyMTIzNTQ3
MzhmCit9OworCisvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbG9yLyNjb2xvci1j
b252ZXJzaW9uLWNvZGUKK3N0YXRpYyBjb25zdGV4cHIgQ29sb3JNYXRyaXg8MywgMz4gbGluZWFy
UmVjMjAyMFRvWFlaTWF0cml4IHsKKyAgICAwLjYzNjk1ODA0ODMwMTI5MTRmLCAwLjE0NDYxNjkw
MzU4NjIwODMyZiwgIDAuMTY4ODgwOTc1MTY0MTcyMWYsCisgICAgMC4yNjI3MDAyMTIwMTEyNjcx
ZiwgMC42Nzc5OTgwNzE1MTg4NzA4ZiwgICAwLjA1OTMwMTcxNjQ2OTg2MTk2ZiwKKyAgICAwLjAw
MDAwMDAwMDAwMDAwMGYsICAwLjAyODA3MjY5MzA0OTA4NzQyOGYsIDEuMDYwOTg1MDU3NzEwNzkx
ZgorfTsKKwogLy8gc1JHQiBNYXRyaWNlcy4KIAogLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3Jn
L3dpa2kvU1JHQgpAQCAtMTQ5LDYgKzE2NSwxOCBAQCBFeHRlbmRlZFNSR0JBPGZsb2F0PiB0b0V4
dGVuZGVkU1JHQkEoY29uCiAgICAgcmV0dXJuIHRvR2FtbWFFbmNvZGVkPFNSR0JUcmFuc2ZlckZ1
bmN0aW9uPGZsb2F0LCBUcmFuc2ZlckZ1bmN0aW9uTW9kZTo6VW5jbGFtcGVkPj4oY29sb3IpOwog
fQogCisvLyBSZWMyMDIwIDwtPiBMaW5lYXJSZWMyMDIwIGNvbnZlcnNpb25zLgorCitMaW5lYXJS
ZWMyMDIwPGZsb2F0PiB0b0xpbmVhclJlYzIwMjAoY29uc3QgUmVjMjAyMDxmbG9hdD4mIGNvbG9y
KQoreworICAgIHJldHVybiB0b0xpbmVhcjxSZWMyMDIwVHJhbnNmZXJGdW5jdGlvbjxmbG9hdCwg
VHJhbnNmZXJGdW5jdGlvbk1vZGU6OkNsYW1wZWQ+Pihjb2xvcik7Cit9CisKK1JlYzIwMjA8Zmxv
YXQ+IHRvUmVjMjAyMChjb25zdCBMaW5lYXJSZWMyMDIwPGZsb2F0PiYgY29sb3IpCit7CisgICAg
cmV0dXJuIHRvR2FtbWFFbmNvZGVkPFJlYzIwMjBUcmFuc2ZlckZ1bmN0aW9uPGZsb2F0LCBUcmFu
c2ZlckZ1bmN0aW9uTW9kZTo6Q2xhbXBlZD4+KGNvbG9yKTsKK30KKwogLy8gU1JHQkEgPC0+IExp
bmVhclNSR0JBIGNvbnZlcnNpb25zLgogCiBMaW5lYXJTUkdCQTxmbG9hdD4gdG9MaW5lYXJTUkdC
QShjb25zdCBTUkdCQTxmbG9hdD4mIGNvbG9yKQpAQCAtMTk5LDYgKzIyNywxOCBAQCBYWVpBPGZs
b2F0PiB0b1hZWkEoY29uc3QgTGluZWFyRXh0ZW5kZWRTCiAgICAgcmV0dXJuIG1ha2VGcm9tQ29t
cG9uZW50c0NsYW1waW5nRXhjZXB0QWxwaGE8WFlaQTxmbG9hdD4+KGxpbmVhclNSR0JUb1hZWk1h
dHJpeC50cmFuc2Zvcm1lZENvbG9yQ29tcG9uZW50cyhhc0NvbG9yQ29tcG9uZW50cyhjb2xvcikp
KTsKIH0KIAorLy8gLSBMaW5lYXJSZWMyMDIwIG1hdHJpeCBjb252ZXJzaW9ucy4KKworTGluZWFy
UmVjMjAyMDxmbG9hdD4gdG9MaW5lYXJSZWMyMDIwKGNvbnN0IFhZWkE8ZmxvYXQ+JiBjb2xvcikK
K3sKKyAgICByZXR1cm4gbWFrZUZyb21Db21wb25lbnRzQ2xhbXBpbmdFeGNlcHRBbHBoYTxMaW5l
YXJSZWMyMDIwPGZsb2F0Pj4oeHl6VG9MaW5lYXJSZWMyMDIwTWF0cml4LnRyYW5zZm9ybWVkQ29s
b3JDb21wb25lbnRzKGFzQ29sb3JDb21wb25lbnRzKGNvbG9yKSkpOworfQorCitYWVpBPGZsb2F0
PiB0b1hZWkEoY29uc3QgTGluZWFyUmVjMjAyMDxmbG9hdD4mIGNvbG9yKQoreworICAgIHJldHVy
biBtYWtlRnJvbUNvbXBvbmVudHNDbGFtcGluZ0V4Y2VwdEFscGhhPFhZWkE8ZmxvYXQ+PihsaW5l
YXJSZWMyMDIwVG9YWVpNYXRyaXgudHJhbnNmb3JtZWRDb2xvckNvbXBvbmVudHMoYXNDb2xvckNv
bXBvbmVudHMoY29sb3IpKSk7Cit9CisKIC8vIC0gTGluZWFyU1JHQkEgbWF0cml4IGNvbnZlcnNp
b25zLgogCiBMaW5lYXJTUkdCQTxmbG9hdD4gdG9MaW5lYXJTUkdCQShjb25zdCBYWVpBPGZsb2F0
PiYgY29sb3IpCkBAIC00NjgsNiArNTA4LDE4IEBAIExDSEE8ZmxvYXQ+IHRvTENIQShjb25zdCBY
WVpBPGZsb2F0PiYgY28KICAgICByZXR1cm4gdG9MQ0hBKHRvTGFiKGNvbG9yKSk7CiB9CiAKKy8v
IC0gUmVjMjAyMCBjb21iaW5hdGlvbiBmdW5jdGlvbnMuCisKK1hZWkE8ZmxvYXQ+IHRvWFlaQShj
b25zdCBSZWMyMDIwPGZsb2F0PiYgY29sb3IpCit7CisgICAgcmV0dXJuIHRvWFlaQSh0b0xpbmVh
clJlYzIwMjAoY29sb3IpKTsKK30KKworUmVjMjAyMDxmbG9hdD4gdG9SZWMyMDIwKGNvbnN0IFhZ
WkE8ZmxvYXQ+JiBjb2xvcikKK3sKKyAgICByZXR1cm4gdG9SZWMyMDIwKHRvTGluZWFyUmVjMjAy
MChjb2xvcikpOworfQorCiAvLyAtIFNSR0IgY29tYmluYXRpb24gZnVuY3Rpb25zLgogCiBYWVpB
PGZsb2F0PiB0b1hZWkEoY29uc3QgU1JHQkE8ZmxvYXQ+JiBjb2xvcikKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yQ29udmVyc2lvbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yQ29udmVyc2lvbi5oCShyZXZp
c2lvbiAyNzIwOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvckNv
bnZlcnNpb24uaAkod29ya2luZyBjb3B5KQpAQCAtOTEsMTIgKzkxLDI0IEBAIFdFQkNPUkVfRVhQ
T1JUIExpbmVhckV4dGVuZGVkU1JHQkE8ZmxvYXQKIC8vIEFkZGl0aW9ucwogV0VCQ09SRV9FWFBP
UlQgRXh0ZW5kZWRTUkdCQTxmbG9hdD4gdG9FeHRlbmRlZFNSR0JBKGNvbnN0IExpbmVhckV4dGVu
ZGVkU1JHQkE8ZmxvYXQ+Jik7CiAKKy8vIExpbmVhclJlYzIwMjAKK1dFQkNPUkVfRVhQT1JUIFhZ
WkE8ZmxvYXQ+IHRvWFlaQShjb25zdCBMaW5lYXJSZWMyMDIwPGZsb2F0PiYpOworV0VCQ09SRV9F
WFBPUlQgTGluZWFyUmVjMjAyMDxmbG9hdD4gdG9MaW5lYXJSZWMyMDIwKGNvbnN0IFhZWkE8Zmxv
YXQ+Jik7CisvLyBBZGRpdGlvbnMKK1dFQkNPUkVfRVhQT1JUIFJlYzIwMjA8ZmxvYXQ+IHRvUmVj
MjAyMChjb25zdCBMaW5lYXJSZWMyMDIwPGZsb2F0PiYpOworCiAvLyBMaW5lYXJTUkdCQQogV0VC
Q09SRV9FWFBPUlQgWFlaQTxmbG9hdD4gdG9YWVpBKGNvbnN0IExpbmVhclNSR0JBPGZsb2F0PiYp
OwogV0VCQ09SRV9FWFBPUlQgTGluZWFyU1JHQkE8ZmxvYXQ+IHRvTGluZWFyU1JHQkEoY29uc3Qg
WFlaQTxmbG9hdD4mKTsKIC8vIEFkZGl0aW9ucwogV0VCQ09SRV9FWFBPUlQgU1JHQkE8ZmxvYXQ+
IHRvU1JHQkEoY29uc3QgTGluZWFyU1JHQkE8ZmxvYXQ+Jik7CiAKKy8vIFJlYzIwMjAKK1dFQkNP
UkVfRVhQT1JUIFhZWkE8ZmxvYXQ+IHRvWFlaQShjb25zdCBSZWMyMDIwPGZsb2F0PiYpOworV0VC
Q09SRV9FWFBPUlQgUmVjMjAyMDxmbG9hdD4gdG9SZWMyMDIwKGNvbnN0IFhZWkE8ZmxvYXQ+Jik7
CisvLyBBZGRpdGlvbnMKK1dFQkNPUkVfRVhQT1JUIExpbmVhclJlYzIwMjA8ZmxvYXQ+IHRvTGlu
ZWFyUmVjMjAyMChjb25zdCBSZWMyMDIwPGZsb2F0PiYpOworCiAvLyBTUkdCQQogV0VCQ09SRV9F
WFBPUlQgWFlaQTxmbG9hdD4gdG9YWVpBKGNvbnN0IFNSR0JBPGZsb2F0PiYpOwogV0VCQ09SRV9F
WFBPUlQgU1JHQkE8ZmxvYXQ+IHRvU1JHQkEoY29uc3QgWFlaQTxmbG9hdD4mKTsKQEAgLTExNiw3
ICsxMjgsOSBAQCBjb25zdGV4cHIgTGFiPGZsb2F0PiB0b0xhYihjb25zdCBMYWI8ZmxvCiBjb25z
dGV4cHIgTGluZWFyQTk4UkdCPGZsb2F0PiB0b0xpbmVhckE5OFJHQihjb25zdCBMaW5lYXJBOThS
R0I8ZmxvYXQ+JiBjb2xvcikgeyByZXR1cm4gY29sb3I7IH0KIGNvbnN0ZXhwciBMaW5lYXJEaXNw
bGF5UDM8ZmxvYXQ+IHRvTGluZWFyRGlzcGxheVAzKGNvbnN0IExpbmVhckRpc3BsYXlQMzxmbG9h
dD4mIGNvbG9yKSB7IHJldHVybiBjb2xvcjsgfQogY29uc3RleHByIExpbmVhckV4dGVuZGVkU1JH
QkE8ZmxvYXQ+IHRvTGluZWFyRXh0ZW5kZWRTUkdCQShjb25zdCBMaW5lYXJFeHRlbmRlZFNSR0JB
PGZsb2F0PiYgY29sb3IpIHsgcmV0dXJuIGNvbG9yOyB9Citjb25zdGV4cHIgTGluZWFyUmVjMjAy
MDxmbG9hdD4gdG9MaW5lYXJSZWMyMDIwKGNvbnN0IExpbmVhclJlYzIwMjA8ZmxvYXQ+JiBjb2xv
cikgeyByZXR1cm4gY29sb3I7IH0KIGNvbnN0ZXhwciBMaW5lYXJTUkdCQTxmbG9hdD4gdG9MaW5l
YXJTUkdCQShjb25zdCBMaW5lYXJTUkdCQTxmbG9hdD4mIGNvbG9yKSB7IHJldHVybiBjb2xvcjsg
fQorY29uc3RleHByIFJlYzIwMjA8ZmxvYXQ+IHRvUmVjMjAyMChjb25zdCBSZWMyMDIwPGZsb2F0
PiYgY29sb3IpIHsgcmV0dXJuIGNvbG9yOyB9CiBjb25zdGV4cHIgU1JHQkE8ZmxvYXQ+IHRvU1JH
QkEoY29uc3QgU1JHQkE8ZmxvYXQ+JiBjb2xvcikgeyByZXR1cm4gY29sb3I7IH0KIGNvbnN0ZXhw
ciBYWVpBPGZsb2F0PiB0b1hZWkEoY29uc3QgWFlaQTxmbG9hdD4mIGNvbG9yKSB7IHJldHVybiBj
b2xvcjsgfQogCkBAIC0xNjEsMTQgKzE3NSwxOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBMaW5l
YXJBOThSR0I8ZmxvYXQ+CiAgICAgcmV0dXJuIHRvTGluZWFyQTk4UkdCKHRvWFlaQShjb2xvcikp
OwogfQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBMaW5lYXJEaXNwbGF5UDM8ZmxvYXQ+IHRvTGlu
ZWFyRGlzcGxheVAzKGNvbnN0IFQmIGNvbG9yKQoreworICAgIHJldHVybiB0b0xpbmVhckRpc3Bs
YXlQMyh0b1hZWkEoY29sb3IpKTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gTGluZWFyRXh0
ZW5kZWRTUkdCQTxmbG9hdD4gdG9MaW5lYXJFeHRlbmRlZFNSR0JBKGNvbnN0IFQmIGNvbG9yKQog
ewogICAgIHJldHVybiB0b0xpbmVhckV4dGVuZGVkU1JHQkEodG9YWVpBKGNvbG9yKSk7CiB9CiAK
LXRlbXBsYXRlPHR5cGVuYW1lIFQ+IExpbmVhckRpc3BsYXlQMzxmbG9hdD4gdG9MaW5lYXJEaXNw
bGF5UDMoY29uc3QgVCYgY29sb3IpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBMaW5lYXJSZWMyMDIw
PGZsb2F0PiB0b0xpbmVhclJlYzIwMjAoY29uc3QgVCYgY29sb3IpCiB7Ci0gICAgcmV0dXJuIHRv
TGluZWFyRGlzcGxheVAzKHRvWFlaQShjb2xvcikpOworICAgIHJldHVybiB0b0xpbmVhclJlYzIw
MjAodG9YWVpBKGNvbG9yKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IExpbmVhclNSR0JB
PGZsb2F0PiB0b0xpbmVhclNSR0JBKGNvbnN0IFQmIGNvbG9yKQpAQCAtMTc2LDYgKzE5NSwxMSBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBMaW5lYXJTUkdCQTxmbG9hdD4gCiAgICAgcmV0dXJuIHRv
TGluZWFyU1JHQkEodG9YWVpBKGNvbG9yKSk7CiB9CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IFJl
YzIwMjA8ZmxvYXQ+IHRvUmVjMjAyMChjb25zdCBUJiBjb2xvcikKK3sKKyAgICByZXR1cm4gdG9S
ZWMyMDIwKHRvWFlaQShjb2xvcikpOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBTUkdCQTxm
bG9hdD4gdG9TUkdCQShjb25zdCBUJiBjb2xvcikKIHsKICAgICByZXR1cm4gdG9TUkdCQSh0b1hZ
WkEoY29sb3IpKTsKQEAgLTE5Myw2ICsyMTcsOCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBl
bmFtZSBGdW5jdG9yPiBjCiAgICAgICAgIHJldHVybiBzdGQ6Omludm9rZShzdGQ6OmZvcndhcmQ8
RnVuY3Rvcj4oZnVuY3RvciksIG1ha2VGcm9tQ29tcG9uZW50czxMYWI8VD4+KGNvbXBvbmVudHMp
KTsKICAgICBjYXNlIENvbG9yU3BhY2U6OkxpbmVhclJHQjoKICAgICAgICAgcmV0dXJuIHN0ZDo6
aW52b2tlKHN0ZDo6Zm9yd2FyZDxGdW5jdG9yPihmdW5jdG9yKSwgbWFrZUZyb21Db21wb25lbnRz
PExpbmVhclNSR0JBPFQ+Pihjb21wb25lbnRzKSk7CisgICAgY2FzZSBDb2xvclNwYWNlOjpSZWMy
MDIwOgorICAgICAgICByZXR1cm4gc3RkOjppbnZva2Uoc3RkOjpmb3J3YXJkPEZ1bmN0b3I+KGZ1
bmN0b3IpLCBtYWtlRnJvbUNvbXBvbmVudHM8UmVjMjAyMDxUPj4oY29tcG9uZW50cykpOwogICAg
IGNhc2UgQ29sb3JTcGFjZTo6U1JHQjoKICAgICAgICAgcmV0dXJuIHN0ZDo6aW52b2tlKHN0ZDo6
Zm9yd2FyZDxGdW5jdG9yPihmdW5jdG9yKSwgbWFrZUZyb21Db21wb25lbnRzPFNSR0JBPFQ+Pihj
b21wb25lbnRzKSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29sb3JTZXJpYWxpemF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Db2xvclNlcmlhbGl6YXRpb24uY3BwCShyZXZpc2lvbiAyNzIwOTUp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvclNlcmlhbGl6YXRpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw4IEBAIHN0YXRpYyBBU0NJSUxpdGVyYWwg
c2VyaWFsaXphdGlvbihDb2xvclMKICAgICAgICAgcmV0dXJuICJsYWIiX3M7CiAgICAgY2FzZSBD
b2xvclNwYWNlOjpMaW5lYXJSR0I6CiAgICAgICAgIHJldHVybiAibGluZWFyLXNyZ2IiX3M7Cisg
ICAgY2FzZSBDb2xvclNwYWNlOjpSZWMyMDIwOgorICAgICAgICByZXR1cm4gInJlYzIwMjAiX3M7
CiAgICAgY2FzZSBDb2xvclNwYWNlOjpTUkdCOgogICAgICAgICByZXR1cm4gInNyZ2IiX3M7CiAg
ICAgfQpAQCAtMTU3LDYgKzE1OSwyMyBAQCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvclJlbmRlclRy
ZWVBc1RleHQoCiAgICAgcmV0dXJuIHNlcmlhbGl6YXRpb24oY29sb3IpOwogfQogCisvLyBNQVJL
OiBSZWMyMDIwPGZsb2F0PiBvdmVybG9hZHMKKworU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JDU1Mo
Y29uc3QgUmVjMjAyMDxmbG9hdD4mIGNvbG9yKQoreworICAgIHJldHVybiBzZXJpYWxpemF0aW9u
KGNvbG9yKTsKK30KKworU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JIVE1MKGNvbnN0IFJlYzIwMjA8
ZmxvYXQ+JiBjb2xvcikKK3sKKyAgICByZXR1cm4gc2VyaWFsaXphdGlvbihjb2xvcik7Cit9CisK
K1N0cmluZyBzZXJpYWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBSZWMyMDIwPGZs
b2F0PiYgY29sb3IpCit7CisgICAgcmV0dXJuIHNlcmlhbGl6YXRpb24oY29sb3IpOworfQorCiAv
LyBNQVJLOiBTUkdCQTxmbG9hdD4gb3ZlcmxvYWRzCiAKIFN0cmluZyBzZXJpYWxpemF0aW9uRm9y
Q1NTKGNvbnN0IFNSR0JBPGZsb2F0PiYgY29sb3IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvclNlcmlhbGl6YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvclNlcmlhbGl6YXRpb24uaAkocmV2aXNpb24g
MjcyMDk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JTZXJpYWxp
emF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAgdGVtcGxhdGU8dHlwZW5h
bWU+IHN0cnVjdCBBOThSR0I7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IERpc3BsYXlQMzsK
IHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgTGFiOwogdGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVj
dCBMaW5lYXJTUkdCQTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgUmVjMjAyMDsKIHRlbXBs
YXRlPHR5cGVuYW1lPiBzdHJ1Y3QgU1JHQkE7CiAKIC8vIHNlcmlhbGl6YXRpb25Gb3JIVE1MIHJl
dHVybnMgdGhlIGNvbG9yIHNlcmlhbGl6ZWQgYWNjb3JkaW5nIHRvIEhUTUw1IDxodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRtbCNmaWxsLWFuZC1zdHJv
a2Utc3R5bGVzPiAoMTAgU2VwdGVtYmVyIDIwMTUpCkBAIC02Myw2ICs2NCwxMCBAQCBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckNTCiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
c2VyaWFsaXphdGlvbkZvckhUTUwoY29uc3QgTGluZWFyU1JHQkE8ZmxvYXQ+Jik7CiBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQoY29uc3QgTGlu
ZWFyU1JHQkE8ZmxvYXQ+Jik7CiAKK1dFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxpemF0aW9u
Rm9yQ1NTKGNvbnN0IFJlYzIwMjA8ZmxvYXQ+Jik7CitXRUJDT1JFX0VYUE9SVCBTdHJpbmcgc2Vy
aWFsaXphdGlvbkZvckhUTUwoY29uc3QgUmVjMjAyMDxmbG9hdD4mKTsKK1dFQkNPUkVfRVhQT1JU
IFN0cmluZyBzZXJpYWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBSZWMyMDIwPGZs
b2F0PiYpOworCiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckNTUyhjb25z
dCBTUkdCQTxmbG9hdD4mKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxpemF0aW9uRm9y
SFRNTChjb25zdCBTUkdCQTxmbG9hdD4mKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxp
emF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBTUkdCQTxmbG9hdD4mKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yU3BhY2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yU3BhY2UuY3BwCShyZXZp
c2lvbiAyNzIwOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvclNw
YWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsOSBAQCBUZXh0U3RyZWFtJiBvcGVy
YXRvcjw8KFRleHRTdHJlYW0mIHRzLCBDCiAgICAgY2FzZSBDb2xvclNwYWNlOjpMaW5lYXJSR0I6
CiAgICAgICAgIHRzIDw8ICJMaW5lYXJSR0IiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIENv
bG9yU3BhY2U6OlJlYzIwMjA6CisgICAgICAgIHRzIDw8ICJSZWMyMDIwIjsKKyAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBDb2xvclNwYWNlOjpTUkdCOgogICAgICAgICB0cyA8PCAic1JHQiI7CiAg
ICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29s
b3JTcGFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yU3BhY2UuaAkocmV2aXNpb24gMjcyMDk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3JTcGFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBA
IGVudW0gY2xhc3MgQ29sb3JTcGFjZSA6IHVpbnQ4X3QgewogICAgIERpc3BsYXlQMywKICAgICBM
YWIsCiAgICAgTGluZWFyUkdCLAorICAgIFJlYzIwMjAsCiAgICAgU1JHQiwKIH07CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVHJhbnNmZXJGdW5jdGlvbnMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvclRy
YW5zZmVyRnVuY3Rpb25zLmgJKHJldmlzaW9uIDI3MjA5NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0NvbG9yVHJhbnNmZXJGdW5jdGlvbnMuaAkod29ya2luZyBjb3B5KQpA
QCAtNDMsMTEgKzQzLDIzIEBAIHN0cnVjdCBBOThSR0JUcmFuc2ZlckZ1bmN0aW9uIHsKIH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQsIFRyYW5zZmVyRnVuY3Rpb25Nb2RlIG1vZGU+CitzdHJ1Y3Qg
UmVjMjAyMFRyYW5zZmVyRnVuY3Rpb24geworICAgIHN0YXRpYyBjb25zdGV4cHIgVCBhbHBoYSA9
IDEuMDk5Mjk2ODI2ODA5NDQ7CisgICAgc3RhdGljIGNvbnN0ZXhwciBUIGJldGEgPSAwLjAxODA1
Mzk2ODUxMDgwNzsKKyAgICBzdGF0aWMgY29uc3RleHByIFQgZ2FtbWEgPSAwLjQ1OworCisgICAg
c3RhdGljIFQgdG9HYW1tYUVuY29kZWQoVCk7CisgICAgc3RhdGljIFQgdG9MaW5lYXIoVCk7Cit9
OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCBUcmFuc2ZlckZ1bmN0aW9uTW9kZSBtb2RlPgogc3Ry
dWN0IFNSR0JUcmFuc2ZlckZ1bmN0aW9uIHsKICAgICBzdGF0aWMgVCB0b0dhbW1hRW5jb2RlZChU
KTsKICAgICBzdGF0aWMgVCB0b0xpbmVhcihUKTsKIH07CiAKKy8vIE1BUks6IEE5OFJHQlRyYW5z
ZmVyRnVuY3Rpb24uCisKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIFRyYW5zZmVyRnVuY3Rpb25Nb2Rl
IG1vZGU+IFQgQTk4UkdCVHJhbnNmZXJGdW5jdGlvbjxULCBtb2RlPjo6dG9HYW1tYUVuY29kZWQo
VCBjKQogewogICAgIGF1dG8gc2lnbiA9IHN0ZDo6c2lnbmJpdChjKSA/IC0xLjBmIDogMS4wZjsK
QEAgLTY2LDYgKzc4LDQxIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQsIFRyYW5zZmVyRnVuY3Rpb25N
b2QKICAgICByZXR1cm4gcmVzdWx0OwogfQogCisvLyBNQVJLOiBSZWMyMDIwVHJhbnNmZXJGdW5j
dGlvbi4KKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgVHJhbnNmZXJGdW5jdGlvbk1vZGUgbW9kZT4g
VCBSZWMyMDIwVHJhbnNmZXJGdW5jdGlvbjxULCBtb2RlPjo6dG9HYW1tYUVuY29kZWQoVCBjKQor
eworICAgIGlmIGNvbnN0ZXhwciAobW9kZSA9PSBUcmFuc2ZlckZ1bmN0aW9uTW9kZTo6Q2xhbXBl
ZCkgeworICAgICAgICBpZiAoYyA8PSBiZXRhKQorICAgICAgICAgICAgcmV0dXJuIDQuNWYgKiBj
OworCisgICAgICAgIHJldHVybiBjbGFtcFRvPFQ+KGFscGhhICogc3RkOjpwb3coYywgZ2FtbWEp
IC0gKGFscGhhIC0gMS4wZiksIDAsIDEpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChzdGQ6
OmFicyhjKSA8PSBiZXRhKQorICAgICAgICAgICAgcmV0dXJuIDQuNWYgKiBjOworCisgICAgICAg
IGZsb2F0IHNpZ24gPSBzdGQ6OnNpZ25iaXQoYykgPyAtMS4wIDogMS4wOworICAgICAgICByZXR1
cm4gc2lnbiAqIGFscGhhICogc3RkOjpwb3coYywgZ2FtbWEpIC0gKGFscGhhIC0gMS4wKTsKKyAg
ICB9Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIFRyYW5zZmVyRnVuY3Rpb25Nb2RlIG1vZGU+
IFQgUmVjMjAyMFRyYW5zZmVyRnVuY3Rpb248VCwgbW9kZT46OnRvTGluZWFyKFQgYykKK3sKKyAg
ICBpZiBjb25zdGV4cHIgKG1vZGUgPT0gVHJhbnNmZXJGdW5jdGlvbk1vZGU6OkNsYW1wZWQpIHsK
KyAgICAgICAgaWYgKGMgPCBiZXRhICogNC41ZikKKyAgICAgICAgICAgIHJldHVybiBjIC8gNC41
ZjsKKyAgICAgICAgcmV0dXJuIGNsYW1wVG88VD4oc3RkOjpwb3coKGMgKyBhbHBoYSAtIDEuMCkg
LyBhbHBoYSwgMS4wIC8gZ2FtbWEpLCAwLCAxKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAo
c3RkOjphYnMoYykgPCBiZXRhICogNC41ZikKKyAgICAgICAgICAgIHJldHVybiBjIC8gNC41ZjsK
KworICAgICAgICBmbG9hdCBzaWduID0gc3RkOjpzaWduYml0KGMpID8gLTEuMCA6IDEuMDsKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6cG93KChjICsgYWxwaGEgLSAxLjApIC8gYWxwaGEsIDEuMCAvIGdh
bW1hKSAqIHNpZ247CisgICAgfQorfQorCisvLyBNQVJLOiBTUkdCVHJhbnNmZXJGdW5jdGlvbi4K
KwogdGVtcGxhdGU8dHlwZW5hbWUgVCwgVHJhbnNmZXJGdW5jdGlvbk1vZGUgbW9kZT4gVCBTUkdC
VHJhbnNmZXJGdW5jdGlvbjxULCBtb2RlPjo6dG9HYW1tYUVuY29kZWQoVCBjKQogewogICAgIGlm
IGNvbnN0ZXhwciAobW9kZSA9PSBUcmFuc2ZlckZ1bmN0aW9uTW9kZTo6Q2xhbXBlZCkgewpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JUeXBlcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVHlwZXMuaAkocmV2
aXNpb24gMjcyMDk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JU
eXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw5IEBAIHRlbXBsYXRlPHR5cGVuYW1l
PiBzdHJ1Y3QgTGFiOwogdGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBMaW5lYXJBOThSR0I7CiB0
ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IExpbmVhckRpc3BsYXlQMzsKIHRlbXBsYXRlPHR5cGVu
YW1lPiBzdHJ1Y3QgTGluZWFyRXh0ZW5kZWRTUkdCQTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1
Y3QgTGluZWFyUmVjMjAyMDsKIHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgTGluZWFyU1JHQkE7
Cit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IFJlYzIwMjA7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4g
c3RydWN0IFNSR0JBOwogdGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBYWVo7CiAKQEAgLTI1Niw2
ICsyNTgsMTIgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IExpbmVhckV4dGVuZAogfTsK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IExpbmVhckV4dGVuZGVkU1JHQkEoVCwgVCwgVCwgVCkgLT4g
TGluZWFyRXh0ZW5kZWRTUkdCQTxUPjsKIAordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IExp
bmVhclJlYzIwMjAgOiBSR0JBVHlwZTxMaW5lYXJSZWMyMDIwLCBULCBSR0JNb2RlbDxUPj4gewor
ICAgIHVzaW5nIFJHQkFUeXBlPExpbmVhclJlYzIwMjAsIFQsIFJHQk1vZGVsPFQ+Pjo6UkdCQVR5
cGU7CisgICAgdXNpbmcgR2FtbWFFbmNvZGVkQ291bnRlcnBhcnQgPSBSZWMyMDIwPFQ+OworfTsK
K3RlbXBsYXRlPHR5cGVuYW1lIFQ+IExpbmVhclJlYzIwMjAoVCwgVCwgVCwgVCkgLT4gTGluZWFy
UmVjMjAyMDxUPjsKKwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IExpbmVhclNSR0JBIDog
UkdCQVR5cGU8TGluZWFyU1JHQkEsIFQsIFJHQk1vZGVsPFQ+PiB7CiAgICAgdXNpbmcgUkdCQVR5
cGU8TGluZWFyU1JHQkEsIFQsIFJHQk1vZGVsPFQ+Pjo6UkdCQVR5cGU7CiAgICAgdXNpbmcgR2Ft
bWFFbmNvZGVkQ291bnRlcnBhcnQgPSBTUkdCQTxUPjsKQEAgLTI2Myw2ICsyNzEsMTMgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IExpbmVhclNSR0JBIAogfTsKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IExpbmVhclNSR0JBKFQsIFQsIFQsIFQpIC0+IExpbmVhclNSR0JBPFQ+OwogCit0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUmVjMjAyMCA6IFJHQkFUeXBlPFJlYzIwMjAsIFQsIFJH
Qk1vZGVsPFQ+PiB7CisgICAgdXNpbmcgUkdCQVR5cGU8UmVjMjAyMCwgVCwgUkdCTW9kZWw8VD4+
OjpSR0JBVHlwZTsKKyAgICB1c2luZyBMaW5lYXJDb3VudGVycGFydCA9IExpbmVhclJlYzIwMjA8
VD47CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGNvbG9yU3BhY2UgeyBDb2xvclNwYWNlOjpS
ZWMyMDIwIH07Cit9OwordGVtcGxhdGU8dHlwZW5hbWUgVD4gUmVjMjAyMChULCBULCBULCBUKSAt
PiBSZWMyMDIwPFQ+OworCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgU1JHQkEgOiBSR0JB
VHlwZTxTUkdCQSwgVCwgUkdCTW9kZWw8VD4+IHsKICAgICB1c2luZyBSR0JBVHlwZTxTUkdCQSwg
VCwgUkdCTW9kZWw8VD4+OjpSR0JBVHlwZTsKICAgICB1c2luZyBMaW5lYXJDb3VudGVycGFydCA9
IExpbmVhclNSR0JBPFQ+OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvQ29sb3JTcGFjZUNHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9Db2xvclNwYWNlQ0cuY3BwCShyZXZpc2lvbiAyNzIwOTUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvclNwYWNlQ0cuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDAsNiArMTAwLDIwIEBAIENHQ29sb3JTcGFjZVJlZiBsaW5lYXJSR0JDb2xv
clNwYWNlUmVmKCkKICAgICByZXR1cm4gbGluZWFyUkdCQ29sb3JTcGFjZTsKIH0KIAorQ0dDb2xv
clNwYWNlUmVmIHJlYzIwMjBDb2xvclNwYWNlUmVmKCkKK3sKKyAgICBzdGF0aWMgQ0dDb2xvclNw
YWNlUmVmIHJlYzIwMjBDb2xvclNwYWNlOworICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNl
RmxhZzsKKyAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10geworI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgICAgICByZWMyMDIwQ29sb3JTcGFjZSA9IENHQ29sb3JTcGFjZUNyZWF0ZVdpdGhO
YW1lKGtDR0NvbG9yU3BhY2VJVFVSXzIwMjApOworI2Vsc2UKKyAgICAgICAgcmVjMjAyMENvbG9y
U3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigpOworI2VuZGlmCisgICAgfSk7CisgICAgcmV0dXJu
IHJlYzIwMjBDb2xvclNwYWNlOworfQorCiBDR0NvbG9yU3BhY2VSZWYgc1JHQkNvbG9yU3BhY2VS
ZWYoKQogewogICAgIHN0YXRpYyBDR0NvbG9yU3BhY2VSZWYgc1JHQkNvbG9yU3BhY2U7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvclNwYWNlQ0cuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvclNwYWNl
Q0cuaAkocmV2aXNpb24gMjcyMDk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvQ29sb3JTcGFjZUNHLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDggQEAgc3Rh
dGljIGlubGluZSBDR0NvbG9yU3BhY2VSZWYgY2FjaGVkQ0dDbwogICAgICAgICByZXR1cm4gbGFi
Q29sb3JTcGFjZVJlZigpOwogICAgIGNhc2UgQ29sb3JTcGFjZTo6TGluZWFyUkdCOgogICAgICAg
ICByZXR1cm4gbGluZWFyUkdCQ29sb3JTcGFjZVJlZigpOworICAgIGNhc2UgQ29sb3JTcGFjZTo6
UmVjMjAyMDoKKyAgICAgICAgcmV0dXJuIHJlYzIwMjBDb2xvclNwYWNlUmVmKCk7CiAgICAgY2Fz
ZSBDb2xvclNwYWNlOjpTUkdCOgogICAgICAgICByZXR1cm4gc1JHQkNvbG9yU3BhY2VSZWYoKTsK
ICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzIwNzMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0wMS0zMCAgU2FtIFdlaW5p
ZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbG9yKHJl
YzIwMjAgLi4uKSBhcyBwYXJ0IG9mIENTUyBDb2xvciA0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjExMTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFJl
bW92ZSBub3cgcGFzc2luZyByZWMyMDIwIHRlc3RzLgorCisgICAgICAgICogZmFzdC9jc3MvcGFy
c2luZy1hOThyZ2ItY29sb3JzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Nzcy9wYXJzaW5nLWE5OHJnYi1jb2xvcnMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Nzcy9wYXJzaW5nLWNvbG9yLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9jc3MvcGFyc2luZy1jb2xvci1mdW5jdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
UmUtd3JpdGUgcGFyc2luZy1hOThyZ2ItY29sb3JzLmh0bWwgdG8gdGVzdCBhbGwgcmdiIHR5cGVz
IGluIHRoZSBjb2xvcigpIGZ1bmN0aW9uIGFzCisgICAgICAgIHRoZXkgYWxsIGhhdmUgdGhlIHNh
bWUgcGFyc2luZyByZXF1aXJlbWVudHMuIENvbG9yKGxhYiApIG11c3Qgc3RpbGwgYmUgcGFyc2Vk
IHNlcGFyYXRlbHkgCisgICAgICAgIGFzIGl0IGhhcyBhIGRpZmZlcmVudCBncmFtbWFyLgorCiAy
MDIxLTAxLTI5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgZm9udC1zdHJldGNoIGlzIG5vdCBhcHBsaWVkIHRvIHN5c3RlbS11aQpJbmRleDogTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNzIwNzMpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC00NjA2LDggKzQ2MDYsNiBAQCB3ZWJraXQub3JnL2Iv
MjIwOTI4IGltcG9ydGVkL3czYy93ZWItcGxhCiB3ZWJraXQub3JnL2IvMjIwOTI4IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAwNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdICMgSW52YWxpZCB0ZXN0LCBubyBjb2xvcnNwYWNlIHNwZWNp
ZmllZAogd2Via2l0Lm9yZy9iLzIyMDkyOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29sb3IvcHJlZGVmaW5lZC0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXSAj
IFJlcXVpcmVzIHByb3Bob3RvLXJnYiBzdXBwb3J0CiB3ZWJraXQub3JnL2IvMjIwOTI4IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAxMC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdICMgUmVxdWlyZXMgcHJvcGhvdG8tcmdiIHN1cHBvcnQK
LXdlYmtpdC5vcmcvYi8yMjA5MjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbG9yL3ByZWRlZmluZWQtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0gIyBSZXF1
aXJlcyByZWMyMDIwIHN1cHBvcnQKLXdlYmtpdC5vcmcvYi8yMjA5MjggaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3ByZWRlZmluZWQtMDEyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0gIyBSZXF1aXJlcyByZWMyMDIwIHN1cHBvcnQKIHdlYmtpdC5vcmcvYi8y
MjA5MjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3ByZWRl
ZmluZWQtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0gIyBSZXF1aXJlcyBmYWxsYmFjayAo
YXQgcGFyc2UgdGltZSkgc3VwcG9ydAogd2Via2l0Lm9yZy9iLzIyMDkyOCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcHJlZGVmaW5lZC0wMTUuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXSAjIFJlcXVpcmVzIGZhbGxiYWNrIChhdCBwYXJzZSB0aW1lKSBzdXBw
b3J0ICh1bmNsZWFyIGlmIHRoaXMgbWFrZXMgc2Vuc2UpCiB3ZWJraXQub3JnL2IvMjIwOTI4IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAx
Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdICMgUmVxdWlyZXMgeHl6IHN1cHBvcnQKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctYTk4cmdiLWNvbG9ycy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1hOThyZ2ItY29sb3Jz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjcyMDczKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
cGFyc2luZy1hOThyZ2ItY29sb3JzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3
ICswLDAgQEAKLVRlc3QgdGhlIHBhcnNpbmcgb2YgbGFiLCBsY2ggYW5kIGdyYXkgY29sb3JzLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCUgMCUgMCUpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMCAwIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGE5OC1yZ2IgMTAlIDEwJSAxMCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC4xIDAuMSAwLjEpIgot
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgLjIg
LjIgMjUlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuMiAwLjIgMC4yNSkiCi1QQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwIDAgMCAvIDEpIikgaXMg
ImNvbG9yKGE5OC1yZ2IgMCAwIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGE5OC1yZ2IgMCUgMCAwIC8gMC41KSIpIGlzICJjb2xvcihhOTgtcmdiIDAg
MCAwIC8gMC41KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihhOTgtcmdiIDIwJSAwIDEwLzAuNSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjIgMCAxIC8gMC41
KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdi
IDIwJSAwIDEwLzUwJSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjIgMCAxIC8gMC41KSIKLVBBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDQwMCUgMCAx
MC81MCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMSAwIDEgLyAwLjUpIgotUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0xNjAgMTYwKSIpIGlz
ICJjb2xvcihhOTgtcmdiIDAuNSAwIDEpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0yMDAgMjAwKSIpIGlzICJjb2xvcihhOTgtcmdi
IDAuNSAwIDEpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGE5OC1yZ2IgMCAwIDAgLyAtMTAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMCAwIC8gMCkiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwIDAg
MCAvIDExMCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMCAwIDApIgotUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDAgLyAzMDAlKSIpIGlzICJj
b2xvcihhOTgtcmdiIDAgMCAwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvcihhOTgtcmdiIDUwJSAtMjAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNSAwIDAp
IgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2Ig
NTAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNSAwIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IpIikgaXMgImNvbG9yKGE5OC1yZ2IgMCAw
IDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1y
Z2IgNTAlIC0yMDAgLyAwLjUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC41IDAgMCAvIDAuNSkiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiA1MCUg
LyAwLjUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC41IDAgMCAvIDAuNSkiCi1QQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAvIDAuNSkiKSBpcyAiY29s
b3IoYTk4LXJnYiAwIDAgMCAvIDAuNSkiCi0KLVRlc3QgaW52YWxpZCB2YWx1ZXMKLVBBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDAgMCAwIDApIikg
aXMgInJnYmEoMCwgMCwgMCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoYTk4LXJnYiAwZGVnIDAlIDApIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwJSAw
IDAgMSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDAlIDAgMCAxMCUpIikgaXMgInJnYmEoMCwgMCwg
MCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4
LXJnYiAwJSAwIDBkZWcpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwJSAwJSAwZGVnKSIpIGlzICJy
Z2JhKDAsIDAsIDAsIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGE5OC1yZ2IgNDAlIDAgMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWE5OHJnYi1jb2xvcnMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWE5OHJnYi1jb2xvcnMuaHRtbAkocmV2aXNp
b24gMjcyMDczKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1hOThyZ2ItY29sb3Jz
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw3MSArMCwwIEBACi08aHRtbD4KLSAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdCB0aGUgcGFyc2luZyBvZiBs
YWIsIGxjaCBhbmQgZ3JheSBjb2xvcnMuIik7Ci0KLSAgICBmdW5jdGlvbiBjb21wdXRlZFN0eWxl
KHByb3BlcnR5LCB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYp
OwotICAgICAgICBkaXYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIHZhbHVlKTsKLSAgICAg
ICAgdmFyIGNvbXB1dGVkVmFsdWUgPSBnZXRDb21wdXRlZFN0eWxlKGRpdikuZ2V0UHJvcGVydHlW
YWx1ZShwcm9wZXJ0eSk7Ci0gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZGl2KTsK
LSAgICAgICAgcmV0dXJuIGNvbXB1dGVkVmFsdWU7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gaW5u
ZXJTdHlsZShwcm9wZXJ0eSwgdmFsdWUpCi0gICAgewotICAgICAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIGRpdi5zdHlsZS5zZXRQcm9wZXJ0eShw
cm9wZXJ0eSwgdmFsdWUpOwotICAgICAgICByZXR1cm4gZGl2LnN0eWxlLmdldFByb3BlcnR5VmFs
dWUocHJvcGVydHkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHRlc3RDb21wdXRlZChwcm9wZXJ0
eSwgdmFsdWUsIGV4cGVjdGVkKQotICAgIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdjb21wdXRlZFN0eWxlKCInICsgcHJvcGVydHkgKyAnIiwgIicgKyB2YWx1ZSArICciKScsIGV4
cGVjdGVkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0SW5uZXIocHJvcGVydHksIHZhbHVl
LCBleHBlY3RlZCkKLSAgICB7Ci0gICAgICAgIGlmIChleHBlY3RlZCA9PT0gbnVsbCkKLSAgICAg
ICAgICAgIGV4cGVjdGVkID0gIiI7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5u
ZXJTdHlsZSgiJyArIHByb3BlcnR5ICsgJyIsICInICsgdmFsdWUgKyAnIiknLCBleHBlY3RlZCk7
Ci0gICAgfQotCi0gICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5
OC1yZ2IgMCUgMCUgMCUpIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDApIik7Ci0gICAgdGVzdENvbXB1
dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMTAlIDEwJSAxMCUpIiwgImNv
bG9yKGE5OC1yZ2IgMC4xIDAuMSAwLjEpIik7Ci0gICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgLjIgLjIgMjUlKSIsICJjb2xvcihhOTgtcmdiIDAuMiAw
LjIgMC4yNSkiKTsKLSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Io
YTk4LXJnYiAwIDAgMCAvIDEpIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDApIik7Ci0gICAgdGVzdENv
bXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCUgMCAwIC8gMC41KSIs
ICJjb2xvcihhOTgtcmdiIDAgMCAwIC8gMC41KSIpOwotICAgIHRlc3RDb21wdXRlZCgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDIwJSAwIDEwLzAuNSkiLCAiY29sb3IoYTk4LXJn
YiAwLjIgMCAxIC8gMC41KSIpOwotICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihhOTgtcmdiIDIwJSAwIDEwLzUwJSkiLCAiY29sb3IoYTk4LXJnYiAwLjIgMCAxIC8g
MC41KSIpOwotICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgt
cmdiIDQwMCUgMCAxMC81MCUpIiwgImNvbG9yKGE5OC1yZ2IgMSAwIDEgLyAwLjUpIik7Ci0gICAg
dGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0xNjAg
MTYwKSIsICJjb2xvcihhOTgtcmdiIDAuNSAwIDEpIik7Ci0gICAgdGVzdENvbXB1dGVkKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0yMDAgMjAwKSIsICJjb2xvcihhOTgt
cmdiIDAuNSAwIDEpIik7Ci0gICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGE5OC1yZ2IgMCAwIDAgLyAtMTAlKSIsICJjb2xvcihhOTgtcmdiIDAgMCAwIC8gMCkiKTsK
LSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwIDAg
MCAvIDExMCUpIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDApIik7Ci0gICAgdGVzdENvbXB1dGVkKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDAgLyAzMDAlKSIsICJjb2xvcihh
OTgtcmdiIDAgMCAwKSIpOwotICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihhOTgtcmdiIDUwJSAtMjAwKSIsICJjb2xvcihhOTgtcmdiIDAuNSAwIDApIik7Ci0gICAg
dGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlKSIsICJj
b2xvcihhOTgtcmdiIDAuNSAwIDApIik7Ci0gICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGE5OC1yZ2IpIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDApIik7Ci0gICAgdGVz
dENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0yMDAgLyAw
LjUpIiwgImNvbG9yKGE5OC1yZ2IgMC41IDAgMCAvIDAuNSkiKTsKLSAgICB0ZXN0Q29tcHV0ZWQo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiA1MCUgLyAwLjUpIiwgImNvbG9yKGE5
OC1yZ2IgMC41IDAgMCAvIDAuNSkiKTsKLSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoYTk4LXJnYiAvIDAuNSkiLCAiY29sb3IoYTk4LXJnYiAwIDAgMCAvIDAuNSki
KTsKLQotICAgIGRlYnVnKCcnKTsKLSAgICBkZWJ1ZygnVGVzdCBpbnZhbGlkIHZhbHVlcycpOwot
ICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDAgMCAw
IDApIiwgInJnYmEoMCwgMCwgMCwgMCkiKTsKLSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoYTk4LXJnYiAwZGVnIDAlIDApIiwgInJnYmEoMCwgMCwgMCwgMCkiKTsK
LSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwJSAw
IDAgMSkiLCAicmdiYSgwLCAwLCAwLCAwKSIpOwotICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDAlIDAgMCAxMCUpIiwgInJnYmEoMCwgMCwgMCwgMCki
KTsKLSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAw
JSAwIDBkZWcpIiwgInJnYmEoMCwgMCwgMCwgMCkiKTsKLSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwJSAwJSAwZGVnKSIsICJyZ2JhKDAsIDAsIDAs
IDApIik7Ci0gICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1y
Z2IgNDAlIDAgMGRlZykiLCAicmdiYSgwLCAwLCAwLCAwKSIpOwotCi08L3NjcmlwdD4KLSAgICAK
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY29s
b3ItZnVuY3Rpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL3BhcnNpbmctY29sb3ItZnVuY3Rpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY29sb3ItZnVuY3Rpb24tZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTkgQEAKK1Rlc3QgdGhlIHBhcnNpbmcgb2YgY29s
b3IoKSBmdW5jdGlvbiBjb2xvcnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisK
K1Rlc3RpbmcgY29sb3Ioc3JnYiAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3Ioc3JnYiAwJSAwJSAwJSkiKSBpcyAiY29sb3Ioc3JnYiAwIDAgMCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiAxMCUgMTAl
IDEwJSkiKSBpcyAiY29sb3Ioc3JnYiAwLjEgMC4xIDAuMSkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiAuMiAuMiAyNSUpIikgaXMgImNvbG9yKHNy
Z2IgMC4yIDAuMiAwLjI1KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihzcmdiIDAgMCAwIC8gMSkiKSBpcyAiY29sb3Ioc3JnYiAwIDAgMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiAwJSAwIDAgLyAwLjUp
IikgaXMgImNvbG9yKHNyZ2IgMCAwIDAgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKHNyZ2IgMjAlIDAgMTAvMC41KSIpIGlzICJjb2xvcihzcmdi
IDAuMiAwIDEgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKHNyZ2IgMjAlIDAgMTAvNTAlKSIpIGlzICJjb2xvcihzcmdiIDAuMiAwIDEgLyAwLjUp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHNyZ2IgNDAw
JSAwIDEwLzUwJSkiKSBpcyAiY29sb3Ioc3JnYiAxIDAgMSAvIDAuNSkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiA1MCUgLTE2MCAxNjApIikgaXMg
ImNvbG9yKHNyZ2IgMC41IDAgMSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3Ioc3JnYiA1MCUgLTIwMCAyMDApIikgaXMgImNvbG9yKHNyZ2IgMC41IDAgMSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiAwIDAg
MCAvIC0xMCUpIikgaXMgImNvbG9yKHNyZ2IgMCAwIDAgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihzcmdiIDAgMCAwIC8gMTEwJSkiKSBpcyAiY29s
b3Ioc3JnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3Ioc3JnYiAwIDAgMCAvIDMwMCUpIikgaXMgImNvbG9yKHNyZ2IgMCAwIDApIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHNyZ2IgNTAlIC0yMDApIikg
aXMgImNvbG9yKHNyZ2IgMC41IDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3Ioc3JnYiA1MCUpIikgaXMgImNvbG9yKHNyZ2IgMC41IDAgMCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYikiKSBpcyAiY29s
b3Ioc3JnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3Ioc3JnYiA1MCUgLTIwMCAvIDAuNSkiKSBpcyAiY29sb3Ioc3JnYiAwLjUgMCAwIC8gMC41
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihzcmdiIDUw
JSAvIDAuNSkiKSBpcyAiY29sb3Ioc3JnYiAwLjUgMCAwIC8gMC41KSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihzcmdiIC8gMC41KSIpIGlzICJjb2xvcihz
cmdiIDAgMCAwIC8gMC41KSIKKworVGVzdCBpbnZhbGlkIHZhbHVlcworUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHNyZ2IgMCAwIDAgMCkiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihzcmdiIDBkZWcgMCUgMCkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihzcmdiIDAlIDAgMCAxKSIpIGlzICJyZ2Jh
KDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKHNyZ2IgMCUgMCAwIDEwJSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihzcmdiIDAlIDAgMGRlZykiKSBpcyAi
cmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihzcmdiIDAlIDAlIDBkZWcpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiA0MCUgMCAwZGVnKSIp
IGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitUZXN0aW5nIGNvbG9yKGE5OC1yZ2IgLi4uKQorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCUgMCUg
MCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMCAwIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMTAlIDEwJSAxMCUpIikgaXMgImNvbG9yKGE5
OC1yZ2IgMC4xIDAuMSAwLjEpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGE5OC1yZ2IgLjIgLjIgMjUlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuMiAwLjIg
MC4yNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4
LXJnYiAwIDAgMCAvIDEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMCAwIDApIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCUgMCAwIC8gMC41KSIp
IGlzICJjb2xvcihhOTgtcmdiIDAgMCAwIC8gMC41KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDIwJSAwIDEwLzAuNSkiKSBpcyAiY29sb3Io
YTk4LXJnYiAwLjIgMCAxIC8gMC41KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihhOTgtcmdiIDIwJSAwIDEwLzUwJSkiKSBpcyAiY29sb3IoYTk4LXJnYiAw
LjIgMCAxIC8gMC41KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihhOTgtcmdiIDQwMCUgMCAxMC81MCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMSAwIDEgLyAw
LjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1y
Z2IgNTAlIC0xNjAgMTYwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNSAwIDEpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0yMDAgMjAw
KSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNSAwIDEpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDAgLyAtMTAlKSIpIGlzICJjb2xvcihh
OTgtcmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoYTk4LXJnYiAwIDAgMCAvIDExMCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMCAwIDAp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2Ig
MCAwIDAgLyAzMDAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDUwJSAtMjAwKSIpIGlzICJj
b2xvcihhOTgtcmdiIDAuNSAwIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNSAwIDApIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IpIikg
aXMgImNvbG9yKGE5OC1yZ2IgMCAwIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0yMDAgLyAwLjUpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMC41IDAgMCAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoYTk4LXJnYiA1MCUgLyAwLjUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC41IDAgMCAv
IDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4
LXJnYiAvIDAuNSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwIDAgMCAvIDAuNSkiCisKK1Rlc3QgaW52
YWxpZCB2YWx1ZXMKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihhOTgtcmdiIDAgMCAwIDApIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwZGVnIDAlIDApIikgaXMg
InJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoYTk4LXJnYiAwJSAwIDAgMSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDAlIDAgMCAx
MCUpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwJSAwIDBkZWcpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJn
YiAwJSAwJSAwZGVnKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNDAlIDAgMGRlZykiKSBpcyAicmdi
YSgwLCAwLCAwLCAwKSIKKworVGVzdGluZyBjb2xvcihyZWMyMDIwIC4uLikKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDAlIDAlIDAlKSIpIGlz
ICJjb2xvcihyZWMyMDIwIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihyZWMyMDIwIDEwJSAxMCUgMTAlKSIpIGlzICJjb2xvcihyZWMyMDIwIDAu
MSAwLjEgMC4xKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihyZWMyMDIwIC4yIC4yIDI1JSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjIgMC4yIDAuMjUpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHJlYzIwMjAgMCAw
IDAgLyAxKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDAlIDAgMCAvIDAuNSkiKSBpcyAiY29s
b3IocmVjMjAyMCAwIDAgMCAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IocmVjMjAyMCAyMCUgMCAxMC8wLjUpIikgaXMgImNvbG9yKHJlYzIwMjAg
MC4yIDAgMSAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IocmVjMjAyMCAyMCUgMCAxMC81MCUpIikgaXMgImNvbG9yKHJlYzIwMjAgMC4yIDAgMSAv
IDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IocmVj
MjAyMCA0MDAlIDAgMTAvNTAlKSIpIGlzICJjb2xvcihyZWMyMDIwIDEgMCAxIC8gMC41KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDUwJSAt
MTYwIDE2MCkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjUgMCAxKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDUwJSAtMjAwIDIwMCkiKSBpcyAi
Y29sb3IocmVjMjAyMCAwLjUgMCAxKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihyZWMyMDIwIDAgMCAwIC8gLTEwJSkiKSBpcyAiY29sb3IocmVjMjAyMCAw
IDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KHJlYzIwMjAgMCAwIDAgLyAxMTAlKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMCAwKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDAgMCAwIC8g
MzAwJSkiKSBpcyAiY29sb3IocmVjMjAyMCAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IocmVjMjAyMCA1MCUgLTIwMCkiKSBpcyAiY29sb3IocmVj
MjAyMCAwLjUgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihyZWMyMDIwIDUwJSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjUgMCAwKSIKK1BBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwKSIpIGlzICJjb2xv
cihyZWMyMDIwIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihyZWMyMDIwIDUwJSAtMjAwIC8gMC41KSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNSAw
IDAgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KHJlYzIwMjAgNTAlIC8gMC41KSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNSAwIDAgLyAwLjUpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHJlYzIwMjAgLyAw
LjUpIikgaXMgImNvbG9yKHJlYzIwMjAgMCAwIDAgLyAwLjUpIgorCitUZXN0IGludmFsaWQgdmFs
dWVzCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IocmVjMjAy
MCAwIDAgMCAwKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHJlYzIwMjAgMGRlZyAwJSAwKSIpIGlzICJyZ2JhKDAs
IDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KHJlYzIwMjAgMCUgMCAwIDEpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IocmVjMjAyMCAwJSAwIDAgMTAlKSIpIGlz
ICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKHJlYzIwMjAgMCUgMCAwZGVnKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHJlYzIwMjAgMCUgMCUg
MGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDQwJSAwIDBkZWcpIikgaXMgInJnYmEoMCwgMCwg
MCwgMCkiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jb2xvci1mdW5jdGlvbi5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY29sb3ItZnVuY3Rp
b24uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNv
bG9yLWZ1bmN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NSBAQAorPGh0bWw+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRlc3QgdGhl
IHBhcnNpbmcgb2YgY29sb3IoKSBmdW5jdGlvbiBjb2xvcnMuIik7CisKKyAgICBmdW5jdGlvbiBj
b21wdXRlZFN0eWxlKHByb3BlcnR5LCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHZhciBkaXYgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChkaXYpOworICAgICAgICBkaXYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIHZh
bHVlKTsKKyAgICAgICAgdmFyIGNvbXB1dGVkVmFsdWUgPSBnZXRDb21wdXRlZFN0eWxlKGRpdiku
Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eSk7CisgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3Zl
Q2hpbGQoZGl2KTsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVkVmFsdWU7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gaW5uZXJTdHlsZShwcm9wZXJ0eSwgdmFsdWUpCisgICAgeworICAgICAgICB2YXIg
ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGRpdi5zdHlsZS5z
ZXRQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUpOworICAgICAgICByZXR1cm4gZGl2LnN0eWxlLmdl
dFByb3BlcnR5VmFsdWUocHJvcGVydHkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3RDb21w
dXRlZChwcm9wZXJ0eSwgdmFsdWUsIGV4cGVjdGVkKQorICAgIHsKKyAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdjb21wdXRlZFN0eWxlKCInICsgcHJvcGVydHkgKyAnIiwgIicgKyB2YWx1
ZSArICciKScsIGV4cGVjdGVkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0SW5uZXIocHJv
cGVydHksIHZhbHVlLCBleHBlY3RlZCkKKyAgICB7CisgICAgICAgIGlmIChleHBlY3RlZCA9PT0g
bnVsbCkKKyAgICAgICAgICAgIGV4cGVjdGVkID0gIiI7CisgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5uZXJTdHlsZSgiJyArIHByb3BlcnR5ICsgJyIsICInICsgdmFsdWUgKyAnIikn
LCBleHBlY3RlZCk7CisgICAgfQorCisgICAgZm9yIChjb25zdCBjb2xvciBvZiBbICJzcmdiIiwg
ImE5OC1yZ2IiLCAicmVjMjAyMCIgXSkgeworICAgICAgICBkZWJ1ZygnJyk7CisgICAgICAgIGRl
YnVnKGBUZXN0aW5nIGNvbG9yKCR7Y29sb3J9IC4uLilgKTsKKyAgICAgICAgCisgICAgICAgIHRl
c3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAwJSAwJSAwJSlg
LCBgY29sb3IoJHtjb2xvcn0gMCAwIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dy
b3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAxMCUgMTAlIDEwJSlgLCBgY29sb3IoJHtjb2xv
cn0gMC4xIDAuMSAwLjEpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xv
ciIsIGBjb2xvcigke2NvbG9yfSAuMiAuMiAyNSUpYCwgYGNvbG9yKCR7Y29sb3J9IDAuMiAwLjIg
MC4yNSlgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9y
KCR7Y29sb3J9IDAgMCAwIC8gMSlgLCBgY29sb3IoJHtjb2xvcn0gMCAwIDApYCk7CisgICAgICAg
IHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAwJSAwIDAg
LyAwLjUpYCwgYGNvbG9yKCR7Y29sb3J9IDAgMCAwIC8gMC41KWApOworICAgICAgICB0ZXN0Q29t
cHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCBgY29sb3IoJHtjb2xvcn0gMjAlIDAgMTAvMC41KWAs
IGBjb2xvcigke2NvbG9yfSAwLjIgMCAxIC8gMC41KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQo
ImJhY2tncm91bmQtY29sb3IiLCBgY29sb3IoJHtjb2xvcn0gMjAlIDAgMTAvNTAlKWAsIGBjb2xv
cigke2NvbG9yfSAwLjIgMCAxIC8gMC41KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoImJhY2tn
cm91bmQtY29sb3IiLCBgY29sb3IoJHtjb2xvcn0gNDAwJSAwIDEwLzUwJSlgLCBgY29sb3IoJHtj
b2xvcn0gMSAwIDEgLyAwLjUpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1j
b2xvciIsIGBjb2xvcigke2NvbG9yfSA1MCUgLTE2MCAxNjApYCwgYGNvbG9yKCR7Y29sb3J9IDAu
NSAwIDEpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xv
cigke2NvbG9yfSA1MCUgLTIwMCAyMDApYCwgYGNvbG9yKCR7Y29sb3J9IDAuNSAwIDEpYCk7Cisg
ICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAw
IDAgMCAvIC0xMCUpYCwgYGNvbG9yKCR7Y29sb3J9IDAgMCAwIC8gMClgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKCR7Y29sb3J9IDAgMCAwIC8gMTEw
JSlgLCBgY29sb3IoJHtjb2xvcn0gMCAwIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFj
a2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAwIDAgMCAvIDMwMCUpYCwgYGNvbG9yKCR7
Y29sb3J9IDAgMCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3Ii
LCBgY29sb3IoJHtjb2xvcn0gNTAlIC0yMDApYCwgYGNvbG9yKCR7Y29sb3J9IDAuNSAwIDApYCk7
CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9y
fSA1MCUpYCwgYGNvbG9yKCR7Y29sb3J9IDAuNSAwIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRl
ZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSlgLCBgY29sb3IoJHtjb2xvcn0g
MCAwIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xv
cigke2NvbG9yfSA1MCUgLTIwMCAvIDAuNSlgLCBgY29sb3IoJHtjb2xvcn0gMC41IDAgMCAvIDAu
NSlgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKCR7
Y29sb3J9IDUwJSAvIDAuNSlgLCBgY29sb3IoJHtjb2xvcn0gMC41IDAgMCAvIDAuNSlgKTsKKyAg
ICAgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKCR7Y29sb3J9IC8g
MC41KWAsIGBjb2xvcigke2NvbG9yfSAwIDAgMCAvIDAuNSlgKTsKKworICAgICAgICBkZWJ1Zygn
Jyk7CisgICAgICAgIGRlYnVnKCdUZXN0IGludmFsaWQgdmFsdWVzJyk7CisgICAgICAgIHRlc3RD
b21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAwIDAgMCAwKWAsIGBy
Z2JhKDAsIDAsIDAsIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xv
ciIsIGBjb2xvcigke2NvbG9yfSAwZGVnIDAlIDApYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAg
ICAgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKCR7Y29sb3J9IDAl
IDAgMCAxKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFj
a2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAwJSAwIDAgMTAlKWAsIGByZ2JhKDAsIDAs
IDAsIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xv
cigke2NvbG9yfSAwJSAwIDBkZWcpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKCR7Y29sb3J9IDAlIDAlIDBkZWcp
YCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgYGNvbG9yKCR7Y29sb3J9IDQwJSAwIDBkZWcpYCwgYHJnYmEoMCwgMCwgMCwgMClg
KTsKKyAgICB9Cis8L3NjcmlwdD4KKyAgICAKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjcyMTE2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisy
MDIxLTAxLTMwICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgY29sb3IocmVjMjAyMCAuLi4pIGFzIHBhcnQgb2YgQ1NTIENvbG9yIDQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTExNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIG5l
dyBXUFQgdGVzdHMgZm9yIGNvbG9yKHJlYzIwMjAgKSB0aGF0IHdpbGwgYmUgdXBzdHJlYW1lZCBz
aG9ydGx5LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVj
MjAyMC0wMDEtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDItZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAy
MC0wMDIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29sb3IvcmVjMjAyMC0wMDMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDQtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29s
b3IvcmVjMjAyMC0wMDQuaHRtbDogQWRkZWQuCisKIDIwMjEtMDEtMjkgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBGaXggV2ViQXNzZW1ibHkuR2xv
YmFsJ3MgZXJyb3IgbWVzc2FnZSBhbmQgc3VwcG9ydCAiZnVuY3JlZiIKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9yZWMyMDIw
LTAwMS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9yZWMyMDIwLTAwMS1leHBlY3RlZC5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9yZWMyMDIwLTAwMS1leHBlY3RlZC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPkdyZWVuIHNxdWFyZSByZWZlcmVuY2U8L3RpdGxlPgorPHN0eWxlPgor
ICAgIC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogIzAwODAwMDsgd2lkdGg6IDEyZW07IGhlaWdo
dDogMTJlbTt9Cis8L3N0eWxlPgorPGJvZHk+CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNl
ZSBhIGdyZWVuIHNxdWFyZSwgYW5kIG5vIHJlZC48L3A+CisgICAgPGRpdiBjbGFzcz0idGVzdCI+
PC9kaXY+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDEuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3Iv
cmVjMjAyMC0wMDEuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDEuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgQ29sb3IgNDogcmVjMjAyMDwvdGl0bGU+Cis8bGluayBy
ZWw9ImF1dGhvciIgdGl0bGU9IlNhbSBXZWluaWciIGhyZWY9Im1haWx0bzp3ZWluaWdAYXBwbGUu
Y29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nz
cy1jb2xvci00LyN2YWxkZWYtY29sb3ItcmVjMjAyMCI+Cis8bGluayByZWw9Im1hdGNoIiBocmVm
PSJncmVlbnNxdWFyZS1yZWYuaHRtbCI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9InJl
YzIwMjAgd2l0aCBubyBhbHBoYSI+Cis8c3R5bGU+CisgICAgLnRlc3QgeyBiYWNrZ3JvdW5kLWNv
bG9yOiByZWQ7IHdpZHRoOiAxMmVtOyBoZWlnaHQ6IDEyZW07IH0KKyAgICAudGVzdCB7IGJhY2tn
cm91bmQtY29sb3I6IGNvbG9yKHJlYzIwMjAgMC4yMzQxNzEgMC40Mjk4MjUgMC4wODQ5ODkpOyB9
IC8qIGdyZWVuIChzUkdCICMwMDgwMDApIGNvbnZlcnRlZCB0byByZWMyMDIwICovCis8L3N0eWxl
PgorPGJvZHk+CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIGdyZWVuIHNxdWFyZSwg
YW5kIG5vIHJlZC48L3A+CisgICAgPGRpdiBjbGFzcz0idGVzdCI+PC9kaXY+Cis8L2JvZHk+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29sb3IvcmVjMjAyMC0wMDItZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0w
MDItZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDItZXhwZWN0ZWQu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5CbGFjayBzcXVhcmUgcmVmZXJlbmNlPC90aXRs
ZT4KKzxzdHlsZT4KKyAgICAudGVzdCB7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IHdpZHRo
OiAxMmVtOyBoZWlnaHQ6IDEyZW07IH0KKzwvc3R5bGU+Cis8Ym9keT4KKyAgICA8cD5UZXN0IHBh
c3NlcyBpZiB5b3Ugc2VlIGEgYmxhY2sgc3F1YXJlLCBhbmQgbm8gcmVkLjwvcD4KKyAgICA8ZGl2
IGNsYXNzPSJ0ZXN0Ij48L2Rpdj4KKzwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9yZWMyMDIwLTAwMi5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb2xvci9yZWMyMDIwLTAwMi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9yZWMyMDIw
LTAwMi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBDb2xvciA0OiByZWMyMDIwPC90
aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iU2FtIFdlaW5pZyIgaHJlZj0ibWFpbHRv
OndlaW5pZ0BhcHBsZS5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0
cy5jc3N3Zy5vcmcvY3NzLWNvbG9yLTQvI3ZhbGRlZi1jb2xvci1yZWMyMDIwIj4KKzxsaW5rIHJl
bD0ibWF0Y2giIGhyZWY9ImJsYWNrc3F1YXJlLXJlZi5odG1sIj4KKzxtZXRhIG5hbWU9ImFzc2Vy
dCIgY29udGVudD0icmVjMjAyMCB3aXRoIG5vIGFscGhhIj4KKzxzdHlsZT4KKyAgICAudGVzdCB7
IGJhY2tncm91bmQtY29sb3I6IHJlZDsgd2lkdGg6IDEyZW07IGhlaWdodDogMTJlbTsgfQorICAg
IC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocmVjMjAyMCAwIDAgMCk7IH0gLyogYmxh
Y2sgKHNSR0IgIzAwMDAwMCkgY29udmVydGVkIHRvIHJlYzIwMjAgKi8KKzwvc3R5bGU+Cis8Ym9k
eT4KKyAgICA8cD5UZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIGEgYmxhY2sgc3F1YXJlLCBhbmQgbm8g
cmVkLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij48L2Rpdj4KKzwvYm9keT4KSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9y
ZWMyMDIwLTAwMy1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9yZWMyMDIwLTAwMy1leHBl
Y3RlZC5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9yZWMyMDIwLTAwMy1leHBlY3RlZC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBDb2xvciA0OiBDU1MgQ29sb3IgNDogcmVjMjAyMDwv
dGl0bGU+Cis8c3R5bGU+CisgICAgYm9keSB7IGJhY2tncm91bmQtY29sb3I6IGdyZXk7IH0KKyAg
ICAudGVzdCB7IGJhY2tncm91bmQtY29sb3I6IHJnYig5OS45OTMlIDEwMCUgMTAwJSk7IHdpZHRo
OiAxMmVtOyBoZWlnaHQ6IDEyZW07IH0gLyogY29sb3IocmVjMjAyMCAxIDEgMSkgY29udmVydGVk
IHRvIHNSR0IgKi8KKzwvc3R5bGU+Cis8Ym9keT4KKyAgICA8cD5UZXN0IHBhc3NlcyBpZiB5b3Ug
c2VlIGEgc2luZ2xlIHNxdWFyZSwgYW5kIG5vdCB0d28gcmVjdGFuZ2xlcyBvZiBkaWZmZXJlbnQg
Y29sb3JzLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij48L2Rpdj4KKzwvYm9keT4KSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xv
ci9yZWMyMDIwLTAwMy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9yZWMyMDIwLTAwMy5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb2xvci9yZWMyMDIwLTAwMy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTggQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNT
UyBDb2xvciA0OiByZWMyMDIwPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iU2Ft
IFdlaW5pZyIgaHJlZj0ibWFpbHRvOndlaW5pZ0BhcHBsZS5jb20iPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbG9yLTQvI3ZhbGRlZi1jb2xv
ci1yZWMyMDIwIj4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJlYzIwMjAtMDAzLXJlZi5odG1s
Ij4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0icmVjMjAyMCB3aXRoIG5vIGFscGhhIj4K
KzxzdHlsZT4KKyAgICBib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsgfQorICAgIC50ZXN0
IHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB3aWR0aDogMTJlbTsgaGVpZ2h0OiA2ZW07IG1hcmdp
bi10b3A6IDA7IH0KKyAgICAucmVmIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiKDk5Ljk5MyUgMTAw
JSAxMDAlKTsgd2lkdGg6IDEyZW07IGhlaWdodDogNmVtOyBtYXJnaW4tYm90dG9tOiAwOyB9IC8q
IGNvbG9yKHJlYzIwMjAgMSAxIDEpIGNvbnZlcnRlZCB0byBzUkdCICovCisgICAgLnRlc3QgeyBi
YWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihyZWMyMDIwIDEgMSAxKTsgfQorPC9zdHlsZT4KKzxib2R5
PgorICAgIDxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBzaW5nbGUgc3F1YXJlLCBhbmQgbm90
IHR3byByZWN0YW5nbGVzIG9mIGRpZmZlcmVudCBjb2xvcnMuPC9wPgorICAgIDxkaXYgY2xhc3M9
InJlZiI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0idGVzdCI+PC9kaXY+Cis8L2JvZHk+CkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29s
b3IvcmVjMjAyMC0wMDQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDQt
ZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDQtZXhwZWN0ZWQuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgQ29sb3IgNDogQ1NTIENvbG9yIDQ6IHJlYzIw
MjA8L3RpdGxlPgorPHN0eWxlPgorICAgIC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogbGFiKDg1
Ljc3MjklIC0xNjAuNzI1OSAxMDkuMjMxOSk7IHdpZHRoOiAxMmVtOyBoZWlnaHQ6IDEyZW07IH0g
LyogY29sb3IocmVjMjAyMCAwIDEgMCkgY29udmVydGVkIHRvIExhYiAqLworPC9zdHlsZT4KKzxi
b2R5PgorICAgIDxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBzaW5nbGUgc3F1YXJlLCBhbmQg
bm90IHR3byByZWN0YW5nbGVzIG9mIGRpZmZlcmVudCBjb2xvcnMuPC9wPgorICAgIDxkaXYgY2xh
c3M9InRlc3QiPjwvZGl2PgorPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3JlYzIwMjAtMDA0Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbG9yL3JlYzIwMjAtMDA0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3JlYzIwMjAtMDA0
Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Q1NTIENvbG9yIDQ6IHJlYzIwMjA8L3RpdGxl
PgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJTYW0gV2VpbmlnIiBocmVmPSJtYWlsdG86d2Vp
bmlnQGFwcGxlLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtY29sb3ItNC8jdmFsZGVmLWNvbG9yLXJlYzIwMjAiPgorPGxpbmsgcmVsPSJt
YXRjaCIgaHJlZj0icmVjMjAyMC0wMDQtcmVmLmh0bWwiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBj
b250ZW50PSJyZWMyMDIwIHdpdGggbm8gYWxwaGEiPgorPHN0eWxlPgorICAgIC50ZXN0IHsgYmFj
a2dyb3VuZC1jb2xvcjogcmVkOyB3aWR0aDogMTJlbTsgaGVpZ2h0OiA2ZW07IG1hcmdpbi10b3A6
IDA7IH0KKyAgICAucmVmIHsgYmFja2dyb3VuZC1jb2xvcjogbGFiKDg1Ljc3MjklIC0xNjAuNzI1
OSAxMDkuMjMxOSk7IHdpZHRoOiAxMmVtOyBoZWlnaHQ6IDZlbTsgbWFyZ2luLWJvdHRvbTogMDsg
fSAvKiBjb2xvcihyZWMyMDIwIDAgMSAwKSBjb252ZXJ0ZWQgdG8gTGFiICovCisgICAgLnRlc3Qg
eyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihyZWMyMDIwIDAgMSAwKTsgfQorPC9zdHlsZT4KKzxi
b2R5PgorICAgIDxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBzaW5nbGUgc3F1YXJlLCBhbmQg
bm90IHR3byByZWN0YW5nbGVzIG9mIGRpZmZlcmVudCBjb2xvcnMuPC9wPgorICAgIDxkaXYgY2xh
c3M9InJlZiI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0idGVzdCI+PC9kaXY+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418818</attachid>
            <date>2021-01-30 10:45:20 -0800</date>
            <delta_ts>2021-01-30 23:53:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221114-20210130104520.patch</filename>
            <type>text/plain</type>
            <size>53042</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MjExNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY4IEBACisyMDIxLTAxLTMwICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgY29sb3Io
cmVjMjAyMCAuLi4pIGFzIHBhcnQgb2YgQ1NTIENvbG9yIDQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTExNAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46Cisg
ICAgICAgIEFkZCBjb21tZW50IHRvIGluZGljYXRlIHJlYzIwMjAgaXMgc3VwcG9ydCBjb2xvciBm
dW5jdGlvbiB0eXBlLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlckhl
bHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpw
YXJzZUNvbG9yRnVuY3Rpb25Gb3JSR0JUeXBlcyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9w
ZXJ0eVBhcnNlckhlbHBlcnM6OnBhcnNlQ29sb3JGdW5jdGlvblBhcmFtZXRlcnMpOgorICAgICAg
ICBQYXJzZSBjb2xvcihyZWMyMDIwICkgdXNpbmcgdGhlIGV4aXN0aW5nIGdlbmVyaWMgcmdiIHR5
cGUgY29sb3IgZnVuY3Rpb24KKyAgICAgICAgcGFyc2luZyBmdW5jdGlvbi4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmg6CisgICAgICAgIFJlbW92ZSBvdmVybHkgc3BlY2lm
aWMgY29tbWVudCB0aGF0IGxpc3RlZCBhbGwgdGhlIGNvbG9yIHR5cGVzIHRoYXQgQ29sb3IKKyAg
ICAgICAgY291bGQgaG9sZCwgcmVwbGFjaW5nIGl0IHdpdGggYSBtb3JlIGdlbmVyaWMgc3RhdGVt
ZW50IGFib3V0IHRoZSBmdW5jdGlvbmFseQorICAgICAgICBvZiBFeHRlbmRlZENvbG9yLiBUaGlz
IGF2b2lkcyBuZWVkaW5nIHRvIHVwZGF0ZSB0aGlzIG5vdCB2ZXJ5IHVzZWZ1bCBjb21tZW50Cisg
ICAgICAgIGV2ZXJ5dGltZSB3ZSBhZGQgYSBuZXcgc3VwcG9ydGVkIGNvbG9yIHR5cGUuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvckNvbnZlcnNpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9MaW5lYXJSZWMyMDIwKToKKyAgICAgICAgKFdlYkNvcmU6OnRvUmVjMjAyMCk6
CisgICAgICAgIChXZWJDb3JlOjp0b1hZWkEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yQ29udmVyc2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6dG9MaW5lYXJSZWMyMDIwKToK
KyAgICAgICAgKFdlYkNvcmU6OnRvUmVjMjAyMCk6CisgICAgICAgIChXZWJDb3JlOjp0b0xpbmVh
ckRpc3BsYXlQMyk6CisgICAgICAgIChXZWJDb3JlOjpjYWxsV2l0aENvbG9yVHlwZSk6CisgICAg
ICAgIEFkZCBjb252ZXJzaW9uIHN1cHBvcnQgZm9yIFJlYzIwMjAsIHV0aWxpemluZyB0aGUgUmVj
MjAyMFRyYW5zZmVyRnVuY3Rpb24KKyAgICAgICAgZm9yIGdhbW1hIGNvcnJlY3Rpb24uIEZpeCBp
bmNvcnJlY3Qgc29ydGluZyBvZiB0b0xpbmVhckRpc3BsYXlQMy4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0NvbG9yU2VyaWFsaXphdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpz
ZXJpYWxpemF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OnNlcmlhbGl6YXRpb25Gb3JDU1MpOgor
ICAgICAgICAoV2ViQ29yZTo6c2VyaWFsaXphdGlvbkZvckhUTUwpOgorICAgICAgICAoV2ViQ29y
ZTo6c2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0NvbG9yU2VyaWFsaXphdGlvbi5oOgorICAgICAgICBBZGQgc2VyaWFsaXphdGlv
biBzdXBwb3J0LCBtYXRjaGluZyBvdGhlciByZ2IgY29sb3IoKSBmdW5jdGlvbgorICAgICAgICB0
eXBlcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9yU3BhY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29sb3JTcGFjZS5oOgorICAgICAgICBBZGQgUmVjMjAyMCBhcyBhIG5ldyBDb2xvclNwYWNlLgor
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JUcmFuc2ZlckZ1bmN0aW9ucy5oOgor
ICAgICAgICAoV2ViQ29yZTo6UmVjMjAyMFRyYW5zZmVyRnVuY3Rpb246OnRvR2FtbWFFbmNvZGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlYzIwMjBUcmFuc2ZlckZ1bmN0aW9uOjp0b0xpbmVhcik6
CisgICAgICAgIEFkZCB0cmFuc2ZlciBmdW5jdGlvbiBmb3IgUmVjMjAyMC4gQm90aCBjbGFtcGVk
IGFuZCB1bmNsYW1wZWQKKyAgICAgICAgYXJlIGltcGxlbWVudGVkLCB0aG91Z2ggZm9yIG5vdywg
b25seSB0aGUgY2xhbXBlZCB2YXJpYW50IGlzCisgICAgICAgIGJlaW5nIHVzZWQuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvclR5cGVzLmg6CisgICAgICAgIEFkZCBSZWMyMDIw
IGFuZCBMaW5lYXJSZWMyMDIwIHR5cGVzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvQ29sb3JTcGFjZUNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnJlYzIwMjBDb2xvclNwYWNl
UmVmKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvclNwYWNlQ0cuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNhY2hlZENHQ29sb3JTcGFjZSk6CisgICAgICAgIEFkZCBzdXBwb3J0
IGZvciB0aGUgcmVjMjAyMCBhcyBhIENvcmVHcmFwaGljcyBjb2xvciBzcGFjZSwgd2hlcmUKKyAg
ICAgICAgaXQgaXMga25vd24gYXMga0NHQ29sb3JTcGFjZUlUVVJfMjAyMC4KKwogMjAyMS0wMS0z
MCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10g
QWRqdXN0IHRoZSBsaW5lIGJveCBzdHJldGNoaW5nIChxdWlya3kpIDxicj4gYmVoYXZpb3IKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCShyZXZpc2lvbiAyNzIwOTUp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgkod29ya2luZyBjb3B5
KQpAQCAtMTQwOSw2ICsxNDA5LDcgQEAgc1JHQgogYTk4LXJnYgogZGlzcGxheS1wMwogLy8gbGFi
CisvLyByZWMyMDIwCiAvLyBzUkdCCiAKIC8vIHByZWZlcnMtZGVmYXVsdC1hcHBlYXJhbmNlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlckhlbHBlcnMuY3BwCShyZXZpc2lvbiAyNzIwOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VySGVscGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg2
Nyw3ICs4NjcsNyBAQCBzdGF0aWMgQ29sb3IgcGFyc2VMQ0hQYXJhbWV0ZXJzKENTU1BhcnNlCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBDb2xvclR5cGU+CiBzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0
aW9uRm9yUkdCVHlwZXMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgYXJncykKIHsKLSAgICBBU1NFUlQo
YXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUE5OFJnYiB8fCBhcmdzLnBlZWsoKS5pZCgpID09
IENTU1ZhbHVlRGlzcGxheVAzIHx8IGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVTUkdCKTsK
KyAgICBBU1NFUlQoYXJncy5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZUE5OFJnYiB8fCBhcmdzLnBl
ZWsoKS5pZCgpID09IENTU1ZhbHVlRGlzcGxheVAzIHx8IGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NT
VmFsdWVSZWMyMDIwIHx8IGFyZ3MucGVlaygpLmlkKCkgPT0gQ1NTVmFsdWVTUkdCKTsKICAgICBj
b25zdW1lSWRlbnRSYXcoYXJncyk7CiAKICAgICBkb3VibGUgY2hhbm5lbHNbM10gPSB7IDAsIDAs
IDAgfTsKQEAgLTkzMyw2ICs5MzMsOSBAQCBzdGF0aWMgQ29sb3IgcGFyc2VDb2xvckZ1bmN0aW9u
UGFyYW1ldGVyCiAgICAgY2FzZSBDU1NWYWx1ZUxhYjoKICAgICAgICAgY29sb3IgPSBwYXJzZUNv
bG9yRnVuY3Rpb25Gb3JMYWJQYXJhbWV0ZXJzKGFyZ3MpOwogICAgICAgICBicmVhazsKKyAgICBj
YXNlIENTU1ZhbHVlUmVjMjAyMDoKKyAgICAgICAgY29sb3IgPSBwYXJzZUNvbG9yRnVuY3Rpb25G
b3JSR0JUeXBlczxSZWMyMDIwPGZsb2F0Pj4oYXJncyk7CisgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgQ1NTVmFsdWVTUkdCOgogICAgICAgICBjb2xvciA9IHBhcnNlQ29sb3JGdW5jdGlvbkZvclJH
QlR5cGVzPFNSR0JBPGZsb2F0Pj4oYXJncyk7CiAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCShyZXZpc2lvbiAyNzIwOTUpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oCSh3b3JraW5nIGNvcHkpCkBA
IC01NSwxMCArNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBBYmxlIHRvIHJlcHJlc2Vu
dDoKIC8vICAgIC0gU3BlY2lhbCAiaW52YWxpZCBjb2xvciIgc3RhdGUsIHRyZWF0ZWQgYXMgdHJh
bnNwYXJlbnQgYmxhY2sgYnV0IGRpc3Rpbmd1aXNoYWJsZQogLy8gICAgLSA0eCA4LWJpdCAoMC0y
NTUpIHNSR0JBLCBzdG9yZWQgaW5saW5lLCBubyBhbGxvY2F0aW9uCi0vLyAgICAtIDR4IGZsb2F0
ICgwLTEpIHNSR0JBLCBzdG9yZWQgaW4gYSByZWZlcmVuY2UgY291bnRlZCBzdWItb2JqZWN0Ci0v
LyAgICAtIDR4IGZsb2F0ICgwLTEpIExpbmVhciBzUkdCQSwgc3RvcmVkIGluIGEgcmVmZXJlbmNl
IGNvdW50ZWQgc3ViLW9iamVjdAotLy8gICAgLSA0eCBmbG9hdCAoMC0xKSBEaXNwbGF5UDMsIHN0
b3JlZCBpbiBhIHJlZmVyZW5jZSBjb3VudGVkIHN1Yi1vYmplY3QKLS8vICAgIC0gNHggZmxvYXQg
KDAtMSkgTGFiLCBzdG9yZWQgaW4gYSByZWZlcmVuY2UgY291bnRlZCBzdWItb2JqZWN0CisvLyAg
ICAtIDR4IGZsb2F0IGNvbG9yIGNvbXBvbmVudHMgKyBjb2xvciBzcGFjZSwgc3RvcmVkIGluIGEg
cmVmZXJlbmNlIGNvdW50ZWQgc3ViLW9iamVjdAogLy8KIC8vIEFkZGl0aW9uYWxseSwgdGhlIGlu
bGluZSA4LWJpdCBzUkdCQSBjYW4gaGF2ZSBhbiBvcHRpb25hbCAic2VtYW50aWMiIGJpdCBzZXQg
b24gaXQsCiAvLyB3aGljaCBpbmRpY2F0ZXMgdGhlIGNvbG9yIG9yaWdpbmF0ZWQgZnJvbSBhIENT
UyBzZW1hbnRpYyBjb2xvciBuYW1lLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29sb3JDb252ZXJzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Db2xvckNvbnZlcnNpb24uY3BwCShyZXZpc2lvbiAyNzIwOTUpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvckNvbnZlcnNpb24uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSwyMiBAQCBzdGF0aWMgY29uc3RleHByIENvbG9yTWF0
cml4PDMsIDM+IGxpbmVhCiAgICAgMC4wZiwgICAgICAgICAgICAgICAgMC4wNDUxMTMzODE4NTg5
MDI2ZiwgMS4wNDM5NDQzNjg5MDA5NzZmCiB9OwogCisvLyBSZWMyMDIwIE1hdHJpY2VzLgorCisv
LyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbG9yLyNjb2xvci1jb252ZXJzaW9uLWNv
ZGUKK3N0YXRpYyBjb25zdGV4cHIgQ29sb3JNYXRyaXg8MywgMz4geHl6VG9MaW5lYXJSZWMyMDIw
TWF0cml4IHsKKyAgICAgMS43MTY2NTExODc5NzEyNjc0ZiwgICAtMC4zNTU2NzA3ODM3NzYzOTIz
M2YsIC0wLjI1MzM2NjI4MTM3MzY1OTc0ZiwKKyAgICAtMC42NjY2ODQzNTE4MzI0ODkyZiwgICAg
MS42MTY0ODEyMzY2MzQ5Mzk1ZiwgICAwLjAxNTc2ODU0NTgxMzkxMTEzZiwKKyAgICAgMC4wMTc2
Mzk4NTc0NDUzMTA3ODNmLCAtMC4wNDI3NzA2MTMyNTc4MDg1MjRmLCAwLjk0MjEwMzEyMTIzNTQ3
MzhmCit9OworCisvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbG9yLyNjb2xvci1j
b252ZXJzaW9uLWNvZGUKK3N0YXRpYyBjb25zdGV4cHIgQ29sb3JNYXRyaXg8MywgMz4gbGluZWFy
UmVjMjAyMFRvWFlaTWF0cml4IHsKKyAgICAwLjYzNjk1ODA0ODMwMTI5MTRmLCAwLjE0NDYxNjkw
MzU4NjIwODMyZiwgIDAuMTY4ODgwOTc1MTY0MTcyMWYsCisgICAgMC4yNjI3MDAyMTIwMTEyNjcx
ZiwgMC42Nzc5OTgwNzE1MTg4NzA4ZiwgICAwLjA1OTMwMTcxNjQ2OTg2MTk2ZiwKKyAgICAwLjAw
MDAwMDAwMDAwMDAwMGYsICAwLjAyODA3MjY5MzA0OTA4NzQyOGYsIDEuMDYwOTg1MDU3NzEwNzkx
ZgorfTsKKwogLy8gc1JHQiBNYXRyaWNlcy4KIAogLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3Jn
L3dpa2kvU1JHQgpAQCAtMTQ5LDYgKzE2NSwxOCBAQCBFeHRlbmRlZFNSR0JBPGZsb2F0PiB0b0V4
dGVuZGVkU1JHQkEoY29uCiAgICAgcmV0dXJuIHRvR2FtbWFFbmNvZGVkPFNSR0JUcmFuc2ZlckZ1
bmN0aW9uPGZsb2F0LCBUcmFuc2ZlckZ1bmN0aW9uTW9kZTo6VW5jbGFtcGVkPj4oY29sb3IpOwog
fQogCisvLyBSZWMyMDIwIDwtPiBMaW5lYXJSZWMyMDIwIGNvbnZlcnNpb25zLgorCitMaW5lYXJS
ZWMyMDIwPGZsb2F0PiB0b0xpbmVhclJlYzIwMjAoY29uc3QgUmVjMjAyMDxmbG9hdD4mIGNvbG9y
KQoreworICAgIHJldHVybiB0b0xpbmVhcjxSZWMyMDIwVHJhbnNmZXJGdW5jdGlvbjxmbG9hdCwg
VHJhbnNmZXJGdW5jdGlvbk1vZGU6OkNsYW1wZWQ+Pihjb2xvcik7Cit9CisKK1JlYzIwMjA8Zmxv
YXQ+IHRvUmVjMjAyMChjb25zdCBMaW5lYXJSZWMyMDIwPGZsb2F0PiYgY29sb3IpCit7CisgICAg
cmV0dXJuIHRvR2FtbWFFbmNvZGVkPFJlYzIwMjBUcmFuc2ZlckZ1bmN0aW9uPGZsb2F0LCBUcmFu
c2ZlckZ1bmN0aW9uTW9kZTo6Q2xhbXBlZD4+KGNvbG9yKTsKK30KKwogLy8gU1JHQkEgPC0+IExp
bmVhclNSR0JBIGNvbnZlcnNpb25zLgogCiBMaW5lYXJTUkdCQTxmbG9hdD4gdG9MaW5lYXJTUkdC
QShjb25zdCBTUkdCQTxmbG9hdD4mIGNvbG9yKQpAQCAtMTk5LDYgKzIyNywxOCBAQCBYWVpBPGZs
b2F0PiB0b1hZWkEoY29uc3QgTGluZWFyRXh0ZW5kZWRTCiAgICAgcmV0dXJuIG1ha2VGcm9tQ29t
cG9uZW50c0NsYW1waW5nRXhjZXB0QWxwaGE8WFlaQTxmbG9hdD4+KGxpbmVhclNSR0JUb1hZWk1h
dHJpeC50cmFuc2Zvcm1lZENvbG9yQ29tcG9uZW50cyhhc0NvbG9yQ29tcG9uZW50cyhjb2xvcikp
KTsKIH0KIAorLy8gLSBMaW5lYXJSZWMyMDIwIG1hdHJpeCBjb252ZXJzaW9ucy4KKworTGluZWFy
UmVjMjAyMDxmbG9hdD4gdG9MaW5lYXJSZWMyMDIwKGNvbnN0IFhZWkE8ZmxvYXQ+JiBjb2xvcikK
K3sKKyAgICByZXR1cm4gbWFrZUZyb21Db21wb25lbnRzQ2xhbXBpbmdFeGNlcHRBbHBoYTxMaW5l
YXJSZWMyMDIwPGZsb2F0Pj4oeHl6VG9MaW5lYXJSZWMyMDIwTWF0cml4LnRyYW5zZm9ybWVkQ29s
b3JDb21wb25lbnRzKGFzQ29sb3JDb21wb25lbnRzKGNvbG9yKSkpOworfQorCitYWVpBPGZsb2F0
PiB0b1hZWkEoY29uc3QgTGluZWFyUmVjMjAyMDxmbG9hdD4mIGNvbG9yKQoreworICAgIHJldHVy
biBtYWtlRnJvbUNvbXBvbmVudHNDbGFtcGluZ0V4Y2VwdEFscGhhPFhZWkE8ZmxvYXQ+PihsaW5l
YXJSZWMyMDIwVG9YWVpNYXRyaXgudHJhbnNmb3JtZWRDb2xvckNvbXBvbmVudHMoYXNDb2xvckNv
bXBvbmVudHMoY29sb3IpKSk7Cit9CisKIC8vIC0gTGluZWFyU1JHQkEgbWF0cml4IGNvbnZlcnNp
b25zLgogCiBMaW5lYXJTUkdCQTxmbG9hdD4gdG9MaW5lYXJTUkdCQShjb25zdCBYWVpBPGZsb2F0
PiYgY29sb3IpCkBAIC00NjgsNiArNTA4LDE4IEBAIExDSEE8ZmxvYXQ+IHRvTENIQShjb25zdCBY
WVpBPGZsb2F0PiYgY28KICAgICByZXR1cm4gdG9MQ0hBKHRvTGFiKGNvbG9yKSk7CiB9CiAKKy8v
IC0gUmVjMjAyMCBjb21iaW5hdGlvbiBmdW5jdGlvbnMuCisKK1hZWkE8ZmxvYXQ+IHRvWFlaQShj
b25zdCBSZWMyMDIwPGZsb2F0PiYgY29sb3IpCit7CisgICAgcmV0dXJuIHRvWFlaQSh0b0xpbmVh
clJlYzIwMjAoY29sb3IpKTsKK30KKworUmVjMjAyMDxmbG9hdD4gdG9SZWMyMDIwKGNvbnN0IFhZ
WkE8ZmxvYXQ+JiBjb2xvcikKK3sKKyAgICByZXR1cm4gdG9SZWMyMDIwKHRvTGluZWFyUmVjMjAy
MChjb2xvcikpOworfQorCiAvLyAtIFNSR0IgY29tYmluYXRpb24gZnVuY3Rpb25zLgogCiBYWVpB
PGZsb2F0PiB0b1hZWkEoY29uc3QgU1JHQkE8ZmxvYXQ+JiBjb2xvcikKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yQ29udmVyc2lvbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yQ29udmVyc2lvbi5oCShyZXZp
c2lvbiAyNzIwOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvckNv
bnZlcnNpb24uaAkod29ya2luZyBjb3B5KQpAQCAtOTEsMTIgKzkxLDI0IEBAIFdFQkNPUkVfRVhQ
T1JUIExpbmVhckV4dGVuZGVkU1JHQkE8ZmxvYXQKIC8vIEFkZGl0aW9ucwogV0VCQ09SRV9FWFBP
UlQgRXh0ZW5kZWRTUkdCQTxmbG9hdD4gdG9FeHRlbmRlZFNSR0JBKGNvbnN0IExpbmVhckV4dGVu
ZGVkU1JHQkE8ZmxvYXQ+Jik7CiAKKy8vIExpbmVhclJlYzIwMjAKK1dFQkNPUkVfRVhQT1JUIFhZ
WkE8ZmxvYXQ+IHRvWFlaQShjb25zdCBMaW5lYXJSZWMyMDIwPGZsb2F0PiYpOworV0VCQ09SRV9F
WFBPUlQgTGluZWFyUmVjMjAyMDxmbG9hdD4gdG9MaW5lYXJSZWMyMDIwKGNvbnN0IFhZWkE8Zmxv
YXQ+Jik7CisvLyBBZGRpdGlvbnMKK1dFQkNPUkVfRVhQT1JUIFJlYzIwMjA8ZmxvYXQ+IHRvUmVj
MjAyMChjb25zdCBMaW5lYXJSZWMyMDIwPGZsb2F0PiYpOworCiAvLyBMaW5lYXJTUkdCQQogV0VC
Q09SRV9FWFBPUlQgWFlaQTxmbG9hdD4gdG9YWVpBKGNvbnN0IExpbmVhclNSR0JBPGZsb2F0PiYp
OwogV0VCQ09SRV9FWFBPUlQgTGluZWFyU1JHQkE8ZmxvYXQ+IHRvTGluZWFyU1JHQkEoY29uc3Qg
WFlaQTxmbG9hdD4mKTsKIC8vIEFkZGl0aW9ucwogV0VCQ09SRV9FWFBPUlQgU1JHQkE8ZmxvYXQ+
IHRvU1JHQkEoY29uc3QgTGluZWFyU1JHQkE8ZmxvYXQ+Jik7CiAKKy8vIFJlYzIwMjAKK1dFQkNP
UkVfRVhQT1JUIFhZWkE8ZmxvYXQ+IHRvWFlaQShjb25zdCBSZWMyMDIwPGZsb2F0PiYpOworV0VC
Q09SRV9FWFBPUlQgUmVjMjAyMDxmbG9hdD4gdG9SZWMyMDIwKGNvbnN0IFhZWkE8ZmxvYXQ+Jik7
CisvLyBBZGRpdGlvbnMKK1dFQkNPUkVfRVhQT1JUIExpbmVhclJlYzIwMjA8ZmxvYXQ+IHRvTGlu
ZWFyUmVjMjAyMChjb25zdCBSZWMyMDIwPGZsb2F0PiYpOworCiAvLyBTUkdCQQogV0VCQ09SRV9F
WFBPUlQgWFlaQTxmbG9hdD4gdG9YWVpBKGNvbnN0IFNSR0JBPGZsb2F0PiYpOwogV0VCQ09SRV9F
WFBPUlQgU1JHQkE8ZmxvYXQ+IHRvU1JHQkEoY29uc3QgWFlaQTxmbG9hdD4mKTsKQEAgLTExNiw3
ICsxMjgsOSBAQCBjb25zdGV4cHIgTGFiPGZsb2F0PiB0b0xhYihjb25zdCBMYWI8ZmxvCiBjb25z
dGV4cHIgTGluZWFyQTk4UkdCPGZsb2F0PiB0b0xpbmVhckE5OFJHQihjb25zdCBMaW5lYXJBOThS
R0I8ZmxvYXQ+JiBjb2xvcikgeyByZXR1cm4gY29sb3I7IH0KIGNvbnN0ZXhwciBMaW5lYXJEaXNw
bGF5UDM8ZmxvYXQ+IHRvTGluZWFyRGlzcGxheVAzKGNvbnN0IExpbmVhckRpc3BsYXlQMzxmbG9h
dD4mIGNvbG9yKSB7IHJldHVybiBjb2xvcjsgfQogY29uc3RleHByIExpbmVhckV4dGVuZGVkU1JH
QkE8ZmxvYXQ+IHRvTGluZWFyRXh0ZW5kZWRTUkdCQShjb25zdCBMaW5lYXJFeHRlbmRlZFNSR0JB
PGZsb2F0PiYgY29sb3IpIHsgcmV0dXJuIGNvbG9yOyB9Citjb25zdGV4cHIgTGluZWFyUmVjMjAy
MDxmbG9hdD4gdG9MaW5lYXJSZWMyMDIwKGNvbnN0IExpbmVhclJlYzIwMjA8ZmxvYXQ+JiBjb2xv
cikgeyByZXR1cm4gY29sb3I7IH0KIGNvbnN0ZXhwciBMaW5lYXJTUkdCQTxmbG9hdD4gdG9MaW5l
YXJTUkdCQShjb25zdCBMaW5lYXJTUkdCQTxmbG9hdD4mIGNvbG9yKSB7IHJldHVybiBjb2xvcjsg
fQorY29uc3RleHByIFJlYzIwMjA8ZmxvYXQ+IHRvUmVjMjAyMChjb25zdCBSZWMyMDIwPGZsb2F0
PiYgY29sb3IpIHsgcmV0dXJuIGNvbG9yOyB9CiBjb25zdGV4cHIgU1JHQkE8ZmxvYXQ+IHRvU1JH
QkEoY29uc3QgU1JHQkE8ZmxvYXQ+JiBjb2xvcikgeyByZXR1cm4gY29sb3I7IH0KIGNvbnN0ZXhw
ciBYWVpBPGZsb2F0PiB0b1hZWkEoY29uc3QgWFlaQTxmbG9hdD4mIGNvbG9yKSB7IHJldHVybiBj
b2xvcjsgfQogCkBAIC0xNjEsMTQgKzE3NSwxOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBMaW5l
YXJBOThSR0I8ZmxvYXQ+CiAgICAgcmV0dXJuIHRvTGluZWFyQTk4UkdCKHRvWFlaQShjb2xvcikp
OwogfQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBMaW5lYXJEaXNwbGF5UDM8ZmxvYXQ+IHRvTGlu
ZWFyRGlzcGxheVAzKGNvbnN0IFQmIGNvbG9yKQoreworICAgIHJldHVybiB0b0xpbmVhckRpc3Bs
YXlQMyh0b1hZWkEoY29sb3IpKTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gTGluZWFyRXh0
ZW5kZWRTUkdCQTxmbG9hdD4gdG9MaW5lYXJFeHRlbmRlZFNSR0JBKGNvbnN0IFQmIGNvbG9yKQog
ewogICAgIHJldHVybiB0b0xpbmVhckV4dGVuZGVkU1JHQkEodG9YWVpBKGNvbG9yKSk7CiB9CiAK
LXRlbXBsYXRlPHR5cGVuYW1lIFQ+IExpbmVhckRpc3BsYXlQMzxmbG9hdD4gdG9MaW5lYXJEaXNw
bGF5UDMoY29uc3QgVCYgY29sb3IpCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBMaW5lYXJSZWMyMDIw
PGZsb2F0PiB0b0xpbmVhclJlYzIwMjAoY29uc3QgVCYgY29sb3IpCiB7Ci0gICAgcmV0dXJuIHRv
TGluZWFyRGlzcGxheVAzKHRvWFlaQShjb2xvcikpOworICAgIHJldHVybiB0b0xpbmVhclJlYzIw
MjAodG9YWVpBKGNvbG9yKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IExpbmVhclNSR0JB
PGZsb2F0PiB0b0xpbmVhclNSR0JBKGNvbnN0IFQmIGNvbG9yKQpAQCAtMTc2LDYgKzE5NSwxMSBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBMaW5lYXJTUkdCQTxmbG9hdD4gCiAgICAgcmV0dXJuIHRv
TGluZWFyU1JHQkEodG9YWVpBKGNvbG9yKSk7CiB9CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+IFJl
YzIwMjA8ZmxvYXQ+IHRvUmVjMjAyMChjb25zdCBUJiBjb2xvcikKK3sKKyAgICByZXR1cm4gdG9S
ZWMyMDIwKHRvWFlaQShjb2xvcikpOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBTUkdCQTxm
bG9hdD4gdG9TUkdCQShjb25zdCBUJiBjb2xvcikKIHsKICAgICByZXR1cm4gdG9TUkdCQSh0b1hZ
WkEoY29sb3IpKTsKQEAgLTE5Myw2ICsyMTcsOCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBl
bmFtZSBGdW5jdG9yPiBjCiAgICAgICAgIHJldHVybiBzdGQ6Omludm9rZShzdGQ6OmZvcndhcmQ8
RnVuY3Rvcj4oZnVuY3RvciksIG1ha2VGcm9tQ29tcG9uZW50czxMYWI8VD4+KGNvbXBvbmVudHMp
KTsKICAgICBjYXNlIENvbG9yU3BhY2U6OkxpbmVhclJHQjoKICAgICAgICAgcmV0dXJuIHN0ZDo6
aW52b2tlKHN0ZDo6Zm9yd2FyZDxGdW5jdG9yPihmdW5jdG9yKSwgbWFrZUZyb21Db21wb25lbnRz
PExpbmVhclNSR0JBPFQ+Pihjb21wb25lbnRzKSk7CisgICAgY2FzZSBDb2xvclNwYWNlOjpSZWMy
MDIwOgorICAgICAgICByZXR1cm4gc3RkOjppbnZva2Uoc3RkOjpmb3J3YXJkPEZ1bmN0b3I+KGZ1
bmN0b3IpLCBtYWtlRnJvbUNvbXBvbmVudHM8UmVjMjAyMDxUPj4oY29tcG9uZW50cykpOwogICAg
IGNhc2UgQ29sb3JTcGFjZTo6U1JHQjoKICAgICAgICAgcmV0dXJuIHN0ZDo6aW52b2tlKHN0ZDo6
Zm9yd2FyZDxGdW5jdG9yPihmdW5jdG9yKSwgbWFrZUZyb21Db21wb25lbnRzPFNSR0JBPFQ+Pihj
b21wb25lbnRzKSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29sb3JTZXJpYWxpemF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Db2xvclNlcmlhbGl6YXRpb24uY3BwCShyZXZpc2lvbiAyNzIwOTUp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvclNlcmlhbGl6YXRpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw4IEBAIHN0YXRpYyBBU0NJSUxpdGVyYWwg
c2VyaWFsaXphdGlvbihDb2xvclMKICAgICAgICAgcmV0dXJuICJsYWIiX3M7CiAgICAgY2FzZSBD
b2xvclNwYWNlOjpMaW5lYXJSR0I6CiAgICAgICAgIHJldHVybiAibGluZWFyLXNyZ2IiX3M7Cisg
ICAgY2FzZSBDb2xvclNwYWNlOjpSZWMyMDIwOgorICAgICAgICByZXR1cm4gInJlYzIwMjAiX3M7
CiAgICAgY2FzZSBDb2xvclNwYWNlOjpTUkdCOgogICAgICAgICByZXR1cm4gInNyZ2IiX3M7CiAg
ICAgfQpAQCAtMTU3LDYgKzE1OSwyMyBAQCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvclJlbmRlclRy
ZWVBc1RleHQoCiAgICAgcmV0dXJuIHNlcmlhbGl6YXRpb24oY29sb3IpOwogfQogCisvLyBNQVJL
OiBSZWMyMDIwPGZsb2F0PiBvdmVybG9hZHMKKworU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JDU1Mo
Y29uc3QgUmVjMjAyMDxmbG9hdD4mIGNvbG9yKQoreworICAgIHJldHVybiBzZXJpYWxpemF0aW9u
KGNvbG9yKTsKK30KKworU3RyaW5nIHNlcmlhbGl6YXRpb25Gb3JIVE1MKGNvbnN0IFJlYzIwMjA8
ZmxvYXQ+JiBjb2xvcikKK3sKKyAgICByZXR1cm4gc2VyaWFsaXphdGlvbihjb2xvcik7Cit9CisK
K1N0cmluZyBzZXJpYWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBSZWMyMDIwPGZs
b2F0PiYgY29sb3IpCit7CisgICAgcmV0dXJuIHNlcmlhbGl6YXRpb24oY29sb3IpOworfQorCiAv
LyBNQVJLOiBTUkdCQTxmbG9hdD4gb3ZlcmxvYWRzCiAKIFN0cmluZyBzZXJpYWxpemF0aW9uRm9y
Q1NTKGNvbnN0IFNSR0JBPGZsb2F0PiYgY29sb3IpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvclNlcmlhbGl6YXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvclNlcmlhbGl6YXRpb24uaAkocmV2aXNpb24g
MjcyMDk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JTZXJpYWxp
emF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAgdGVtcGxhdGU8dHlwZW5h
bWU+IHN0cnVjdCBBOThSR0I7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IERpc3BsYXlQMzsK
IHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgTGFiOwogdGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVj
dCBMaW5lYXJTUkdCQTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgUmVjMjAyMDsKIHRlbXBs
YXRlPHR5cGVuYW1lPiBzdHJ1Y3QgU1JHQkE7CiAKIC8vIHNlcmlhbGl6YXRpb25Gb3JIVE1MIHJl
dHVybnMgdGhlIGNvbG9yIHNlcmlhbGl6ZWQgYWNjb3JkaW5nIHRvIEhUTUw1IDxodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRtbCNmaWxsLWFuZC1zdHJv
a2Utc3R5bGVzPiAoMTAgU2VwdGVtYmVyIDIwMTUpCkBAIC02Myw2ICs2NCwxMCBAQCBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckNTCiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcg
c2VyaWFsaXphdGlvbkZvckhUTUwoY29uc3QgTGluZWFyU1JHQkE8ZmxvYXQ+Jik7CiBXRUJDT1JF
X0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvclJlbmRlclRyZWVBc1RleHQoY29uc3QgTGlu
ZWFyU1JHQkE8ZmxvYXQ+Jik7CiAKK1dFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxpemF0aW9u
Rm9yQ1NTKGNvbnN0IFJlYzIwMjA8ZmxvYXQ+Jik7CitXRUJDT1JFX0VYUE9SVCBTdHJpbmcgc2Vy
aWFsaXphdGlvbkZvckhUTUwoY29uc3QgUmVjMjAyMDxmbG9hdD4mKTsKK1dFQkNPUkVfRVhQT1JU
IFN0cmluZyBzZXJpYWxpemF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBSZWMyMDIwPGZs
b2F0PiYpOworCiBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgc2VyaWFsaXphdGlvbkZvckNTUyhjb25z
dCBTUkdCQTxmbG9hdD4mKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxpemF0aW9uRm9y
SFRNTChjb25zdCBTUkdCQTxmbG9hdD4mKTsKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBzZXJpYWxp
emF0aW9uRm9yUmVuZGVyVHJlZUFzVGV4dChjb25zdCBTUkdCQTxmbG9hdD4mKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yU3BhY2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yU3BhY2UuY3BwCShyZXZp
c2lvbiAyNzIwOTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvclNw
YWNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsOSBAQCBUZXh0U3RyZWFtJiBvcGVy
YXRvcjw8KFRleHRTdHJlYW0mIHRzLCBDCiAgICAgY2FzZSBDb2xvclNwYWNlOjpMaW5lYXJSR0I6
CiAgICAgICAgIHRzIDw8ICJMaW5lYXJSR0IiOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIENv
bG9yU3BhY2U6OlJlYzIwMjA6CisgICAgICAgIHRzIDw8ICJSZWMyMDIwIjsKKyAgICAgICAgYnJl
YWs7CiAgICAgY2FzZSBDb2xvclNwYWNlOjpTUkdCOgogICAgICAgICB0cyA8PCAic1JHQiI7CiAg
ICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29s
b3JTcGFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0NvbG9yU3BhY2UuaAkocmV2aXNpb24gMjcyMDk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQ29sb3JTcGFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBA
IGVudW0gY2xhc3MgQ29sb3JTcGFjZSA6IHVpbnQ4X3QgewogICAgIERpc3BsYXlQMywKICAgICBM
YWIsCiAgICAgTGluZWFyUkdCLAorICAgIFJlYzIwMjAsCiAgICAgU1JHQiwKIH07CiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVHJhbnNmZXJGdW5jdGlvbnMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvclRy
YW5zZmVyRnVuY3Rpb25zLmgJKHJldmlzaW9uIDI3MjA5NSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0NvbG9yVHJhbnNmZXJGdW5jdGlvbnMuaAkod29ya2luZyBjb3B5KQpA
QCAtNDMsMTEgKzQzLDIzIEBAIHN0cnVjdCBBOThSR0JUcmFuc2ZlckZ1bmN0aW9uIHsKIH07CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQsIFRyYW5zZmVyRnVuY3Rpb25Nb2RlIG1vZGU+CitzdHJ1Y3Qg
UmVjMjAyMFRyYW5zZmVyRnVuY3Rpb24geworICAgIHN0YXRpYyBjb25zdGV4cHIgVCBhbHBoYSA9
IDEuMDk5Mjk2ODI2ODA5NDQ7CisgICAgc3RhdGljIGNvbnN0ZXhwciBUIGJldGEgPSAwLjAxODA1
Mzk2ODUxMDgwNzsKKyAgICBzdGF0aWMgY29uc3RleHByIFQgZ2FtbWEgPSAwLjQ1OworCisgICAg
c3RhdGljIFQgdG9HYW1tYUVuY29kZWQoVCk7CisgICAgc3RhdGljIFQgdG9MaW5lYXIoVCk7Cit9
OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCBUcmFuc2ZlckZ1bmN0aW9uTW9kZSBtb2RlPgogc3Ry
dWN0IFNSR0JUcmFuc2ZlckZ1bmN0aW9uIHsKICAgICBzdGF0aWMgVCB0b0dhbW1hRW5jb2RlZChU
KTsKICAgICBzdGF0aWMgVCB0b0xpbmVhcihUKTsKIH07CiAKKy8vIE1BUks6IEE5OFJHQlRyYW5z
ZmVyRnVuY3Rpb24uCisKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIFRyYW5zZmVyRnVuY3Rpb25Nb2Rl
IG1vZGU+IFQgQTk4UkdCVHJhbnNmZXJGdW5jdGlvbjxULCBtb2RlPjo6dG9HYW1tYUVuY29kZWQo
VCBjKQogewogICAgIGF1dG8gc2lnbiA9IHN0ZDo6c2lnbmJpdChjKSA/IC0xLjBmIDogMS4wZjsK
QEAgLTY2LDYgKzc4LDQxIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQsIFRyYW5zZmVyRnVuY3Rpb25N
b2QKICAgICByZXR1cm4gcmVzdWx0OwogfQogCisvLyBNQVJLOiBSZWMyMDIwVHJhbnNmZXJGdW5j
dGlvbi4KKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgVHJhbnNmZXJGdW5jdGlvbk1vZGUgbW9kZT4g
VCBSZWMyMDIwVHJhbnNmZXJGdW5jdGlvbjxULCBtb2RlPjo6dG9HYW1tYUVuY29kZWQoVCBjKQor
eworICAgIGlmIGNvbnN0ZXhwciAobW9kZSA9PSBUcmFuc2ZlckZ1bmN0aW9uTW9kZTo6Q2xhbXBl
ZCkgeworICAgICAgICBpZiAoYyA8PSBiZXRhKQorICAgICAgICAgICAgcmV0dXJuIDQuNWYgKiBj
OworCisgICAgICAgIHJldHVybiBjbGFtcFRvPFQ+KGFscGhhICogc3RkOjpwb3coYywgZ2FtbWEp
IC0gKGFscGhhIC0gMS4wZiksIDAsIDEpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChzdGQ6
OmFicyhjKSA8PSBiZXRhKQorICAgICAgICAgICAgcmV0dXJuIDQuNWYgKiBjOworCisgICAgICAg
IGZsb2F0IHNpZ24gPSBzdGQ6OnNpZ25iaXQoYykgPyAtMS4wIDogMS4wOworICAgICAgICByZXR1
cm4gc2lnbiAqIGFscGhhICogc3RkOjpwb3coYywgZ2FtbWEpIC0gKGFscGhhIC0gMS4wKTsKKyAg
ICB9Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFQsIFRyYW5zZmVyRnVuY3Rpb25Nb2RlIG1vZGU+
IFQgUmVjMjAyMFRyYW5zZmVyRnVuY3Rpb248VCwgbW9kZT46OnRvTGluZWFyKFQgYykKK3sKKyAg
ICBpZiBjb25zdGV4cHIgKG1vZGUgPT0gVHJhbnNmZXJGdW5jdGlvbk1vZGU6OkNsYW1wZWQpIHsK
KyAgICAgICAgaWYgKGMgPCBiZXRhICogNC41ZikKKyAgICAgICAgICAgIHJldHVybiBjIC8gNC41
ZjsKKyAgICAgICAgcmV0dXJuIGNsYW1wVG88VD4oc3RkOjpwb3coKGMgKyBhbHBoYSAtIDEuMCkg
LyBhbHBoYSwgMS4wIC8gZ2FtbWEpLCAwLCAxKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAo
c3RkOjphYnMoYykgPCBiZXRhICogNC41ZikKKyAgICAgICAgICAgIHJldHVybiBjIC8gNC41ZjsK
KworICAgICAgICBmbG9hdCBzaWduID0gc3RkOjpzaWduYml0KGMpID8gLTEuMCA6IDEuMDsKKyAg
ICAgICAgcmV0dXJuIHN0ZDo6cG93KChjICsgYWxwaGEgLSAxLjApIC8gYWxwaGEsIDEuMCAvIGdh
bW1hKSAqIHNpZ247CisgICAgfQorfQorCisvLyBNQVJLOiBTUkdCVHJhbnNmZXJGdW5jdGlvbi4K
KwogdGVtcGxhdGU8dHlwZW5hbWUgVCwgVHJhbnNmZXJGdW5jdGlvbk1vZGUgbW9kZT4gVCBTUkdC
VHJhbnNmZXJGdW5jdGlvbjxULCBtb2RlPjo6dG9HYW1tYUVuY29kZWQoVCBjKQogewogICAgIGlm
IGNvbnN0ZXhwciAobW9kZSA9PSBUcmFuc2ZlckZ1bmN0aW9uTW9kZTo6Q2xhbXBlZCkgewpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JUeXBlcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yVHlwZXMuaAkocmV2
aXNpb24gMjcyMDk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3JU
eXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw5IEBAIHRlbXBsYXRlPHR5cGVuYW1l
PiBzdHJ1Y3QgTGFiOwogdGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBMaW5lYXJBOThSR0I7CiB0
ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IExpbmVhckRpc3BsYXlQMzsKIHRlbXBsYXRlPHR5cGVu
YW1lPiBzdHJ1Y3QgTGluZWFyRXh0ZW5kZWRTUkdCQTsKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1
Y3QgTGluZWFyUmVjMjAyMDsKIHRlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgTGluZWFyU1JHQkE7
Cit0ZW1wbGF0ZTx0eXBlbmFtZT4gc3RydWN0IFJlYzIwMjA7CiB0ZW1wbGF0ZTx0eXBlbmFtZT4g
c3RydWN0IFNSR0JBOwogdGVtcGxhdGU8dHlwZW5hbWU+IHN0cnVjdCBYWVo7CiAKQEAgLTI1Niw2
ICsyNTgsMTIgQEAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IExpbmVhckV4dGVuZAogfTsK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IExpbmVhckV4dGVuZGVkU1JHQkEoVCwgVCwgVCwgVCkgLT4g
TGluZWFyRXh0ZW5kZWRTUkdCQTxUPjsKIAordGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IExp
bmVhclJlYzIwMjAgOiBSR0JBVHlwZTxMaW5lYXJSZWMyMDIwLCBULCBSR0JNb2RlbDxUPj4gewor
ICAgIHVzaW5nIFJHQkFUeXBlPExpbmVhclJlYzIwMjAsIFQsIFJHQk1vZGVsPFQ+Pjo6UkdCQVR5
cGU7CisgICAgdXNpbmcgR2FtbWFFbmNvZGVkQ291bnRlcnBhcnQgPSBSZWMyMDIwPFQ+OworfTsK
K3RlbXBsYXRlPHR5cGVuYW1lIFQ+IExpbmVhclJlYzIwMjAoVCwgVCwgVCwgVCkgLT4gTGluZWFy
UmVjMjAyMDxUPjsKKwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IExpbmVhclNSR0JBIDog
UkdCQVR5cGU8TGluZWFyU1JHQkEsIFQsIFJHQk1vZGVsPFQ+PiB7CiAgICAgdXNpbmcgUkdCQVR5
cGU8TGluZWFyU1JHQkEsIFQsIFJHQk1vZGVsPFQ+Pjo6UkdCQVR5cGU7CiAgICAgdXNpbmcgR2Ft
bWFFbmNvZGVkQ291bnRlcnBhcnQgPSBTUkdCQTxUPjsKQEAgLTI2Myw2ICsyNzEsMTMgQEAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IExpbmVhclNSR0JBIAogfTsKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IExpbmVhclNSR0JBKFQsIFQsIFQsIFQpIC0+IExpbmVhclNSR0JBPFQ+OwogCit0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUmVjMjAyMCA6IFJHQkFUeXBlPFJlYzIwMjAsIFQsIFJH
Qk1vZGVsPFQ+PiB7CisgICAgdXNpbmcgUkdCQVR5cGU8UmVjMjAyMCwgVCwgUkdCTW9kZWw8VD4+
OjpSR0JBVHlwZTsKKyAgICB1c2luZyBMaW5lYXJDb3VudGVycGFydCA9IExpbmVhclJlYzIwMjA8
VD47CisgICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIGNvbG9yU3BhY2UgeyBDb2xvclNwYWNlOjpS
ZWMyMDIwIH07Cit9OwordGVtcGxhdGU8dHlwZW5hbWUgVD4gUmVjMjAyMChULCBULCBULCBUKSAt
PiBSZWMyMDIwPFQ+OworCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgU1JHQkEgOiBSR0JB
VHlwZTxTUkdCQSwgVCwgUkdCTW9kZWw8VD4+IHsKICAgICB1c2luZyBSR0JBVHlwZTxTUkdCQSwg
VCwgUkdCTW9kZWw8VD4+OjpSR0JBVHlwZTsKICAgICB1c2luZyBMaW5lYXJDb3VudGVycGFydCA9
IExpbmVhclNSR0JBPFQ+OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvQ29sb3JTcGFjZUNHLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9Db2xvclNwYWNlQ0cuY3BwCShyZXZpc2lvbiAyNzIwOTUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvclNwYWNlQ0cuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDAsNiArMTAwLDIwIEBAIENHQ29sb3JTcGFjZVJlZiBsaW5lYXJSR0JDb2xv
clNwYWNlUmVmKCkKICAgICByZXR1cm4gbGluZWFyUkdCQ29sb3JTcGFjZTsKIH0KIAorQ0dDb2xv
clNwYWNlUmVmIHJlYzIwMjBDb2xvclNwYWNlUmVmKCkKK3sKKyAgICBzdGF0aWMgQ0dDb2xvclNw
YWNlUmVmIHJlYzIwMjBDb2xvclNwYWNlOworICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNl
RmxhZzsKKyAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10geworI2lmIFBMQVRGT1JNKENP
Q09BKQorICAgICAgICByZWMyMDIwQ29sb3JTcGFjZSA9IENHQ29sb3JTcGFjZUNyZWF0ZVdpdGhO
YW1lKGtDR0NvbG9yU3BhY2VJVFVSXzIwMjApOworI2Vsc2UKKyAgICAgICAgcmVjMjAyMENvbG9y
U3BhY2UgPSBzUkdCQ29sb3JTcGFjZVJlZigpOworI2VuZGlmCisgICAgfSk7CisgICAgcmV0dXJu
IHJlYzIwMjBDb2xvclNwYWNlOworfQorCiBDR0NvbG9yU3BhY2VSZWYgc1JHQkNvbG9yU3BhY2VS
ZWYoKQogewogICAgIHN0YXRpYyBDR0NvbG9yU3BhY2VSZWYgc1JHQkNvbG9yU3BhY2U7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvclNwYWNlQ0cuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9Db2xvclNwYWNl
Q0cuaAkocmV2aXNpb24gMjcyMDk1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvQ29sb3JTcGFjZUNHLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDggQEAgc3Rh
dGljIGlubGluZSBDR0NvbG9yU3BhY2VSZWYgY2FjaGVkQ0dDbwogICAgICAgICByZXR1cm4gbGFi
Q29sb3JTcGFjZVJlZigpOwogICAgIGNhc2UgQ29sb3JTcGFjZTo6TGluZWFyUkdCOgogICAgICAg
ICByZXR1cm4gbGluZWFyUkdCQ29sb3JTcGFjZVJlZigpOworICAgIGNhc2UgQ29sb3JTcGFjZTo6
UmVjMjAyMDoKKyAgICAgICAgcmV0dXJuIHJlYzIwMjBDb2xvclNwYWNlUmVmKCk7CiAgICAgY2Fz
ZSBDb2xvclNwYWNlOjpTUkdCOgogICAgICAgICByZXR1cm4gc1JHQkNvbG9yU3BhY2VSZWYoKTsK
ICAgICB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzIwNzMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0wMS0zMCAgU2FtIFdlaW5p
ZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGNvbG9yKHJl
YzIwMjAgLi4uKSBhcyBwYXJ0IG9mIENTUyBDb2xvciA0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjExMTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgIFJl
bW92ZSBub3cgcGFzc2luZyByZWMyMDIwIHRlc3RzLgorCisgICAgICAgICogZmFzdC9jc3MvcGFy
c2luZy1hOThyZ2ItY29sb3JzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Nzcy9wYXJzaW5nLWE5OHJnYi1jb2xvcnMuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Nzcy9wYXJzaW5nLWNvbG9yLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9jc3MvcGFyc2luZy1jb2xvci1mdW5jdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAg
UmUtd3JpdGUgcGFyc2luZy1hOThyZ2ItY29sb3JzLmh0bWwgdG8gdGVzdCBhbGwgcmdiIHR5cGVz
IGluIHRoZSBjb2xvcigpIGZ1bmN0aW9uIGFzCisgICAgICAgIHRoZXkgYWxsIGhhdmUgdGhlIHNh
bWUgcGFyc2luZyByZXF1aXJlbWVudHMuIENvbG9yKGxhYiApIG11c3Qgc3RpbGwgYmUgcGFyc2Vk
IHNlcGFyYXRlbHkgCisgICAgICAgIGFzIGl0IGhhcyBhIGRpZmZlcmVudCBncmFtbWFyLgorCiAy
MDIxLTAxLTI5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgZm9udC1zdHJldGNoIGlzIG5vdCBhcHBsaWVkIHRvIHN5c3RlbS11aQpJbmRleDogTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCShyZXZpc2lvbiAyNzIwNzMpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC00NjA2LDggKzQ2MDYsNiBAQCB3ZWJraXQub3JnL2Iv
MjIwOTI4IGltcG9ydGVkL3czYy93ZWItcGxhCiB3ZWJraXQub3JnL2IvMjIwOTI4IGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAwNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdICMgSW52YWxpZCB0ZXN0LCBubyBjb2xvcnNwYWNlIHNwZWNp
ZmllZAogd2Via2l0Lm9yZy9iLzIyMDkyOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29sb3IvcHJlZGVmaW5lZC0wMDkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXSAj
IFJlcXVpcmVzIHByb3Bob3RvLXJnYiBzdXBwb3J0CiB3ZWJraXQub3JnL2IvMjIwOTI4IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAxMC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdICMgUmVxdWlyZXMgcHJvcGhvdG8tcmdiIHN1cHBvcnQK
LXdlYmtpdC5vcmcvYi8yMjA5MjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbG9yL3ByZWRlZmluZWQtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0gIyBSZXF1
aXJlcyByZWMyMDIwIHN1cHBvcnQKLXdlYmtpdC5vcmcvYi8yMjA5MjggaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3ByZWRlZmluZWQtMDEyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0gIyBSZXF1aXJlcyByZWMyMDIwIHN1cHBvcnQKIHdlYmtpdC5vcmcvYi8y
MjA5MjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3ByZWRl
ZmluZWQtMDE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0gIyBSZXF1aXJlcyBmYWxsYmFjayAo
YXQgcGFyc2UgdGltZSkgc3VwcG9ydAogd2Via2l0Lm9yZy9iLzIyMDkyOCBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcHJlZGVmaW5lZC0wMTUuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXSAjIFJlcXVpcmVzIGZhbGxiYWNrIChhdCBwYXJzZSB0aW1lKSBzdXBw
b3J0ICh1bmNsZWFyIGlmIHRoaXMgbWFrZXMgc2Vuc2UpCiB3ZWJraXQub3JnL2IvMjIwOTI4IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAx
Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdICMgUmVxdWlyZXMgeHl6IHN1cHBvcnQKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctYTk4cmdiLWNvbG9ycy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1hOThyZ2ItY29sb3Jz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjcyMDczKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
cGFyc2luZy1hOThyZ2ItY29sb3JzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDM3
ICswLDAgQEAKLVRlc3QgdGhlIHBhcnNpbmcgb2YgbGFiLCBsY2ggYW5kIGdyYXkgY29sb3JzLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCUgMCUgMCUpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMCAwIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGE5OC1yZ2IgMTAlIDEwJSAxMCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC4xIDAuMSAwLjEpIgot
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgLjIg
LjIgMjUlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuMiAwLjIgMC4yNSkiCi1QQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwIDAgMCAvIDEpIikgaXMg
ImNvbG9yKGE5OC1yZ2IgMCAwIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGE5OC1yZ2IgMCUgMCAwIC8gMC41KSIpIGlzICJjb2xvcihhOTgtcmdiIDAg
MCAwIC8gMC41KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihhOTgtcmdiIDIwJSAwIDEwLzAuNSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjIgMCAxIC8gMC41
KSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdi
IDIwJSAwIDEwLzUwJSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwLjIgMCAxIC8gMC41KSIKLVBBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDQwMCUgMCAx
MC81MCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMSAwIDEgLyAwLjUpIgotUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0xNjAgMTYwKSIpIGlz
ICJjb2xvcihhOTgtcmdiIDAuNSAwIDEpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0yMDAgMjAwKSIpIGlzICJjb2xvcihhOTgtcmdi
IDAuNSAwIDEpIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KGE5OC1yZ2IgMCAwIDAgLyAtMTAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMCAwIC8gMCkiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwIDAg
MCAvIDExMCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMCAwIDApIgotUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDAgLyAzMDAlKSIpIGlzICJj
b2xvcihhOTgtcmdiIDAgMCAwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xv
ciIsICJjb2xvcihhOTgtcmdiIDUwJSAtMjAwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNSAwIDAp
IgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2Ig
NTAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNSAwIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IpIikgaXMgImNvbG9yKGE5OC1yZ2IgMCAw
IDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1y
Z2IgNTAlIC0yMDAgLyAwLjUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC41IDAgMCAvIDAuNSkiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiA1MCUg
LyAwLjUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC41IDAgMCAvIDAuNSkiCi1QQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAvIDAuNSkiKSBpcyAiY29s
b3IoYTk4LXJnYiAwIDAgMCAvIDAuNSkiCi0KLVRlc3QgaW52YWxpZCB2YWx1ZXMKLVBBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDAgMCAwIDApIikg
aXMgInJnYmEoMCwgMCwgMCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoYTk4LXJnYiAwZGVnIDAlIDApIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCi1Q
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwJSAw
IDAgMSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKLVBBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDAlIDAgMCAxMCUpIikgaXMgInJnYmEoMCwgMCwg
MCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4
LXJnYiAwJSAwIDBkZWcpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCi1QQVNTIGNvbXB1dGVkU3R5
bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwJSAwJSAwZGVnKSIpIGlzICJy
Z2JhKDAsIDAsIDAsIDApIgotUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKGE5OC1yZ2IgNDAlIDAgMGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKLVBBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWE5OHJnYi1jb2xvcnMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWE5OHJnYi1jb2xvcnMuaHRtbAkocmV2aXNp
b24gMjcyMDczKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1hOThyZ2ItY29sb3Jz
Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw3MSArMCwwIEBACi08aHRtbD4KLSAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHNjcmlwdD4KLSAgICBkZXNjcmlwdGlvbigiVGVzdCB0aGUgcGFyc2luZyBvZiBs
YWIsIGxjaCBhbmQgZ3JheSBjb2xvcnMuIik7Ci0KLSAgICBmdW5jdGlvbiBjb21wdXRlZFN0eWxl
KHByb3BlcnR5LCB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYp
OwotICAgICAgICBkaXYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIHZhbHVlKTsKLSAgICAg
ICAgdmFyIGNvbXB1dGVkVmFsdWUgPSBnZXRDb21wdXRlZFN0eWxlKGRpdikuZ2V0UHJvcGVydHlW
YWx1ZShwcm9wZXJ0eSk7Ci0gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZGl2KTsK
LSAgICAgICAgcmV0dXJuIGNvbXB1dGVkVmFsdWU7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gaW5u
ZXJTdHlsZShwcm9wZXJ0eSwgdmFsdWUpCi0gICAgewotICAgICAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIGRpdi5zdHlsZS5zZXRQcm9wZXJ0eShw
cm9wZXJ0eSwgdmFsdWUpOwotICAgICAgICByZXR1cm4gZGl2LnN0eWxlLmdldFByb3BlcnR5VmFs
dWUocHJvcGVydHkpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHRlc3RDb21wdXRlZChwcm9wZXJ0
eSwgdmFsdWUsIGV4cGVjdGVkKQotICAgIHsKLSAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdjb21wdXRlZFN0eWxlKCInICsgcHJvcGVydHkgKyAnIiwgIicgKyB2YWx1ZSArICciKScsIGV4
cGVjdGVkKTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiB0ZXN0SW5uZXIocHJvcGVydHksIHZhbHVl
LCBleHBlY3RlZCkKLSAgICB7Ci0gICAgICAgIGlmIChleHBlY3RlZCA9PT0gbnVsbCkKLSAgICAg
ICAgICAgIGV4cGVjdGVkID0gIiI7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnaW5u
ZXJTdHlsZSgiJyArIHByb3BlcnR5ICsgJyIsICInICsgdmFsdWUgKyAnIiknLCBleHBlY3RlZCk7
Ci0gICAgfQotCi0gICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5
OC1yZ2IgMCUgMCUgMCUpIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDApIik7Ci0gICAgdGVzdENvbXB1
dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMTAlIDEwJSAxMCUpIiwgImNv
bG9yKGE5OC1yZ2IgMC4xIDAuMSAwLjEpIik7Ci0gICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgLjIgLjIgMjUlKSIsICJjb2xvcihhOTgtcmdiIDAuMiAw
LjIgMC4yNSkiKTsKLSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Io
YTk4LXJnYiAwIDAgMCAvIDEpIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDApIik7Ci0gICAgdGVzdENv
bXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCUgMCAwIC8gMC41KSIs
ICJjb2xvcihhOTgtcmdiIDAgMCAwIC8gMC41KSIpOwotICAgIHRlc3RDb21wdXRlZCgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDIwJSAwIDEwLzAuNSkiLCAiY29sb3IoYTk4LXJn
YiAwLjIgMCAxIC8gMC41KSIpOwotICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihhOTgtcmdiIDIwJSAwIDEwLzUwJSkiLCAiY29sb3IoYTk4LXJnYiAwLjIgMCAxIC8g
MC41KSIpOwotICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgt
cmdiIDQwMCUgMCAxMC81MCUpIiwgImNvbG9yKGE5OC1yZ2IgMSAwIDEgLyAwLjUpIik7Ci0gICAg
dGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0xNjAg
MTYwKSIsICJjb2xvcihhOTgtcmdiIDAuNSAwIDEpIik7Ci0gICAgdGVzdENvbXB1dGVkKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0yMDAgMjAwKSIsICJjb2xvcihhOTgt
cmdiIDAuNSAwIDEpIik7Ci0gICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKGE5OC1yZ2IgMCAwIDAgLyAtMTAlKSIsICJjb2xvcihhOTgtcmdiIDAgMCAwIC8gMCkiKTsK
LSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwIDAg
MCAvIDExMCUpIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDApIik7Ci0gICAgdGVzdENvbXB1dGVkKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDAgLyAzMDAlKSIsICJjb2xvcihh
OTgtcmdiIDAgMCAwKSIpOwotICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihhOTgtcmdiIDUwJSAtMjAwKSIsICJjb2xvcihhOTgtcmdiIDAuNSAwIDApIik7Ci0gICAg
dGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlKSIsICJj
b2xvcihhOTgtcmdiIDAuNSAwIDApIik7Ci0gICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGE5OC1yZ2IpIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDApIik7Ci0gICAgdGVz
dENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0yMDAgLyAw
LjUpIiwgImNvbG9yKGE5OC1yZ2IgMC41IDAgMCAvIDAuNSkiKTsKLSAgICB0ZXN0Q29tcHV0ZWQo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiA1MCUgLyAwLjUpIiwgImNvbG9yKGE5
OC1yZ2IgMC41IDAgMCAvIDAuNSkiKTsKLSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3IoYTk4LXJnYiAvIDAuNSkiLCAiY29sb3IoYTk4LXJnYiAwIDAgMCAvIDAuNSki
KTsKLQotICAgIGRlYnVnKCcnKTsKLSAgICBkZWJ1ZygnVGVzdCBpbnZhbGlkIHZhbHVlcycpOwot
ICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDAgMCAw
IDApIiwgInJnYmEoMCwgMCwgMCwgMCkiKTsKLSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IoYTk4LXJnYiAwZGVnIDAlIDApIiwgInJnYmEoMCwgMCwgMCwgMCkiKTsK
LSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwJSAw
IDAgMSkiLCAicmdiYSgwLCAwLCAwLCAwKSIpOwotICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3Vu
ZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDAlIDAgMCAxMCUpIiwgInJnYmEoMCwgMCwgMCwgMCki
KTsKLSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAw
JSAwIDBkZWcpIiwgInJnYmEoMCwgMCwgMCwgMCkiKTsKLSAgICB0ZXN0Q29tcHV0ZWQoImJhY2tn
cm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwJSAwJSAwZGVnKSIsICJyZ2JhKDAsIDAsIDAs
IDApIik7Ci0gICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1y
Z2IgNDAlIDAgMGRlZykiLCAicmdiYSgwLCAwLCAwLCAwKSIpOwotCi08L3NjcmlwdD4KLSAgICAK
LTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
LTwvYm9keT4KLTwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY29s
b3ItZnVuY3Rpb24tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL3BhcnNpbmctY29sb3ItZnVuY3Rpb24tZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY29sb3ItZnVuY3Rpb24tZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOTkgQEAKK1Rlc3QgdGhlIHBhcnNpbmcgb2YgY29s
b3IoKSBmdW5jdGlvbiBjb2xvcnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisK
K1Rlc3RpbmcgY29sb3Ioc3JnYiAuLi4pCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3Ioc3JnYiAwJSAwJSAwJSkiKSBpcyAiY29sb3Ioc3JnYiAwIDAgMCkiCitQ
QVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiAxMCUgMTAl
IDEwJSkiKSBpcyAiY29sb3Ioc3JnYiAwLjEgMC4xIDAuMSkiCitQQVNTIGNvbXB1dGVkU3R5bGUo
ImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiAuMiAuMiAyNSUpIikgaXMgImNvbG9yKHNy
Z2IgMC4yIDAuMiAwLjI1KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihzcmdiIDAgMCAwIC8gMSkiKSBpcyAiY29sb3Ioc3JnYiAwIDAgMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiAwJSAwIDAgLyAwLjUp
IikgaXMgImNvbG9yKHNyZ2IgMCAwIDAgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKHNyZ2IgMjAlIDAgMTAvMC41KSIpIGlzICJjb2xvcihzcmdi
IDAuMiAwIDEgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwg
ImNvbG9yKHNyZ2IgMjAlIDAgMTAvNTAlKSIpIGlzICJjb2xvcihzcmdiIDAuMiAwIDEgLyAwLjUp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHNyZ2IgNDAw
JSAwIDEwLzUwJSkiKSBpcyAiY29sb3Ioc3JnYiAxIDAgMSAvIDAuNSkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiA1MCUgLTE2MCAxNjApIikgaXMg
ImNvbG9yKHNyZ2IgMC41IDAgMSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29s
b3IiLCAiY29sb3Ioc3JnYiA1MCUgLTIwMCAyMDApIikgaXMgImNvbG9yKHNyZ2IgMC41IDAgMSki
CitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiAwIDAg
MCAvIC0xMCUpIikgaXMgImNvbG9yKHNyZ2IgMCAwIDAgLyAwKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihzcmdiIDAgMCAwIC8gMTEwJSkiKSBpcyAiY29s
b3Ioc3JnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3Ioc3JnYiAwIDAgMCAvIDMwMCUpIikgaXMgImNvbG9yKHNyZ2IgMCAwIDApIgorUEFTUyBj
b21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHNyZ2IgNTAlIC0yMDApIikg
aXMgImNvbG9yKHNyZ2IgMC41IDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3Ioc3JnYiA1MCUpIikgaXMgImNvbG9yKHNyZ2IgMC41IDAgMCkiCitQQVNT
IGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYikiKSBpcyAiY29s
b3Ioc3JnYiAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3Ioc3JnYiA1MCUgLTIwMCAvIDAuNSkiKSBpcyAiY29sb3Ioc3JnYiAwLjUgMCAwIC8gMC41
KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihzcmdiIDUw
JSAvIDAuNSkiKSBpcyAiY29sb3Ioc3JnYiAwLjUgMCAwIC8gMC41KSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihzcmdiIC8gMC41KSIpIGlzICJjb2xvcihz
cmdiIDAgMCAwIC8gMC41KSIKKworVGVzdCBpbnZhbGlkIHZhbHVlcworUEFTUyBjb21wdXRlZFN0
eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHNyZ2IgMCAwIDAgMCkiKSBpcyAicmdiYSgw
LCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihzcmdiIDBkZWcgMCUgMCkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihzcmdiIDAlIDAgMCAxKSIpIGlzICJyZ2Jh
KDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNv
bG9yKHNyZ2IgMCUgMCAwIDEwJSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihzcmdiIDAlIDAgMGRlZykiKSBpcyAi
cmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihzcmdiIDAlIDAlIDBkZWcpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNv
bXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3Ioc3JnYiA0MCUgMCAwZGVnKSIp
IGlzICJyZ2JhKDAsIDAsIDAsIDApIgorCitUZXN0aW5nIGNvbG9yKGE5OC1yZ2IgLi4uKQorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCUgMCUg
MCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMCAwIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMTAlIDEwJSAxMCUpIikgaXMgImNvbG9yKGE5
OC1yZ2IgMC4xIDAuMSAwLjEpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKGE5OC1yZ2IgLjIgLjIgMjUlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuMiAwLjIg
MC4yNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4
LXJnYiAwIDAgMCAvIDEpIikgaXMgImNvbG9yKGE5OC1yZ2IgMCAwIDApIgorUEFTUyBjb21wdXRl
ZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCUgMCAwIC8gMC41KSIp
IGlzICJjb2xvcihhOTgtcmdiIDAgMCAwIC8gMC41KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFj
a2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDIwJSAwIDEwLzAuNSkiKSBpcyAiY29sb3Io
YTk4LXJnYiAwLjIgMCAxIC8gMC41KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihhOTgtcmdiIDIwJSAwIDEwLzUwJSkiKSBpcyAiY29sb3IoYTk4LXJnYiAw
LjIgMCAxIC8gMC41KSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihhOTgtcmdiIDQwMCUgMCAxMC81MCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMSAwIDEgLyAw
LjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1y
Z2IgNTAlIC0xNjAgMTYwKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNSAwIDEpIgorUEFTUyBjb21w
dXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0yMDAgMjAw
KSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNSAwIDEpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNr
Z3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgMCAwIDAgLyAtMTAlKSIpIGlzICJjb2xvcihh
OTgtcmdiIDAgMCAwIC8gMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoYTk4LXJnYiAwIDAgMCAvIDExMCUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMCAwIDAp
IgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2Ig
MCAwIDAgLyAzMDAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRT
dHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDUwJSAtMjAwKSIpIGlzICJj
b2xvcihhOTgtcmdiIDAuNSAwIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNv
bG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlKSIpIGlzICJjb2xvcihhOTgtcmdiIDAuNSAwIDApIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IpIikg
aXMgImNvbG9yKGE5OC1yZ2IgMCAwIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNTAlIC0yMDAgLyAwLjUpIikgaXMgImNvbG9yKGE5OC1y
Z2IgMC41IDAgMCAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoYTk4LXJnYiA1MCUgLyAwLjUpIikgaXMgImNvbG9yKGE5OC1yZ2IgMC41IDAgMCAv
IDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4
LXJnYiAvIDAuNSkiKSBpcyAiY29sb3IoYTk4LXJnYiAwIDAgMCAvIDAuNSkiCisKK1Rlc3QgaW52
YWxpZCB2YWx1ZXMKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihhOTgtcmdiIDAgMCAwIDApIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwZGVnIDAlIDApIikgaXMg
InJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3Ii
LCAiY29sb3IoYTk4LXJnYiAwJSAwIDAgMSkiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihhOTgtcmdiIDAlIDAgMCAx
MCUpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91
bmQtY29sb3IiLCAiY29sb3IoYTk4LXJnYiAwJSAwIDBkZWcpIikgaXMgInJnYmEoMCwgMCwgMCwg
MCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IoYTk4LXJn
YiAwJSAwJSAwZGVnKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxl
KCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKGE5OC1yZ2IgNDAlIDAgMGRlZykiKSBpcyAicmdi
YSgwLCAwLCAwLCAwKSIKKworVGVzdGluZyBjb2xvcihyZWMyMDIwIC4uLikKK1BBU1MgY29tcHV0
ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDAlIDAlIDAlKSIpIGlz
ICJjb2xvcihyZWMyMDIwIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihyZWMyMDIwIDEwJSAxMCUgMTAlKSIpIGlzICJjb2xvcihyZWMyMDIwIDAu
MSAwLjEgMC4xKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xv
cihyZWMyMDIwIC4yIC4yIDI1JSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjIgMC4yIDAuMjUpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHJlYzIwMjAgMCAw
IDAgLyAxKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgi
YmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDAlIDAgMCAvIDAuNSkiKSBpcyAiY29s
b3IocmVjMjAyMCAwIDAgMCAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQt
Y29sb3IiLCAiY29sb3IocmVjMjAyMCAyMCUgMCAxMC8wLjUpIikgaXMgImNvbG9yKHJlYzIwMjAg
MC4yIDAgMSAvIDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAi
Y29sb3IocmVjMjAyMCAyMCUgMCAxMC81MCUpIikgaXMgImNvbG9yKHJlYzIwMjAgMC4yIDAgMSAv
IDAuNSkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IocmVj
MjAyMCA0MDAlIDAgMTAvNTAlKSIpIGlzICJjb2xvcihyZWMyMDIwIDEgMCAxIC8gMC41KSIKK1BB
U1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDUwJSAt
MTYwIDE2MCkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjUgMCAxKSIKK1BBU1MgY29tcHV0ZWRTdHls
ZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDUwJSAtMjAwIDIwMCkiKSBpcyAi
Y29sb3IocmVjMjAyMCAwLjUgMCAxKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1j
b2xvciIsICJjb2xvcihyZWMyMDIwIDAgMCAwIC8gLTEwJSkiKSBpcyAiY29sb3IocmVjMjAyMCAw
IDAgMCAvIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KHJlYzIwMjAgMCAwIDAgLyAxMTAlKSIpIGlzICJjb2xvcihyZWMyMDIwIDAgMCAwKSIKK1BBU1Mg
Y29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDAgMCAwIC8g
MzAwJSkiKSBpcyAiY29sb3IocmVjMjAyMCAwIDAgMCkiCitQQVNTIGNvbXB1dGVkU3R5bGUoImJh
Y2tncm91bmQtY29sb3IiLCAiY29sb3IocmVjMjAyMCA1MCUgLTIwMCkiKSBpcyAiY29sb3IocmVj
MjAyMCAwLjUgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJj
b2xvcihyZWMyMDIwIDUwJSkiKSBpcyAiY29sb3IocmVjMjAyMCAwLjUgMCAwKSIKK1BBU1MgY29t
cHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwKSIpIGlzICJjb2xv
cihyZWMyMDIwIDAgMCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dyb3VuZC1jb2xvciIs
ICJjb2xvcihyZWMyMDIwIDUwJSAtMjAwIC8gMC41KSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNSAw
IDAgLyAwLjUpIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KHJlYzIwMjAgNTAlIC8gMC41KSIpIGlzICJjb2xvcihyZWMyMDIwIDAuNSAwIDAgLyAwLjUpIgor
UEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHJlYzIwMjAgLyAw
LjUpIikgaXMgImNvbG9yKHJlYzIwMjAgMCAwIDAgLyAwLjUpIgorCitUZXN0IGludmFsaWQgdmFs
dWVzCitQQVNTIGNvbXB1dGVkU3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IocmVjMjAy
MCAwIDAgMCAwKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJi
YWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHJlYzIwMjAgMGRlZyAwJSAwKSIpIGlzICJyZ2JhKDAs
IDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9y
KHJlYzIwMjAgMCUgMCAwIDEpIikgaXMgInJnYmEoMCwgMCwgMCwgMCkiCitQQVNTIGNvbXB1dGVk
U3R5bGUoImJhY2tncm91bmQtY29sb3IiLCAiY29sb3IocmVjMjAyMCAwJSAwIDAgMTAlKSIpIGlz
ICJyZ2JhKDAsIDAsIDAsIDApIgorUEFTUyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9y
IiwgImNvbG9yKHJlYzIwMjAgMCUgMCAwZGVnKSIpIGlzICJyZ2JhKDAsIDAsIDAsIDApIgorUEFT
UyBjb21wdXRlZFN0eWxlKCJiYWNrZ3JvdW5kLWNvbG9yIiwgImNvbG9yKHJlYzIwMjAgMCUgMCUg
MGRlZykiKSBpcyAicmdiYSgwLCAwLCAwLCAwKSIKK1BBU1MgY29tcHV0ZWRTdHlsZSgiYmFja2dy
b3VuZC1jb2xvciIsICJjb2xvcihyZWMyMDIwIDQwJSAwIDBkZWcpIikgaXMgInJnYmEoMCwgMCwg
MCwgMCkiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvcGFyc2luZy1jb2xvci1mdW5jdGlvbi5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3BhcnNpbmctY29sb3ItZnVuY3Rp
b24uaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNv
bG9yLWZ1bmN0aW9uLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NSBAQAorPGh0bWw+
CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRlc3QgdGhl
IHBhcnNpbmcgb2YgY29sb3IoKSBmdW5jdGlvbiBjb2xvcnMuIik7CisKKyAgICBmdW5jdGlvbiBj
b21wdXRlZFN0eWxlKHByb3BlcnR5LCB2YWx1ZSkKKyAgICB7CisgICAgICAgIHZhciBkaXYgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChkaXYpOworICAgICAgICBkaXYuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHksIHZh
bHVlKTsKKyAgICAgICAgdmFyIGNvbXB1dGVkVmFsdWUgPSBnZXRDb21wdXRlZFN0eWxlKGRpdiku
Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eSk7CisgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3Zl
Q2hpbGQoZGl2KTsKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVkVmFsdWU7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gaW5uZXJTdHlsZShwcm9wZXJ0eSwgdmFsdWUpCisgICAgeworICAgICAgICB2YXIg
ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGRpdi5zdHlsZS5z
ZXRQcm9wZXJ0eShwcm9wZXJ0eSwgdmFsdWUpOworICAgICAgICByZXR1cm4gZGl2LnN0eWxlLmdl
dFByb3BlcnR5VmFsdWUocHJvcGVydHkpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3RDb21w
dXRlZChwcm9wZXJ0eSwgdmFsdWUsIGV4cGVjdGVkKQorICAgIHsKKyAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdjb21wdXRlZFN0eWxlKCInICsgcHJvcGVydHkgKyAnIiwgIicgKyB2YWx1
ZSArICciKScsIGV4cGVjdGVkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0SW5uZXIocHJv
cGVydHksIHZhbHVlLCBleHBlY3RlZCkKKyAgICB7CisgICAgICAgIGlmIChleHBlY3RlZCA9PT0g
bnVsbCkKKyAgICAgICAgICAgIGV4cGVjdGVkID0gIiI7CisgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnaW5uZXJTdHlsZSgiJyArIHByb3BlcnR5ICsgJyIsICInICsgdmFsdWUgKyAnIikn
LCBleHBlY3RlZCk7CisgICAgfQorCisgICAgZm9yIChjb25zdCBjb2xvciBvZiBbICJzcmdiIiwg
ImE5OC1yZ2IiLCAicmVjMjAyMCIgXSkgeworICAgICAgICBkZWJ1ZygnJyk7CisgICAgICAgIGRl
YnVnKGBUZXN0aW5nIGNvbG9yKCR7Y29sb3J9IC4uLilgKTsKKyAgICAgICAgCisgICAgICAgIHRl
c3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAwJSAwJSAwJSlg
LCBgY29sb3IoJHtjb2xvcn0gMCAwIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dy
b3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAxMCUgMTAlIDEwJSlgLCBgY29sb3IoJHtjb2xv
cn0gMC4xIDAuMSAwLjEpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xv
ciIsIGBjb2xvcigke2NvbG9yfSAuMiAuMiAyNSUpYCwgYGNvbG9yKCR7Y29sb3J9IDAuMiAwLjIg
MC4yNSlgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9y
KCR7Y29sb3J9IDAgMCAwIC8gMSlgLCBgY29sb3IoJHtjb2xvcn0gMCAwIDApYCk7CisgICAgICAg
IHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAwJSAwIDAg
LyAwLjUpYCwgYGNvbG9yKCR7Y29sb3J9IDAgMCAwIC8gMC41KWApOworICAgICAgICB0ZXN0Q29t
cHV0ZWQoImJhY2tncm91bmQtY29sb3IiLCBgY29sb3IoJHtjb2xvcn0gMjAlIDAgMTAvMC41KWAs
IGBjb2xvcigke2NvbG9yfSAwLjIgMCAxIC8gMC41KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQo
ImJhY2tncm91bmQtY29sb3IiLCBgY29sb3IoJHtjb2xvcn0gMjAlIDAgMTAvNTAlKWAsIGBjb2xv
cigke2NvbG9yfSAwLjIgMCAxIC8gMC41KWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoImJhY2tn
cm91bmQtY29sb3IiLCBgY29sb3IoJHtjb2xvcn0gNDAwJSAwIDEwLzUwJSlgLCBgY29sb3IoJHtj
b2xvcn0gMSAwIDEgLyAwLjUpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1j
b2xvciIsIGBjb2xvcigke2NvbG9yfSA1MCUgLTE2MCAxNjApYCwgYGNvbG9yKCR7Y29sb3J9IDAu
NSAwIDEpYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xv
cigke2NvbG9yfSA1MCUgLTIwMCAyMDApYCwgYGNvbG9yKCR7Y29sb3J9IDAuNSAwIDEpYCk7Cisg
ICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAw
IDAgMCAvIC0xMCUpYCwgYGNvbG9yKCR7Y29sb3J9IDAgMCAwIC8gMClgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKCR7Y29sb3J9IDAgMCAwIC8gMTEw
JSlgLCBgY29sb3IoJHtjb2xvcn0gMCAwIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFj
a2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAwIDAgMCAvIDMwMCUpYCwgYGNvbG9yKCR7
Y29sb3J9IDAgMCAwKWApOworICAgICAgICB0ZXN0Q29tcHV0ZWQoImJhY2tncm91bmQtY29sb3Ii
LCBgY29sb3IoJHtjb2xvcn0gNTAlIC0yMDApYCwgYGNvbG9yKCR7Y29sb3J9IDAuNSAwIDApYCk7
CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9y
fSA1MCUpYCwgYGNvbG9yKCR7Y29sb3J9IDAuNSAwIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRl
ZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSlgLCBgY29sb3IoJHtjb2xvcn0g
MCAwIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xv
cigke2NvbG9yfSA1MCUgLTIwMCAvIDAuNSlgLCBgY29sb3IoJHtjb2xvcn0gMC41IDAgMCAvIDAu
NSlgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKCR7
Y29sb3J9IDUwJSAvIDAuNSlgLCBgY29sb3IoJHtjb2xvcn0gMC41IDAgMCAvIDAuNSlgKTsKKyAg
ICAgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKCR7Y29sb3J9IC8g
MC41KWAsIGBjb2xvcigke2NvbG9yfSAwIDAgMCAvIDAuNSlgKTsKKworICAgICAgICBkZWJ1Zygn
Jyk7CisgICAgICAgIGRlYnVnKCdUZXN0IGludmFsaWQgdmFsdWVzJyk7CisgICAgICAgIHRlc3RD
b21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAwIDAgMCAwKWAsIGBy
Z2JhKDAsIDAsIDAsIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xv
ciIsIGBjb2xvcigke2NvbG9yfSAwZGVnIDAlIDApYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAg
ICAgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKCR7Y29sb3J9IDAl
IDAgMCAxKWAsIGByZ2JhKDAsIDAsIDAsIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFj
a2dyb3VuZC1jb2xvciIsIGBjb2xvcigke2NvbG9yfSAwJSAwIDAgMTAlKWAsIGByZ2JhKDAsIDAs
IDAsIDApYCk7CisgICAgICAgIHRlc3RDb21wdXRlZCgiYmFja2dyb3VuZC1jb2xvciIsIGBjb2xv
cigke2NvbG9yfSAwJSAwIDBkZWcpYCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICAgICAgdGVz
dENvbXB1dGVkKCJiYWNrZ3JvdW5kLWNvbG9yIiwgYGNvbG9yKCR7Y29sb3J9IDAlIDAlIDBkZWcp
YCwgYHJnYmEoMCwgMCwgMCwgMClgKTsKKyAgICAgICAgdGVzdENvbXB1dGVkKCJiYWNrZ3JvdW5k
LWNvbG9yIiwgYGNvbG9yKCR7Y29sb3J9IDQwJSAwIDBkZWcpYCwgYHJnYmEoMCwgMCwgMCwgMClg
KTsKKyAgICB9Cis8L3NjcmlwdD4KKyAgICAKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjcyMTE2KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisy
MDIxLTAxLTMwICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
c3VwcG9ydCBmb3IgY29sb3IocmVjMjAyMCAuLi4pIGFzIHBhcnQgb2YgQ1NTIENvbG9yIDQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTExNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIG5l
dyBXUFQgdGVzdHMgZm9yIGNvbG9yKHJlYzIwMjAgKSB0aGF0IHdpbGwgYmUgdXBzdHJlYW1lZCBz
aG9ydGx5LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVj
MjAyMC0wMDEtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDEuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDItZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAy
MC0wMDIuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29sb3IvcmVjMjAyMC0wMDMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDQtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29s
b3IvcmVjMjAyMC0wMDQuaHRtbDogQWRkZWQuCisKIDIwMjEtMDEtMjkgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBGaXggV2ViQXNzZW1ibHkuR2xv
YmFsJ3MgZXJyb3IgbWVzc2FnZSBhbmQgc3VwcG9ydCAiZnVuY3JlZiIKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZp
bmVkLTAxMS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAxMS5odG1sCShyZXZpc2lv
biAyNzIwNzMpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29sb3IvcHJlZGVmaW5lZC0wMTEuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtOCw3
ICs4LDcgQEAKIDxzdHlsZT4KICAgICAudGVzdCB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgd2lk
dGg6IDEyZW07IGhlaWdodDogNmVtOyBtYXJnaW4tdG9wOjB9CiAgICAgLnJlZiB7IGJhY2tncm91
bmQtY29sb3I6ICMwMDk5MDA7IHdpZHRoOiAxMmVtOyBoZWlnaHQ6IDZlbTsgbWFyZ2luLWJvdHRv
bTogMH0KLSAgICAudGVzdCB7YmFja2dyb3VuZC1jb2xvcjogY29sb3IocmVjMjAyMCAwLjMzMDMz
IDAuNTU5NzYgMC4xNDg2Myl9CisgICAgLnRlc3Qge2JhY2tncm91bmQtY29sb3I6IGNvbG9yKHJl
YzIwMjAgMC4yOTkyMTggMC41MzMzMjcgMC4xMjA3ODUpfQogPC9zdHlsZT4KIDxib2R5PgogICAg
IDxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBncmVlbiBzcXVhcmUsIGFuZCBubyByZWQuPC9w
PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbG9yL3ByZWRlZmluZWQtMDEyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3ByZWRlZmluZWQt
MDEyLmh0bWwJKHJldmlzaW9uIDI3MjA3MykKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAxMi5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQAogPHN0eWxlPgogICAgIC50ZXN0IHsgYmFja2dyb3Vu
ZC1jb2xvcjogcmVkOyB3aWR0aDogMTJlbTsgaGVpZ2h0OiA2ZW07IG1hcmdpbi10b3A6MH0KICAg
ICAucmVmIHsgYmFja2dyb3VuZC1jb2xvcjogIzAwOTkwMDsgd2lkdGg6IDEyZW07IGhlaWdodDog
NmVtOyBtYXJnaW4tYm90dG9tOiAwfQotICAgIC50ZXN0IHtiYWNrZ3JvdW5kLWNvbG9yOiBjb2xv
cihyZWMyMDIwIDMzLjAzMyUgNTUuOTc2JSAxNC44NjMlKX0KKyAgICAudGVzdCB7YmFja2dyb3Vu
ZC1jb2xvcjogY29sb3IocmVjMjAyMCAyOS45MjE4JSA1My4zMzI3JSAxMi4wNzg1JSl9CiA8L3N0
eWxlPgogPGJvZHk+CiAgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIGdyZWVuIHNxdWFy
ZSwgYW5kIG5vIHJlZC48L3A+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDEtZXhwZWN0ZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29sb3IvcmVjMjAyMC0wMDEtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3Iv
cmVjMjAyMC0wMDEtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5HcmVlbiBz
cXVhcmUgcmVmZXJlbmNlPC90aXRsZT4KKzxzdHlsZT4KKyAgICAudGVzdCB7IGJhY2tncm91bmQt
Y29sb3I6ICMwMDgwMDA7IHdpZHRoOiAxMmVtOyBoZWlnaHQ6IDEyZW07fQorPC9zdHlsZT4KKzxi
b2R5PgorICAgIDxwPlRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBncmVlbiBzcXVhcmUsIGFuZCBu
byByZWQuPC9wPgorICAgIDxkaXYgY2xhc3M9InRlc3QiPjwvZGl2PgorPC9ib2R5PgpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9y
L3JlYzIwMjAtMDAxLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3JlYzIwMjAtMDAxLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbG9yL3JlYzIwMjAtMDAxLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwx
NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Q1NT
IENvbG9yIDQ6IHJlYzIwMjA8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJTYW0g
V2VpbmlnIiBocmVmPSJtYWlsdG86d2VpbmlnQGFwcGxlLmNvbSI+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29sb3ItNC8jdmFsZGVmLWNvbG9y
LXJlYzIwMjAiPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iZ3JlZW5zcXVhcmUtcmVmLmh0bWwi
PgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJyZWMyMDIwIHdpdGggbm8gYWxwaGEiPgor
PHN0eWxlPgorICAgIC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB3aWR0aDogMTJlbTsg
aGVpZ2h0OiAxMmVtOyB9CisgICAgLnRlc3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihyZWMy
MDIwIDAuMjM0MTcxIDAuNDI5ODI1IDAuMDg0OTg5KTsgfSAvKiBncmVlbiAoc1JHQiAjMDA4MDAw
KSBjb252ZXJ0ZWQgdG8gcmVjMjAyMCAqLworPC9zdHlsZT4KKzxib2R5PgorICAgIDxwPlRlc3Qg
cGFzc2VzIGlmIHlvdSBzZWUgYSBncmVlbiBzcXVhcmUsIGFuZCBubyByZWQuPC9wPgorICAgIDxk
aXYgY2xhc3M9InRlc3QiPjwvZGl2PgorPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3JlYzIwMjAtMDAyLWV4cGVj
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3JlYzIwMjAtMDAyLWV4cGVjdGVkLmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbG9yL3JlYzIwMjAtMDAyLWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+QmxhY2sgc3F1YXJlIHJlZmVyZW5jZTwvdGl0bGU+Cis8c3R5bGU+CisgICAgLnRlc3Qg
eyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB3aWR0aDogMTJlbTsgaGVpZ2h0OiAxMmVtOyB9
Cis8L3N0eWxlPgorPGJvZHk+CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIGJsYWNr
IHNxdWFyZSwgYW5kIG5vIHJlZC48L3A+CisgICAgPGRpdiBjbGFzcz0idGVzdCI+PC9kaXY+Cis8
L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0w
MDIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDIuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5DU1MgQ29sb3IgNDogcmVjMjAyMDwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9IlNhbSBXZWluaWciIGhyZWY9Im1haWx0bzp3ZWluaWdAYXBwbGUuY29tIj4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb2xvci00
LyN2YWxkZWYtY29sb3ItcmVjMjAyMCI+Cis8bGluayByZWw9Im1hdGNoIiBocmVmPSJibGFja3Nx
dWFyZS1yZWYuaHRtbCI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9InJlYzIwMjAgd2l0
aCBubyBhbHBoYSI+Cis8c3R5bGU+CisgICAgLnRlc3QgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
IHdpZHRoOiAxMmVtOyBoZWlnaHQ6IDEyZW07IH0KKyAgICAudGVzdCB7IGJhY2tncm91bmQtY29s
b3I6IGNvbG9yKHJlYzIwMjAgMCAwIDApOyB9IC8qIGJsYWNrIChzUkdCICMwMDAwMDApIGNvbnZl
cnRlZCB0byByZWMyMDIwICovCis8L3N0eWxlPgorPGJvZHk+CisgICAgPHA+VGVzdCBwYXNzZXMg
aWYgeW91IHNlZSBhIGJsYWNrIHNxdWFyZSwgYW5kIG5vIHJlZC48L3A+CisgICAgPGRpdiBjbGFz
cz0idGVzdCI+PC9kaXY+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDMtZXhwZWN0ZWQuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDMtZXhwZWN0ZWQuaHRtbAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29sb3IvcmVjMjAyMC0wMDMtZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDExIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5D
U1MgQ29sb3IgNDogQ1NTIENvbG9yIDQ6IHJlYzIwMjA8L3RpdGxlPgorPHN0eWxlPgorICAgIGJv
ZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OyB9CisgICAgLnRlc3QgeyBiYWNrZ3JvdW5kLWNv
bG9yOiByZ2IoOTkuOTkzJSAxMDAlIDEwMCUpOyB3aWR0aDogMTJlbTsgaGVpZ2h0OiAxMmVtOyB9
IC8qIGNvbG9yKHJlYzIwMjAgMSAxIDEpIGNvbnZlcnRlZCB0byBzUkdCICovCis8L3N0eWxlPgor
PGJvZHk+CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIHNpbmdsZSBzcXVhcmUsIGFu
ZCBub3QgdHdvIHJlY3RhbmdsZXMgb2YgZGlmZmVyZW50IGNvbG9ycy48L3A+CisgICAgPGRpdiBj
bGFzcz0idGVzdCI+PC9kaXY+Cis8L2JvZHk+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0wMDMuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29sb3IvcmVjMjAyMC0wMDMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcmVjMjAyMC0w
MDMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgQ29sb3IgNDogcmVjMjAyMDwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlNhbSBXZWluaWciIGhyZWY9Im1haWx0bzp3
ZWluaWdAYXBwbGUuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9kcmFmdHMu
Y3Nzd2cub3JnL2Nzcy1jb2xvci00LyN2YWxkZWYtY29sb3ItcmVjMjAyMCI+Cis8bGluayByZWw9
Im1hdGNoIiBocmVmPSJyZWMyMDIwLTAwMy1yZWYuaHRtbCI+Cis8bWV0YSBuYW1lPSJhc3NlcnQi
IGNvbnRlbnQ9InJlYzIwMjAgd2l0aCBubyBhbHBoYSI+Cis8c3R5bGU+CisgICAgYm9keSB7IGJh
Y2tncm91bmQtY29sb3I6IGdyZXk7IH0KKyAgICAudGVzdCB7IGJhY2tncm91bmQtY29sb3I6IHJl
ZDsgd2lkdGg6IDEyZW07IGhlaWdodDogNmVtOyBtYXJnaW4tdG9wOiAwOyB9CisgICAgLnJlZiB7
IGJhY2tncm91bmQtY29sb3I6IHJnYig5OS45OTMlIDEwMCUgMTAwJSk7IHdpZHRoOiAxMmVtOyBo
ZWlnaHQ6IDZlbTsgbWFyZ2luLWJvdHRvbTogMDsgfSAvKiBjb2xvcihyZWMyMDIwIDEgMSAxKSBj
b252ZXJ0ZWQgdG8gc1JHQiAqLworICAgIC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogY29sb3Io
cmVjMjAyMCAxIDEgMSk7IH0KKzwvc3R5bGU+Cis8Ym9keT4KKyAgICA8cD5UZXN0IHBhc3NlcyBp
ZiB5b3Ugc2VlIGEgc2luZ2xlIHNxdWFyZSwgYW5kIG5vdCB0d28gcmVjdGFuZ2xlcyBvZiBkaWZm
ZXJlbnQgY29sb3JzLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWYiPjwvZGl2PgorICAgIDxkaXYg
Y2xhc3M9InRlc3QiPjwvZGl2PgorPC9ib2R5PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3JlYzIwMjAtMDA0LWV4cGVjdGVk
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbG9yL3JlYzIwMjAtMDA0LWV4cGVjdGVkLmh0bWwJKG5vbmV4aXN0
ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbG9yL3JlYzIwMjAtMDA0LWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0
bGU+Q1NTIENvbG9yIDQ6IENTUyBDb2xvciA0OiByZWMyMDIwPC90aXRsZT4KKzxzdHlsZT4KKyAg
ICAudGVzdCB7IGJhY2tncm91bmQtY29sb3I6IGxhYig4NS43NzI5JSAtMTYwLjcyNTkgMTA5LjIz
MTkpOyB3aWR0aDogMTJlbTsgaGVpZ2h0OiAxMmVtOyB9IC8qIGNvbG9yKHJlYzIwMjAgMCAxIDAp
IGNvbnZlcnRlZCB0byBMYWIgKi8KKzwvc3R5bGU+Cis8Ym9keT4KKyAgICA8cD5UZXN0IHBhc3Nl
cyBpZiB5b3Ugc2VlIGEgc2luZ2xlIHNxdWFyZSwgYW5kIG5vdCB0d28gcmVjdGFuZ2xlcyBvZiBk
aWZmZXJlbnQgY29sb3JzLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJ0ZXN0Ij48L2Rpdj4KKzwvYm9k
eT4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb2xvci9yZWMyMDIwLTAwNC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9yZWMyMDIwLTAwNC5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9yZWMyMDIwLTAwNC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgor
PHRpdGxlPkNTUyBDb2xvciA0OiByZWMyMDIwPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iU2FtIFdlaW5pZyIgaHJlZj0ibWFpbHRvOndlaW5pZ0BhcHBsZS5jb20iPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLWNvbG9yLTQvI3Zh
bGRlZi1jb2xvci1yZWMyMDIwIj4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJlYzIwMjAtMDA0
LXJlZi5odG1sIj4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0icmVjMjAyMCB3aXRoIG5v
IGFscGhhIj4KKzxzdHlsZT4KKyAgICAudGVzdCB7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgd2lk
dGg6IDEyZW07IGhlaWdodDogNmVtOyBtYXJnaW4tdG9wOiAwOyB9CisgICAgLnJlZiB7IGJhY2tn
cm91bmQtY29sb3I6IGxhYig4NS43NzI5JSAtMTYwLjcyNTkgMTA5LjIzMTkpOyB3aWR0aDogMTJl
bTsgaGVpZ2h0OiA2ZW07IG1hcmdpbi1ib3R0b206IDA7IH0gLyogY29sb3IocmVjMjAyMCAwIDEg
MCkgY29udmVydGVkIHRvIExhYiAqLworICAgIC50ZXN0IHsgYmFja2dyb3VuZC1jb2xvcjogY29s
b3IocmVjMjAyMCAwIDEgMCk7IH0KKzwvc3R5bGU+Cis8Ym9keT4KKyAgICA8cD5UZXN0IHBhc3Nl
cyBpZiB5b3Ugc2VlIGEgc2luZ2xlIHNxdWFyZSwgYW5kIG5vdCB0d28gcmVjdGFuZ2xlcyBvZiBk
aWZmZXJlbnQgY29sb3JzLjwvcD4KKyAgICA8ZGl2IGNsYXNzPSJyZWYiPjwvZGl2PgorICAgIDxk
aXYgY2xhc3M9InRlc3QiPjwvZGl2PgorPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>