<?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>193821</bug_id>
          
          <creation_ts>2019-01-25 04:11:09 -0800</creation_ts>
          <short_desc>Import Resize Observer test cases from WPTs</short_desc>
          <delta_ts>2019-01-29 06:59:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>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>157743</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="cathiechen">cathiechen</reporter>
          <assigned_to name="cathiechen">cathiechen</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-feeder</cc>
    
    <cc>fred.wang</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1498203</commentid>
    <comment_count>0</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-25 04:11:09 -0800</bug_when>
    <thetext>Import css-lists testcases from web platform tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498228</commentid>
    <comment_count>1</comment_count>
      <attachid>360111</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-25 07:02:02 -0800</bug_when>
    <thetext>Created attachment 360111
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498859</commentid>
    <comment_count>2</comment_count>
      <attachid>360288</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-27 03:33:35 -0800</bug_when>
    <thetext>Created attachment 360288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498860</commentid>
    <comment_count>3</comment_count>
      <attachid>360289</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-27 03:56:37 -0800</bug_when>
    <thetext>Created attachment 360289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498863</commentid>
    <comment_count>4</comment_count>
      <attachid>360292</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-27 05:04:24 -0800</bug_when>
    <thetext>Created attachment 360292
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498864</commentid>
    <comment_count>5</comment_count>
      <attachid>360293</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-27 06:26:35 -0800</bug_when>
    <thetext>Created attachment 360293
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498865</commentid>
    <comment_count>6</comment_count>
      <attachid>360294</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-27 06:41:20 -0800</bug_when>
    <thetext>Created attachment 360294
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498868</commentid>
    <comment_count>7</comment_count>
      <attachid>360296</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-27 08:27:09 -0800</bug_when>
    <thetext>Created attachment 360296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498870</commentid>
    <comment_count>8</comment_count>
      <attachid>360297</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-27 09:24:36 -0800</bug_when>
    <thetext>Created attachment 360297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498945</commentid>
    <comment_count>9</comment_count>
      <attachid>360321</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-27 22:50:59 -0800</bug_when>
    <thetext>Created attachment 360321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1498998</commentid>
    <comment_count>10</comment_count>
      <attachid>360321</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2019-01-28 05:58:51 -0800</bug_when>
    <thetext>Comment on attachment 360321
Patch

Can you please only import WPT tests in this patch? Then the addition of runtime ResizeObserver preference as well the local modifications of the tests (to add the header that enables the preference) would be done in follow-up bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499039</commentid>
    <comment_count>11</comment_count>
      <attachid>360346</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2019-01-28 08:32:34 -0800</bug_when>
    <thetext>Created attachment 360346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499514</commentid>
    <comment_count>12</comment_count>
      <attachid>360346</attachid>
    <who name="EWS">ews-feeder</who>
    <bug_when>2019-01-29 06:36:32 -0800</bug_when>
    <thetext>Comment on attachment 360346
Patch

Rejecting attachment 360346 from commit-queue.

cathiechen@igalia.com does not have committer permissions according to https://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499525</commentid>
    <comment_count>13</comment_count>
      <attachid>360346</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-29 06:58:11 -0800</bug_when>
    <thetext>Comment on attachment 360346
Patch

Clearing flags on attachment: 360346

Committed r240655: &lt;https://trac.webkit.org/changeset/240655&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499526</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-29 06:58:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499527</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-29 06:59:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/47631406&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360111</attachid>
            <date>2019-01-25 07:02:02 -0800</date>
            <delta_ts>2019-01-27 03:33:29 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>ro_wpt_001.diff</filename>
            <type>text/plain</type>
            <size>47357</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4
cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggOTk1MjE5MzI2YS4uNzU4ZDlmZmViNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRp
b25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQt
ZXhwZWN0YXRpb25zLmpzb24KQEAgLTI5NSw2ICsyOTUsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0t
dGVzdHMvcmVtb3RlLXBsYXliYWNrIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L3JlcXVlc3RpZGxlY2FsbGJhY2siOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyIjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci8iOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmciOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMi
OiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JlZW4tb3JpZW50YXRpb24i
OiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9NRVRBLnltbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5lZjY2ODU2MjJiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvTUVUQS55bWwKQEAgLTAsMCArMSw0IEBACitzcGVjOiBodHRwczovL3dpY2cuZ2l0
aHViLmlvL1Jlc2l6ZU9ic2VydmVyLworc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBhdG90aWMK
KyAgLSBkaG9sYmVydApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L2V2ZW50bG9vcC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMC4uN2IyMzEwNjY0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw3IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTA6IFJlZmVyZW5j
ZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgorUmVzaXplT2JzZXJ2
ZXIgbm90aWZpY2F0aW9uIGV2ZW50IGxvb3AgdGVzdHMKKwordDEKKworRkFJTCBSZXNpemVPYnNl
cnZlciBpbXBsZW1lbnRlZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAi
UmVzaXplT2JzZXJ2ZXIiIG1pc3NpbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9ldmVudGxvb3AuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
Li41NTlmNTJhZDJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKQEAgLTAs
MCArMSwyNTkgQEAKKzwhZG9jdHlwZSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRl
c3RIZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICBkaXYgeworICAgIGJvcmRlcjogMXB4
IGRvdHRlZCBncmF5CisgIH0KKzwvc3R5bGU+Cis8cD5SZXNpemVPYnNlcnZlciBub3RpZmljYXRp
b24gZXZlbnQgbG9vcCB0ZXN0czwvcD4KKzxkaXYgaWQ9InRhcmdldDEiIHN0eWxlPSJ3aWR0aDox
MDBweDtoZWlnaHQ6MTAwcHg7Ij50MQorPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICA8
ZGl2IGlkPSJhMSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+CisgICAgPGRpdiBp
ZD0iYTIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPgorICAgIDwvZGl2PgorICA8
L2Rpdj4KKyAgPGRpdiBpZD0iYjEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPgor
ICAgIDxkaXYgaWQ9ImIyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4Ij4KKyAgICA8
L2Rpdj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK2xldCB0
MSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQxJyk7CisKKy8vIGFsbG93IHVuY2F1
Z2h0IGV4Y2VwdGlvbiBiZWNhdXNlIFJlc2l6ZU9ic2VydmVyIHBvc3RzIGV4Y2VwdGlvbnMKKy8v
IHRvIHdpbmRvdyBlcnJvciBoYW5kbGVyIHdoZW4gbGltaXQgaXMgZXhjZWVkZWQuCisvLyBUaGlz
IGNvZGVwYXRoIGlzIHRlc3RlZCBpbiB0aGlzIGZpbGUuCisKK3NldHVwKHthbGxvd191bmNhdWdo
dF9leGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rpb24gdGVtcGxhdGUoKSB7CisgIGxldCBoZWxw
ZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IHRpdGxlIiwKKyAgWworICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBu
ZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7
Cit9CisKK3ZhciBvbkVycm9yQ2FsbGVkID0gZmFsc2U7CisKK3dpbmRvdy5vbmVycm9yID0gZXJy
ID0+IHsKKyAgb25FcnJvckNhbGxlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIHRlc3QwKCkgewor
CisgIGxldCBkaXZzID0gW3QxXTsKKyAgbGV0IHJBRiA9IDA7CisgIGxldCBoZWxwZXIgPSBuZXcg
UmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IG11bHRpcGxlIG5vdGlmaWNhdGlvbnMgaW5z
aWRlIHNhbWUgZXZlbnQgbG9vcCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICBvbkVycm9yQ2FsbGVkID0gZmFsc2U7CisgICAgICAgIGxldCB0MiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICBsZXQgdDMgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgdDIuYXBwZW5kQ2hpbGQodDMpOworICAgICAg
ICB0MS5hcHBlbmRDaGlsZCh0Mik7CisgICAgICAgIGRpdnMucHVzaCh0Mik7CisgICAgICAgIGRp
dnMucHVzaCh0Myk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQyKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMywgIjMgbm90aWZpY2F0aW9ucyIpOworICAgICAgfQor
ICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgaGVscGVy
LnN0YXJ0Q291bnRpbmdSYWYoKTsKKyAgICAgICAgZGl2cy5mb3JFYWNoKCBlbCA9PiB7IGVsLnN0
eWxlLndpZHRoID0gIjEwMXB4Ijt9KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVz
LCBvYnNlcnZlcikgPT4geworICAgICAgICAvLyB0MSBpcyBub3QgZGVsaXZlcmVkCisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDIsICIyIG5vdGlmaWNhdGlvbnMiKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhoZWxwZXIucmFmQ291bnQsIDAsICJzdGlsbCBpbiBzYW1lIGxv
b3AiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIGRpdnMuZm9yRWFjaCggZWwgPT4geyBlbC5zdHlsZS53aWR0aCA9ICIxMDJweCI7
fSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgbm90aWZpY2F0aW9ucyIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3VudCwgMCwgInNhbWUgbG9vcCIp
OworICAgICAgfQorICAgIH0sCisgICAgeyAvLyB0MSBhbmQgdDIgZ2V0IG5vdGlmaWVkCisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDIs
ICIyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhoZWxwZXIucmFmQ291
bnQsIDEsICJuZXcgbG9vcCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9uRXJyb3JDYWxsZWQs
IHRydWUsICJlcnJvciB3YXMgZmlyZWQiKTsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgp
OworICAgICAgICB3aGlsZSAodDEuY2hpbGROb2Rlcy5sZW5ndGggPiAwKQorICAgICAgICAgIHQx
LnJlbW92ZUNoaWxkKHQxLmNoaWxkTm9kZXNbMF0pOworICAgICAgfQorICAgIH0KKyAgXSk7Cisg
IHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEoKSB7CisKKyAgdmFy
IHJlc2l6ZXJzID0gW3QxXTsKKyAgLy8gVGVzdGluZyBkZXB0aHMgb2Ygc2hhZG93IHJvb3RzCisg
IC8vIERPTTogdDEgPC0gdDIgPC0gdDMgPC1zaGFkb3ctIHQ0IDwtIHQ1CisgIGxldCBoZWxwZXIg
PSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE6IGRlcHRocyBvZiBzaGFkb3cgcm9v
dHMiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb25F
cnJvckNhbGxlZCA9IGZhbHNlOworICAgICAgICBsZXQgdDIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKKyAgICAgICAgdDEuYXBwZW5kQ2hpbGQodDIpOworICAgICAgICByZXNpemVy
cy5wdXNoKHQyKTsKKyAgICAgICAgbGV0IHQzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CisgICAgICAgIHJlc2l6ZXJzLnB1c2godDMpOworICAgICAgICB0Mi5hcHBlbmRDaGlsZCh0
Myk7CisgICAgICAgIGxldCBzaGFkb3cgPSB0My5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIg
fSk7CisgICAgICAgIGxldCB0NCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAg
ICAgICByZXNpemVycy5wdXNoKHQ0KTsKKyAgICAgICAgc2hhZG93LmFwcGVuZENoaWxkKHQ0KTsK
KyAgICAgICAgbGV0IHQ1ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAg
IHJlc2l6ZXJzLnB1c2godDUpOworICAgICAgICB0NC5hcHBlbmRDaGlsZCh0NSk7CisgICAgICAg
IHJlc2l6ZXJzLmZvckVhY2goIGVsID0+IG9ic2VydmVyLm9ic2VydmUoZWwpICk7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgNSwgImFsbCBlbnRyaWVzIHJlc2l6ZWQiKTsKKyAgICAg
IH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHJl
c2l6ZXJzLmZvckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExMXB4IiApOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDQsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9Cisg
ICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICByZXNpemVy
cy5mb3JFYWNoKCBlbCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTJweCIgKTsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiZGVwdGggbGltaXRlZCIpOworICAgICAgfQorICAgIH0s
CisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVzaXplcnMuZm9y
RWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTEzcHgiICk7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzLmxlbmd0aCwgMiwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAgICB9LAorICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHJlc2l6ZXJzLmZvckVhY2go
IGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExNHB4IiApOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9CisgICAgfSwKKyAgICB7Cisg
ICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDQsICJsaW1pdCBub3RpZmljYXRpb25zIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMob25FcnJv
ckNhbGxlZCwgdHJ1ZSwgImJyZWFjaGVkIGxpbWl0Iik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nv
bm5lY3QoKTsKKyAgICAgICAgdDEucmVtb3ZlQ2hpbGQodDEuZmlyc3RDaGlsZCk7CisgICAgICB9
CisgICAgfSwKKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24g
dGVzdDIoKSB7CisgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjY29u
dGFpbmVyJyk7CisgIGxldCBhMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhMScpOworICBs
ZXQgYTIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYTInKTsKKyAgbGV0IGIxID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignI2IxJyk7CisgIGxldCBiMiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJyNiMicpOworICBsZXQgdGFyZ2V0cyA9IFthMSwgYTIsIGIxLCBiMl07CisKKyAgbGV0IGhl
bHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MjogbW92ZSB0YXJnZXQgaW4g
ZG9tIHdoaWxlIGluc2lkZSBldmVudCBsb29wIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2YgdGFyZ2V0cykKKyAgICAgICAgICBv
YnNlcnZlci5vYnNlcnZlKHQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gZGVsYXkgbmV4dCBvYnNlcnZh
dGlvbgorICAgICAgfQorICAgIH0sCisgICAgeyAvLyByZXNpemUgdGhlbSBhbGwKKyAgICAgIHNl
dHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2YgdGFyZ2V0cykKKyAgICAg
ICAgICB0LnN0eWxlLndpZHRoID0gIjExMHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCB0YXJnZXRzLmxlbmd0aCwgImFsbCB0YXJnZXRzIG9ic2VydmVkIik7CisgICAgICB9Cisg
ICAgfSwKKyAgICB7IC8vIHJlc2l6ZSBhbGwsIG1vdmUgZG9tIHVwd2FyZHMKKyAgICAgIHNldHVw
OiBvYnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2YgdGFyZ2V0cykKKyAgICAgICAg
ICB0LnN0eWxlLndpZHRoID0gIjEzMHB4IjsKKyAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxk
KGIyKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiYjIgbW92ZWQgdXB3YXJk
cyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCBhMik7CisgICAg
ICB9CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSBhbGwsIG1vdmUgZG9tIGRvd253YXJkcworICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQor
ICAgICAgICAgIHQuc3R5bGUud2lkdGggPSAiMTMwcHgiOworICAgICAgICBhMi5hcHBlbmRDaGls
ZChiMik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgImIyIG1vdmVkIGRvd253
YXJkcyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCBiMik7Cisg
ICAgICAgIGExLmFwcGVuZENoaWxkKGEyKTsKKyAgICAgIH0KKyAgICB9LAorICBdKTsKKyAgcmV0
dXJuIGhlbHBlci5zdGFydCgpOworfQorCitsZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3Nl
cnRfb3duX3Byb3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5
bmNfdGVzdCgnZ3VhcmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rl
c3QwKCkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4g
eyByZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOwor
Cis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAuLmE3ZWEzMjc5MWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9p
ZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMCBAQAorCitGQUlMIGlk
bF90ZXN0IHNldHVwIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlv
bjogVW5yZWNvZ25pc2VkIHRva2VucywgbGluZSAxICh0b2tlbnM6ICJ7XCJlcnJvclwiOiB7XCJt
ZXNzYWdlXCIiKQorWworICAgIHsKKyAgICAgICAgInR5cGUiOiAieyIsCisgICAgICAgICJ2YWx1
ZSI6ICJ7IiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisgICAgfSwKKyAgICB7CisgICAgICAgICJ0
eXBlIjogInN0cmluZyIsCisgICAgICAgICJ2YWx1ZSI6ICJcImVycm9yXCIiLAorICAgICAgICAi
dHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAgICAgICAgInR5cGUiOiAiOiIsCisgICAgICAg
ICJ2YWx1ZSI6ICI6IiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisgICAgfSwKKyAgICB7CisgICAg
ICAgICJ0eXBlIjogInsiLAorICAgICAgICAidmFsdWUiOiAieyIsCisgICAgICAgICJ0cml2aWEi
OiAiICIKKyAgICB9LAorICAgIHsKKyAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAg
InZhbHVlIjogIlwibWVzc2FnZVwiIiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisgICAgfQorXSIK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mu
d2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMjM4Mjkx
MzUyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwKQEAgLTAs
MCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJh
c3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxo
YXJuZXNzLndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi41
OTJhZjJlMGMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMKQEAg
LTAsMCArMSwzNyBAQAorLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpz
CisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisvLyBNRVRBOiBzY3Jp
cHQ9cmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMKKworJ3VzZSBzdHJpY3QnOworCisvLyBo
dHRwczovL3dpY2cuZ2l0aHViLmlvL1Jlc2l6ZU9ic2VydmVyLworCitpZGxfdGVzdCgKKyAgWydS
ZXNpemVPYnNlcnZlciddLAorICBbJ2RvbScsICdnZW9tZXRyeSddLAorICBhc3luYyBpZGxfYXJy
YXkgPT4geworICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7CisgICAgICBSZXNpemVPYnNlcnZl
cjogWydvYnNlcnZlciddLAorICAgICAgUmVzaXplT2JzZXJ2ZXJFbnRyeTogWydlbnRyeSddLAor
ICAgIH0pOworCisgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOworICAgIGxldCBoZWxwZXIgPSBu
ZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAgICJSZXNpemVPYnNlcnZlckVudHJ5IGNyZWF0b3Ii
LAorICAgICAgWworICAgICAgICB7CisgICAgICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgICAgIHNlbGYub2JzZXJ2ZXIgPSBvYnNlcnZlcjsKKyAgICAgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUoZGl2KTsKKyAgICAgICAgICAgIGRpdi5zdHlsZS53aWR0aCA9ICI1cHgiOworICAg
ICAgICAgIH0sCisgICAgICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgICAgIHNl
bGYuZW50cnkgPSBlbnRyaWVzWzBdOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmNvbnRlbnRSZWN0LndpZHRoLCA1LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICBdKTsKKyAgICBhd2FpdCBoZWxwZXIuc3RhcnQoKTsKKyAgfQorKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL25vdGlmeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnktZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjk1MzI3ODQxZGIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAK
K0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFJlc2l6ZU9ic2VydmVyCitSZXNpemVPYnNlcnZlciB0ZXN0cworCit0MQordDIKK3Qz
IGlubGluZQorCitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgorCitGQUlMIFJlc2l6ZU9ic2Vy
dmVyIGltcGxlbWVudGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJS
ZXNpemVPYnNlcnZlciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L25vdGlmeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmQ1ODg4
NTE1ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbApAQCAtMCwwICsxLDM1MSBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIGRpdiB7CisgICAgYm9yZGVyOiAxcHggZG90dGVkIGdy
YXkKKyAgfQorICAudHJhbnNmb3JtIHsKKyAgICB0cmFuc2Zvcm06IHNjYWxlKDIsMikgcm90YXRl
KDkwZGVnKQorICB9Cis8L3N0eWxlPgorPHA+UmVzaXplT2JzZXJ2ZXIgdGVzdHM8L3A+Cis8ZGl2
IGlkPSJ0YXJnZXQxIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDEKKyAgPGRp
diBpZD0idGFyZ2V0MiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQyCisgICAg
PGRpdiBpZD0idGFyZ2V0MyIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQzCisg
ICAgICA8c3BhbiBpZD0iaW5saW5lIj5pbmxpbmU8L3NwYW4+CisgICAgPC9kaXY+CisgIDwvZGl2
PgorPC9kaXY+Cis8ZGl2IGlkPSJhYnNvbHV0ZSIgc3R5bGU9IndpZHRoOjEwMC41cHg7aGVpZ2h0
OjEwMC41cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwLjNweDtsZWZ0OjEwLjNweCI+PC9kaXY+
Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCcjdGFyZ2V0MScpOworbGV0IHQyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3Rhcmdl
dDInKTsKK2xldCB0MyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQzJyk7CitsZXQg
YWJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Fic29sdXRlJyk7CitsZXQgaW5saW5lID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2lubGluZScpOworCitmdW5jdGlvbiB0ZXN0MCgpIHsK
KyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogbm90aWZp
Y2F0aW9uIG9yZGVyaW5nIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDMpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHQyKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxlLndp
ZHRoID0gIjVweCI7CisgICAgICAgIHQzLnN0eWxlLndpZHRoID0gIjVweCI7CisgICAgICAgIHQy
LnN0eWxlLndpZHRoID0gIjVweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMywg
IjMgcmVzaXplcyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0
MywgIm9yZGVyaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sxXS50YXJnZXQs
IHQyLCAib3JkZXJpbmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzJdLnRhcmdl
dCwgdDEsICJvcmRlcmluZyIpOworICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CisgICAg
ICAgIHQxLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgICAgICAgdDIuc3R5bGUud2lkdGggPSAi
MTAwcHgiOworICAgICAgICB0My5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisgICAgICB9CisgICAg
fQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MSgp
IHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogZGlz
cGxheTpub25lIHRyaWdnZXJzIG5vdGlmaWNhdGlvbiIsCisgIFsKKyAgICB7CisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4g
dHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdDEuc3R5bGUuZGlzcGxheSA9ICJub25lIjsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAg
ICB0MS5zdHlsZS5kaXNwbGF5ID0gIiI7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJu
IGhlbHBlci5zdGFydCgpOworfQorCisKK2Z1bmN0aW9uIHRlc3QyKCkgeworICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QyOiByZW1vdmUvYXBwZW5kQ2hpbGQg
dHJpZ2dlciBub3RpZmljYXRpb24iLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVy
ID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBE
ZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsgLy8gInJlbW92ZUNoaWxkIHRy
aWdnZXJzIG5vdGlmaWNhdGlvbiIKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IHQxLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS50YXJnZXQsIHQxKTsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAK
KyAgICAgIH0KKyAgICB9LAorICAgIHsgLy8gImFwcGVuZENoaWxkIHRyaWdnZXJzIG5vdGlmaWNh
dGlvbiIsCisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSkK
KyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKKwor
ZnVuY3Rpb24gdGVzdDMoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigK
KyAgICAidGVzdDM6IGRpbWVuc2lvbnMgbWF0Y2giLAorICBbCisgICAgeworICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQx
LnN0eWxlLndpZHRoID0gIjIwMC41cHgiOworICAgICAgICB0MS5zdHlsZS5oZWlnaHQgPSAiMTAw
cHgiOworICAgICAgICB0MS5zdHlsZS5wYWRkaW5nTGVmdCA9ICIyMHB4IjsKKyAgICAgICAgdDEu
c3R5bGUucGFkZGluZ1RvcCA9ICIxMHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3QubGVmdCwyMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC50b3AsMTApOworICAgICAgICBhc3NlcnRfYmV0d2Vlbl9pbmNsdXNpdmUoZW50cmll
c1swXS5jb250ZW50UmVjdC53aWR0aCwgMjAwLjQsIDIwMC42LCAid2lkdGggaXMgbm90IHJvdW5k
ZWQiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdo
dCwgMTAwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7
Cit9CisKK2Z1bmN0aW9uIHRlc3Q0KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RI
ZWxwZXIoCisgICAgInRlc3Q0OiB0cmFuc2Zvcm0gZG8gbm90IGNhdXNlIG5vdGlmaWNhdGlvbnMi
LAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2
ZXIub2JzZXJ2ZSh0Mik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdDIu
Y2xhc3NMaXN0LmFkZCgidHJhbnNmb3JtIik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgidHJhbnNmb3Jt
IG11c3Qgbm90IHRyaWdnZXIgbm90aWZpY2F0aW9ucyIpOworICAgICAgfSwKKyAgICAgIHRpbWVv
dXQ6ICgpID0+IHsKKyAgICAgICAgdDIuY2xhc3NMaXN0LnJlbW92ZSgidHJhbnNmb3JtIik7Cisg
ICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5j
dGlvbiB0ZXN0NSgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAg
ICJ0ZXN0NTogbW92aW5nIGFuIGVsZW1lbnQgZG9lcyBub3QgdHJpZ2dlciBub3RpZmljYXRpb25z
IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUoYWJzKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAg
ICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBh
YnMuc3R5bGUudG9wID0gIjIwLjMzcHgiOworICAgICAgICBhYnMuc3R5bGUubGVmdCA9ICIyMC4z
M3B4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJtb3ZlbWVudCBzaG91bGQgbm90IGNhdXNlIHJlc2l6
ZSBub3RpZmljYXRpb25zIik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAg
ICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rp
b24gdGVzdDYoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAi
dGVzdDY6IGlubGluZSBlbGVtZW50IGRvZXMgbm90IG5vdGlmeSIsCisgIFsKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGlubGluZSk7
CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9
ICI2NnB4IjsKKyAgICAgICAgaW5saW5lLnN0eWxlLndpZHRoID0gIjY2cHgiOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJpbmxpbmUgZWxlbWVudHMgbXVzdCBub3QgdHJpZ2dl
ciBub3RpZmljYXRpb25zIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJn
ZXQsIHQxLCAiaW5saW5lIGVsZW1lbnRzIG11c3Qgbm90IHRyaWdnZXIgbm90aWZpY2F0aW9ucyIp
OworICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAg
fSwKKyAgICB7IC8vICJpbmxpbmUgZWxlbWVudCB0aGF0IGJlY29tZXMgYmxvY2sgc2hvdWxkIG5v
dGlmeSIsCisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBpbmxpbmUuc3R5bGUu
ZGlzcGxheSA9ICJibG9jayI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2Jz
ZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgaW5s
aW5lKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9
CisKK2Z1bmN0aW9uIHRlc3Q3KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxw
ZXIoCisgICAgInRlc3Q3OiB1bm9ic2VydmUgaW5zaWRlIG5vdGlmeSBjYWxsYmFjayIsCisgIFsK
KyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNl
cnZlKHQxKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgdDEuc3R5bGUud2lkdGgg
PSAiNzc3cHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0aCA9ICI3NzdweCI7CisgICAgICAgIG9i
c2VydmVyLnVub2JzZXJ2ZSh0MSk7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4
dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJvbmx5IHQyIGlzIG9ic2VydmVk
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQyLCAib25seSB0
MiBpcyBvYnNlcnZlZCIpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIu
c3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDgoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVz
aXplVGVzdEhlbHBlcigKKyAgICAidGVzdDg6IG9ic2VydmUgaW5zaWRlIG5vdGlmeSBjYWxsYmFj
ayIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgICAgdDIuc3R5
bGUud2lkdGggPSAiODg4cHgiOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQg
c3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiBpcyBvYnNlcnZlZCIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MiwgIm9ubHkgdDIg
aXMgb2JzZXJ2ZWQiKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0
YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q5KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6
ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q5OiBkaXNjb25uZWN0IGluc2lkZSBub3RpZnkgY2FsbGJh
Y2siLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2Jz
ZXJ2ZXIpID0+IHsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiOTk5cHgiOworICAgICAgICBv
YnNlcnZlci5kaXNjb25uZWN0KCk7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4
dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAg
ICAgIGFzc2VydF91bnJlYWNoZWQoInRoZXJlIHNob3VsZCBiZSBubyBub3RpZmljYXRpb25zIGFm
dGVyIGRpc2Nvbm5lY3QiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7CisgICAg
ICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlv
biB0ZXN0MTAoKSB7CisgIHZhciBwYXJlbnQgPSB0MS5wYXJlbnROb2RlOworICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMDogZWxlbWVudCBub3RpZmllcyB3
aGVuIHBhcmVudCByZW1vdmVkIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDMpOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVs
YXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2
ZXIgPT4geworICAgICAgICB0MS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQxKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLnRhcmdldCwgdDMpOworICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQodDEpOworICAgICAg
fQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworbGV0IGd1YXJk
OwordGVzdChfID0+IHsKKyAgYXNzZXJ0X293bl9wcm9wZXJ0eSh3aW5kb3csICJSZXNpemVPYnNl
cnZlciIpOworICBndWFyZCA9IGFzeW5jX3Rlc3QoJ2d1YXJkJyk7Cit9LCAiUmVzaXplT2JzZXJ2
ZXIgaW1wbGVtZW50ZWQiKQorCit0ZXN0MCgpCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Qx
KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QyKCk7IH0pCisgIC50aGVuKCgpID0+
IHsgcmV0dXJuIHRlc3QzKCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q0KCk7IH0p
CisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q1KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0
dXJuIHRlc3Q2KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q3KCk7IH0pCisgIC50
aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q4KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRl
c3Q5KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QxMCgpOyB9KQorICAudGhlbigo
KSA9PiB7IGd1YXJkLmRvbmUoKTsgfSk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2Jz
ZXJ2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi43NTAwM2UwNmQzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvb2JzZXJ2ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6
IGxpbmUgNTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVPYnNl
cnZlcgorUmVzaXplT2JzZXJ2ZXIgdGVzdHMKKwordDEKK3QyCisgCisKK0ZBSUwgUmVzaXplT2Jz
ZXJ2ZXIgaW1wbGVtZW50ZWQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkg
IlJlc2l6ZU9ic2VydmVyIiBtaXNzaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL29ic2VydmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5k
YzFmMTk1OGIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCkBAIC0wLDAgKzEs
MjA3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZXNpemVUZXN0SGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxwPlJlc2l6ZU9ic2VydmVyIHRlc3RzPC9wPgorPGRpdiBpZD0i
dGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxPC9kaXY+Cis8ZGl2
IGlkPSJ0YXJnZXQyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDI8L2Rpdj4K
KzxpbWcgaWQ9InRhcmdldDMiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij4KKzxp
ZnJhbWUgc3JjPSIuL3Jlc291cmNlcy9pZnJhbWUuaHRtbCIgd2lkdGg9IjMwMHB4IiBoZWlnaHQ9
IjEwMHB4IiBzdHlsZT0iZGlzcGxheTpibG9jayI+PC9pZnJhbWU+Cis8c2NyaXB0PgorJ3VzZSBz
dHJpY3QnOworCitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MScpOwor
bGV0IHQyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDInKTsKKworLy8gYWxsb3cg
dW5jYXVnaHQgZXhjZXB0aW9uIGJlY2F1c2UgUmVzaXplT2JzZXJ2ZXIgcG9zdHMgZXhjZXB0aW9u
cworLy8gdG8gd2luZG93IGVycm9yIGhhbmRsZXIgd2hlbiBsaW1pdCBpcyBleGNlZWRlZC4KK3Nl
dHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rpb24gdGVzdDAo
KSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IHNp
bXBsZSBvYnNlcnZhdGlvbiIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGgg
PSAiNXB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBwZW5kaW5nIG5vdGlmaWNhdGlvbiIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSwgInRhcmdldCBp
cyB0MSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lk
dGgsIDUsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4g
aGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICBsZXQgaGVscGVyID0g
bmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBtdWx0aXBsZSBvYnNlcnZhdGlvbiBv
biBzYW1lIGVsZW1lbnQgdHJpZ2dlciBvbmx5IG9uZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAg
b2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjEwcHgiOwor
ICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7CisgICAgICB9
CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0
ZXN0MigpIHsKKyAgdGVzdCgoKSA9PiB7CisgICAgICBhc3NlcnRfdGhyb3dzKHtuYW1lOiAiVHlw
ZUVycm9yIn0sIF89PiB7CisgICAgICAgIGxldCBybyA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9
PiB7fSk7CisgICAgICAgIHJvLm9ic2VydmUoe30pOworICAgICAgfSk7CisgICAgfSwKKyAgICAi
dGVzdDI6IHRocm93IGV4Y2VwdGlvbiB3aGVuIG9ic2VydmluZyBub24tZWxlbWVudCIKKyAgKTsK
KyAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOworfQorCitmdW5jdGlvbiB0ZXN0MygpIHsKKyAg
bGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MzogZGlzY29ubmVj
dCBzdG9wcyBhbGwgbm90aWZpY2F0aW9ucyIsIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2
ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgb2JzZXJ2ZXIu
b2JzZXJ2ZSh0Mik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAgICAgdDEu
c3R5bGUud2lkdGggPSAiMzBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+
IHsKKyAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIm5vIGVudHJpZXMgc2hvdWxkIGJlIG9ic2Vy
dmVkIik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgICAvLyBleHBl
Y3RlZAorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30K
KworZnVuY3Rpb24gdGVzdDQoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBl
cigKKyAgICAidGVzdDQ6IHVub2JzZXJ2ZSB0YXJnZXQgc3RvcHMgbm90aWZpY2F0aW9ucywgdW5v
YnNlcnZlIG5vbi1vYnNlcnZlZCBkb2VzIG5vdGhpbmciLCBbCisgICAgeworICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIG9i
c2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci51bm9ic2VydmUodDEpOworICAg
ICAgICBvYnNlcnZlci51bm9ic2VydmUoZG9jdW1lbnQuYm9keSk7CisgICAgICAgIHQxLnN0eWxl
LndpZHRoID0gIjQwcHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0aCA9ICI0MHB4IjsKKyAgICAg
IH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0udGFyZ2V0LCB0MiwgInQyIHdhcyBvYnNlcnZlZCIpOworICAgICAgfQorICAgIH0KKyAg
XSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDUoKSB7Cisg
IGxldCB0MyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQzJyk7CisgIHZhciBoZWxw
ZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigidGVzdDU6IG9ic2VydmUgaW1nIixbCisgICAgewor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgIH0KKyAgICB9LAor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQzLnN0eWxlLndpZHRo
ID0gIjEwMC41cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMC41KTsKKyAgICAgIH0KKyAgICB9
CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q2KCkg
eworICBsZXQgcmVzb2x2ZVByb21pc2U7CisgIGxldCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJl
c29sdmUpID0+IHsKKyAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7CisgIH0pOworICBsZXQg
dGVzdCA9IGFzeW5jX3Rlc3QoJ3Rlc3Q2OiBpZnJhbWUgbm90aWZpY2F0aW9ucycpOworICBsZXQg
dGVzdFJlcXVlc3RlZCA9IGZhbHNlOworICBsZXQgaWZyYW1lID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignaWZyYW1lJyk7CisgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZXZl
bnQgPT4geworICAgIHN3aXRjaChldmVudC5kYXRhKSB7CisgICAgY2FzZSAncmVhZHlUb1Rlc3Qn
OgorICAgICAgaWYgKCF0ZXN0UmVxdWVzdGVkKSB7CisgICAgICAgIGlmcmFtZS5jb250ZW50V2lu
ZG93LnBvc3RNZXNzYWdlKCdzdGFydFRlc3QnLCAnKicpOworICAgICAgICB0ZXN0UmVxdWVzdGVk
ID0gdHJ1ZTsKKyAgICAgIH0KKyAgICBicmVhazsKKyAgICBjYXNlICdzdWNjZXNzJzoKKyAgICBj
YXNlICdmYWlsJzoKKyAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gewor
ICAgICAgICB0ZXN0LnN0ZXAoICgpID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50
LmRhdGEsICdzdWNjZXNzJyk7CisgICAgICAgICAgdGVzdC5kb25lKCk7CisgICAgICAgICAgcmVz
b2x2ZVByb21pc2UoKTsKKyAgICAgICAgfSk7CisgICAgICB9KTsKKyAgICBicmVhazsKKyAgICB9
CisgIH0sIGZhbHNlKTsKKyAgcmV0dXJuIHByb21pc2U7Cit9CisKK2Z1bmN0aW9uIHRlc3Q3KCkg
eworICBsZXQgaGFybmVzc1Rlc3QgPSBhc3luY190ZXN0KCJ0ZXN0NzogY2FsbGJhY2sudGhpcyIp
OworICBsZXQgcmVzb2x2ZVByb21pc2U7CisgIGxldCBybyA9IG5ldyBSZXNpemVPYnNlcnZlcigg
ZnVuY3Rpb24oZW50cmllcywgb2JzKSAgeworICAgIGxldCBjYWxsYmFja1RoaXMgPSB0aGlzOwor
ICAgIHJlc29sdmVQcm9taXNlKCk7CisgICAgaGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7CisgICAg
ICBhc3NlcnRfZXF1YWxzKGNhbGxiYWNrVGhpcywgcm8sICJjYWxsYmFjay50aGlzIGlzIFJlc2l6
ZU9ic2VydmVyIik7CisgICAgICBhc3NlcnRfZXF1YWxzKG9icywgcm8sICIybmQgYXJndW1lbnQg
aXMgUmVzaXplT2JzZXJ2ZXIiKTsKKyAgICAgIHJvLmRpc2Nvbm5lY3QoKTsKKyAgICAgIC8vIGV2
ZXJ5IHJlZmVyZW5jZSB0byBSTyBtdXN0IGJlIG51bGwgYmVmb3JlIHRlc3QgY29tcGxldGVzCisg
ICAgICAvLyB0byBhdm9pZCB0cmlnZ2VyaW5nIHRlc3QgbGVhay1kZXRlY3Rpb24KKyAgICAgIHJv
ID0gbnVsbDsKKyAgICAgIGNhbGxiYWNrVGhpcyA9IG51bGw7CisgICAgICBvYnMgPSBudWxsOwor
ICAgICAgaGFybmVzc1Rlc3QuZG9uZSgpOworICAgICB9KTsKKyAgICB9CisgICk7CisgIHJvLm9i
c2VydmUodDEpOworCisgIHJldHVybiBuZXcgUHJvbWlzZSggKHJlc29sdmUsIHJlamVjdCkgPT4g
eworICAgIHJlc29sdmVQcm9taXNlID0gcmVzb2x2ZTsKKyAgfSk7Cit9CisKK2xldCBndWFyZDsK
K3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2
ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVy
IGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgp
OyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7
IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NCgpOyB9KQor
ICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVy
biB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NygpOyB9KQorICAudGhl
bigoKSA9PiB7IGd1YXJkLmRvbmUoKTsgfSk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
cmVzb3VyY2VzL2lmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjUxODMxN2I1MjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8aGVhZD4KKyAgPHNjcmlwdCBzcmM9Ii4vcmVzaXplVGVzdEhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8cD5pZnJhbWUgdGVzdDwvcD4KKzxkaXYgaWQ9Iml0YXJnZXQxIiBz
dHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDE8L2Rpdj4KKzxzY3JpcHQ+CisndXNl
IHN0cmljdCc7CitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaXRhcmdldDEnKTsK
K2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgdGltZW91dElkID0gd2luZG93LnNldFRpbWVvdXQo
ICgpID0+IHsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCdmYWlsJywgJyonKTsKKyAg
fSwgUmVzaXplVGVzdEhlbHBlci5USU1FT1VUKTsKKyAgbGV0IHJvID0gbmV3IFJlc2l6ZU9ic2Vy
dmVyKGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXRJ
ZCk7CisgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgnc3VjY2VzcycsICcqJyk7CisgIH0p
OworICByby5vYnNlcnZlKHQxKTsKK30KK2xldCB0ZXN0U3RhcnRlZCA9IGZhbHNlOword2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihldikgeworICAgIHN3aXRjaChl
di5kYXRhKSB7CisgICAgICAgIGNhc2UgJ3N0YXJ0VGVzdCc6CisgICAgICAgICAgdGVzdFN0YXJ0
ZWQgPSB0cnVlOworICAgICAgICAgIHRlc3QwKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KK30p
OworLy8gSG93IGRvZXMgcGFyZW50IGtub3cgd2UndmUgbG9hZGVkIHByb2JsZW0gaXMgc29sdmVk
IGJ5CisvLyBicm9hZGNhc3RpbmcgcmVhZHlUb1Rlc3QgbWVzc2FnZSByZXBlYXRlZGx5IHVudGls
IHRlc3Qgc3RhcnRzLgorZnVuY3Rpb24gYnJvYWRjYXN0UmVhZHkoKSB7CisgIGlmICghdGVzdFN0
YXJ0ZWQpIHsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCdyZWFkeVRvVGVzdCcsICcq
Jyk7CisgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShicm9hZGNhc3RSZWFkeSk7Cisg
IH0KK30KK2Jyb2FkY2FzdFJlYWR5KCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291
cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNjBjNjgxYmQ5MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzCkBAIC0wLDAg
KzEsMTQ4IEBACisndXNlIHN0cmljdCc7CisKKy8qKgorICBSZXNpemVUZXN0SGVscGVyIGlzIGEg
ZnJhbWV3b3JrIHRvIHRlc3QgUmVzaXplT2JzZXJ2ZXIKKyAgbm90aWZpY2F0aW9ucy4gVXNlIGl0
IHRvIG1ha2UgYXNzZXJ0aW9ucyBhYm91dCBSZXNpemVPYnNlcnZlckVudHJpZXMuCisgIFRoaXMg
ZnJhbWV3b3JrIGlzIG5lZWRlZCBiZWNhdXNlIFJlc2l6ZU9ic2VydmF0aW9ucyBhcmUKKyAgZGVs
aXZlcmVkIGFzeW5jaHJvbm91c2x5IGluc2lkZSB0aGUgZXZlbnQgbG9vcC4KKworICBGZWF0dXJl
czoKKyAgLSBjYW4gcXVldWUgbXVsdGlwbGUgbm90aWZpY2F0aW9uIHN0ZXBzIGluIGEgdGVzdAor
ICAtIGhhbmRsZXMgdGltZW91dHMKKyAgLSByZXR1cm5zIFByb21pc2UgdGhhdCBpcyBmdWxsZmls
bGVkIHdoZW4gdGVzdCBjb21wbGV0ZXMuCisgICAgVXNlIHRvIGNoYWluIHRlc3RzIChzaW5jZSBw
YXJhbGxlbCBhc3luYyBSZXNpemVPYnNlcnZlciB0ZXN0cworICAgIHdvdWxkIGNvbmZsaWN0IGlm
IHJldXNpbmcgc2FtZSBET00gZWxlbWVudHMpLgorCisgIFVzYWdlOgorCisgIGNyZWF0ZSBSZXNp
emVUZXN0SGVscGVyIGZvciBldmVyeSB0ZXN0LgorICBNYWtlIGFzc2VydGlvbnMgaW5zaWRlIG5v
dGlmeSwgdGltZW91dCBjYWxsYmFja3MuCisgIFN0YXJ0IHRlc3RzIHdpdGggaGVscGVyLnN0YXJ0
KCkKKyAgQ2hhaW4gdGVzdHMgd2l0aCBQcm9taXNlcy4KKyAgQ291bnRzIGFuaW1hdGlvbiBmcmFt
ZXMsIHNlZSBzdGFydENvdW50aW5nUmFmCisqLworCisvKgorICBAcGFyYW0gbmFtZTogdGVzdCBu
YW1lCisgIEBwYXJhbSBzdGVwczoKKyAgeworICAgIHNldHVwOiBmdW5jdGlvbihSZXNpemVPYnNl
cnZlcikgeworICAgICAgLy8gY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRlc3Qgc3Rl
cAorICAgICAgLy8geW91ciBvYnNlcnZlL3Jlc2l6ZSBjb2RlIGdvZXMgaGVyZQorICAgIH0sCisg
ICAgbm90aWZ5OiBmdW5jdGlvbihlbnRyaWVzLCBvYnNlcnZlcikgeworICAgICAgLy8gUmVzaXpl
T2JzZXJ2ZXIgY2FsbGJhY2suCisgICAgICAvLyBNYWtlIGFzc2VydGlvbnMgaGVyZS4KKyAgICAg
IC8vIFJldHVybiB0cnVlIGlmIG5leHQgc3RlcCBzaG91bGQgc3RhcnQgb24gdGhlIG5leHQgZXZl
bnQgbG9vcC4KKyAgICB9LAorICAgIHRpbWVvdXQ6IGZ1bmN0aW9uKCkgeworICAgICAgLy8gRGVm
aW5lIHRoaXMgaWYgeW91ciB0ZXN0IGV4cGVjdHMgdG8gdGltZSBvdXQuCisgICAgICAvLyBJZiB1
bmRlZmluZWQsIHRpbWVvdXQgaXMgYXNzZXJ0X3VucmVhY2hlZC4KKyAgICB9CisgIH0KKyovCitm
dW5jdGlvbiBSZXNpemVUZXN0SGVscGVyKG5hbWUsIHN0ZXBzKQoreworICAgIHRoaXMuX25hbWUg
PSBuYW1lOworICAgIHRoaXMuX3N0ZXBzID0gc3RlcHMgfHwgW107CisgICAgdGhpcy5fc3RlcElk
eCA9IC0xOworICAgIHRoaXMuX2hhcm5lc3NUZXN0ID0gbnVsbDsKKyAgICB0aGlzLl9vYnNlcnZl
ciA9IG5ldyBSZXNpemVPYnNlcnZlcih0aGlzLl9oYW5kbGVOb3RpZmljYXRpb24uYmluZCh0aGlz
KSk7CisgICAgdGhpcy5fdGltZW91dEJpbmQgPSB0aGlzLl9oYW5kbGVUaW1lb3V0LmJpbmQodGhp
cyk7CisgICAgdGhpcy5fbmV4dFN0ZXBCaW5kID0gdGhpcy5fbmV4dFN0ZXAuYmluZCh0aGlzKTsK
K30KKworUmVzaXplVGVzdEhlbHBlci5USU1FT1VUID0gMTAwOworCitSZXNpemVUZXN0SGVscGVy
LnByb3RvdHlwZSA9IHsKKyAgZ2V0IF9jdXJyZW50U3RlcCgpIHsKKyAgICByZXR1cm4gdGhpcy5f
c3RlcHNbdGhpcy5fc3RlcElkeF07CisgIH0sCisKKyAgX25leHRTdGVwOiBmdW5jdGlvbigpIHsK
KyAgICBpZiAoKyt0aGlzLl9zdGVwSWR4ID09IHRoaXMuX3N0ZXBzLmxlbmd0aCkKKyAgICAgIHJl
dHVybiB0aGlzLl9kb25lKCk7CisgICAgdGhpcy5fdGltZW91dElkID0gdGhpcy5faGFybmVzc1Rl
c3Quc3RlcF90aW1lb3V0KAorICAgICAgdGhpcy5fdGltZW91dEJpbmQsIFJlc2l6ZVRlc3RIZWxw
ZXIuVElNRU9VVCk7CisgICAgdHJ5IHsKKyAgICAgIHRoaXMuX3N0ZXBzW3RoaXMuX3N0ZXBJZHhd
LnNldHVwKHRoaXMuX29ic2VydmVyKTsKKyAgICB9CisgICAgY2F0Y2goZXJyKSB7CisgICAgICB0
aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgi
Q2F1Z2h0IGEgdGhyb3csIHBvc3NpYmxlIHN5bnRheCBlcnJvciIpOworICAgICAgfSk7CisgICAg
fQorICB9LAorCisgIF9oYW5kbGVOb3RpZmljYXRpb246IGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAg
ICBpZiAodGhpcy5fdGltZW91dElkKSB7CisgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMu
X3RpbWVvdXRJZCk7CisgICAgICBkZWxldGUgdGhpcy5fdGltZW91dElkOworICAgIH0KKyAgICB0
aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgIGxldCByYWZEZWxheSA9IHRoaXMu
X2N1cnJlbnRTdGVwLm5vdGlmeShlbnRyaWVzLCB0aGlzLl9vYnNlcnZlcik7CisgICAgICBpZiAo
cmFmRGVsYXkpCisgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fbmV4
dFN0ZXBCaW5kKTsKKyAgICAgIGVsc2UKKyAgICAgICAgdGhpcy5fbmV4dFN0ZXAoKTsKKyAgICB9
KTsKKyAgfSwKKworICBfaGFuZGxlVGltZW91dDogZnVuY3Rpb24oKSB7CisgICAgZGVsZXRlIHRo
aXMuX3RpbWVvdXRJZDsKKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAg
IGlmICh0aGlzLl9jdXJyZW50U3RlcC50aW1lb3V0KSB7CisgICAgICAgIHRoaXMuX2N1cnJlbnRT
dGVwLnRpbWVvdXQoKTsKKyAgICAgIH0KKyAgICAgIGVsc2UgeworICAgICAgICBhc3NlcnRfdW5y
ZWFjaGVkKCJUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZpY2F0aW9uLiAoIiArIFJlc2l6ZVRl
c3RIZWxwZXIuVElNRU9VVCArICJtcykiKTsKKyAgICAgIH0KKyAgICAgIHRoaXMuX25leHRTdGVw
KCk7CisgICAgfSk7CisgIH0sCisKKyAgX2RvbmU6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX29i
c2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICBkZWxldGUgdGhpcy5fb2JzZXJ2ZXI7CisgICAgdGhp
cy5faGFybmVzc1Rlc3QuZG9uZSgpOworICAgIGlmICh0aGlzLl9yYWZDb3VudFJlcXVlc3QpIHsK
KyAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWZDb3VudFJlcXVlc3Qp
OworICAgICAgZGVsZXRlIHRoaXMuX3JhZkNvdW50UmVxdWVzdDsKKyAgICB9CisgICAgd2luZG93
LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7IHRoaXMuX3Jlc29sdmVQcm9taXNlKCk7IH0p
OworICB9LAorCisgIHN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9oYXJuZXNzVGVzdCA9
IGFzeW5jX3Rlc3QodGhpcy5fbmFtZSk7CisgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9
PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHRoaXMuX3N0ZXBJZHgsIC0xLCAic3RhcnQgY2FuIG9u
bHkgYmUgY2FsbGVkIG9uY2UiKTsKKyAgICAgIHRoaXMuX25leHRTdGVwKCk7CisgICAgfSk7Cisg
ICAgcmV0dXJuIG5ldyBQcm9taXNlKCAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICB0aGlz
Ll9yZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7CisgICAgICB0aGlzLl9yZWplY3RQcm9taXNlID0g
cmVqZWN0OworICAgIH0pOworICB9LAorCisgIGdldCByYWZDb3VudCgpIHsKKyAgICBpZiAoIXRo
aXMuX3JhZkNvdW50UmVxdWVzdCkKKyAgICAgIHRocm93ICJyQUYgY291bnQgaXMgbm90IGFjdGl2
ZSI7CisgICAgcmV0dXJuIHRoaXMuX3JhZkNvdW50OworICB9LAorCisgIF9pbmNyZW1lbnRSYWY6
IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9yYWZDb3VudFJlcXVlc3QpIHsKKyAgICAgIHRo
aXMuX3JhZkNvdW50Kys7CisgICAgICB0aGlzLl9yYWZDb3VudFJlcXVlc3QgPSB3aW5kb3cucmVx
dWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3JlbWVudFJhZkJpbmQpOworICAgIH0KKyAgfSwK
KworICBzdGFydENvdW50aW5nUmFmOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fcmFmQ291
bnRSZXF1ZXN0KQorICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JhZkNv
dW50UmVxdWVzdCk7CisgICAgaWYgKCF0aGlzLl9pbmNyZW1lbnRSYWZCaW5kKQorICAgICAgdGhp
cy5faW5jcmVtZW50UmFmQmluZCA9IHRoaXMuX2luY3JlbWVudFJhZi5iaW5kKHRoaXMpOworICAg
IHRoaXMuX3JhZkNvdW50ID0gMDsKKyAgICB0aGlzLl9yYWZDb3VudFJlcXVlc3QgPSB3aW5kb3cu
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3JlbWVudFJhZkJpbmQpOworICB9Cit9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uYWYzN2Nl
YTVmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAt
MCwwICsxLDE4IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBm
cm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0
bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQg
Z2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1Ro
ZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJl
aW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9w
ZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNv
dXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL3N2Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMC4uZGNmODM2ZTVmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTA6IFJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgorUmVzaXplT2JzZXJ2ZXIgc3Zn
IHRlc3RzCisKK0hlcmUgaXMgYSBwYXJhZ3JhcGggdGhhdCByZXF1aXJlcyB3b3JkIHdyYXAKKwor
c3ZnIHRleHQgdGFnCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQgYXNzZXJ0X293
bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmVyIiBtaXNzaW5nCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL3N2Zy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMC4uZTNhMWFiNjYwNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2
Zy5odG1sCkBAIC0wLDAgKzEsMzMzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzIj48L3NjcmlwdD4KKzxwPlJlc2l6ZU9ic2VydmVyIHN2
ZyB0ZXN0czwvcD4KKzxzdmcgaGVpZ2h0PSI0MzAiIHdpZHRoPSI1MDAiID4KKyAgPGNpcmNsZSBj
eD0iMTAiIGN5PSIxMCIgcj0iNSIgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJv
a2Utd2lkdGg6MSIgLz4KKyAgPGVsbGlwc2UgY3g9IjEwIiBjeT0iMzAiIHJ4PSI1IiByeT0iNSIg
c3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJva2Utd2lkdGg6MSIvPgorICA8Zm9y
ZWlnbk9iamVjdCBjeT0iNTAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMjAiPgorICAgIDxib2R5Pgor
ICAgICAgPHA+SGVyZSBpcyBhIHBhcmFncmFwaCB0aGF0IHJlcXVpcmVzIHdvcmQgd3JhcDwvcD4K
KyAgICA8L2JvZHk+CisgIDwvZm9yZWlnbk9iamVjdD4KKyAgPGltYWdlIHhsaW5rOmhyZWY9IiIg
eD0iMCIgeT0iMTAwIiBoZWlnaHQ9IjMwIiB3aWR0aD0iMTAwIiAvPgorICA8bGluZSB4MT0iMCIg
eTE9IjUwIiB4Mj0iMjAiIHkyPSI3MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIi8+
CisgIDxwYXRoIGQ9Ik0gMCAxMDAgTCAxMDAgMTAwIEwgNTAgMTUwIHoiCisgICAgICAgIHN0eWxl
PSJmaWxsOm9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEiIC8+CisgIDxwb2x5Z29u
IHBvaW50cz0iMCwyMDAgMTAwLDIwMCA1MCwyNTAiIHN0eWxlPSJmaWxsOm9yYW5nZTtzdHJva2U6
YmxhY2s7c3Ryb2tlLXdpZHRoOjEiIC8+CisgIDxwb2x5bGluZSBwb2ludHM9IjAsMzAwIDEwMCwz
MDAgNTAsMzUwIiBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDox
Ii8+CisgIDxyZWN0IHg9IjAiIHk9IjM4MCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBzdHlsZT0i
ZmlsbDpvcmFuZ2U7IHN0cm9rZTpibGFjazsgc3Ryb2tlLXdpZHRoOjEiIC8+CisgIDx0ZXh0IHg9
IjAiIHk9IjQwMCIgZm9udC1zaXplPSIyMCI+c3ZnIHRleHQgdGFnPC90ZXh0PgorPC9zdmc+Cis8
c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9u
OiB0cnVlfSk7CisKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignY2lyY2xlJyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhl
bHBlcigKKyAgICAidGVzdDA6IG9ic2VydmUgc3ZnOmNpcmNsZSIsCisgIFsKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAg
ICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1
dGUoJ3InLCAxMCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICB9
CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0
ZXN0MSgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2VsbGlwc2Un
KTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogb2Jz
ZXJ2ZSBzdmc6ZWxsaXBzZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBE
ZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3J4JywgMTApOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTApOworICAgICAgfQorICAgIH0KKyAgXSk7Cisg
IHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIGxldCB0
YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdmb3JlaWduT2JqZWN0Jyk7CisgIGxldCBo
ZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDI6IG9ic2VydmUgc3ZnOmZv
cmVpZ25PYmplY3QiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkg
bmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCd3aWR0aCcsIDIwMCk7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC53aWR0aCwgMjAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMjApOworICAgICAgfQorICAgIH0KKyAgXSk7Cisg
IHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDMoKSB7CisgIGxldCB0
YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbWFnZScpOworICBsZXQgaGVscGVyID0g
bmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QzOiBvYnNlcnZlIHN2ZzppbWFnZSIsCisg
IFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5v
YnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAg
IH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRh
cmdldC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIDQwKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMu
bGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0
LndpZHRoLCAxMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJl
Y3QuaGVpZ2h0LCA0MCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5z
dGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ2xpbmUnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVs
cGVyKAorICAgICJ0ZXN0NDogb2JzZXJ2ZSBzdmc6bGluZSIsCisgIFsKKyAgICB7CisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7Cisg
ICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAg
cmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUo
J3kyJywgODApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDIwKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMzApOworICAgICAg
fQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24g
dGVzdDUoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdwYXRoJyk7
CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDU6IG9ic2Vy
dmUgc3ZnOnBhdGgiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkg
bmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdkJywgIk0gMCAxMDAgTCAxMDAgMTAw
IEwgNTAgMTYwIHoiKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZl
cikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAxMDApOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCA2MCk7Cisg
ICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5j
dGlvbiB0ZXN0NigpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Bv
bHlnb24nKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0
Njogb2JzZXJ2ZSBzdmc6cGF0aCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAv
LyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3BvaW50cycsICIwLDIw
MCAxMDAsMjAwIDUwLDI2MCIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYw
KTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3Q3KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigncG9seWxpbmUnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAg
ICJ0ZXN0Nzogb2JzZXJ2ZSBzdmc6cG9seWxpbmUiLAorICBbCisgICAgeworICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVy
biB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdwb2lu
dHMnLCAiMCwzMDAgMTAwLDMwMCA1MCwzNjAiKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lndp
ZHRoLCAxMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
aGVpZ2h0LCA2MCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0OCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ3JlY3QnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVy
KAorICAgICJ0ZXN0ODogb2JzZXJ2ZSBzdmc6cmVjdCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0
dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAg
ICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3dp
ZHRoJywgIjIwIik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMjApOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMCk7CisgICAg
ICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlv
biB0ZXN0OSgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHQn
KTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0OTogb2Jz
ZXJ2ZSBzdmc6dGV4dCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewor
ICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxh
eSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ2ZvbnQtc2l6ZScsICIyNSIpOwor
ICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgfQorICAgIH0KKyAgXSk7
CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworCitmdW5jdGlvbiB0ZXN0MTAoKSB7Cisg
IGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzdmcnKTsKKyAgbGV0IGhlbHBl
ciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTA6IG9ic2VydmUgc3ZnOnN2Zywg
dG9wL2xlZnQgaXMgMCBldmVuIHdpdGggcGFkZGluZyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50UmVjdC50b3AsIDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3QubGVmdCwgMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0
dXJuIGhlbHBlci5zdGFydCgpOworfQorCitsZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3Nl
cnRfb3duX3Byb3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5
bmNfdGVzdCgnZ3VhcmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rl
c3QwKCkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4g
eyByZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDMoKTsgfSkK
KyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDQoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1
cm4gdGVzdDUoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDYoKTsgfSkKKyAgLnRo
ZW4oKCkgPT4geyByZXR1cm4gdGVzdDcoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVz
dDgoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDkoKTsgfSkKKyAgLnRoZW4oKCkg
PT4geyByZXR1cm4gdGVzdDEwKCk7IH0pCisgIC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9
KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1p
bXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjU2NDFlZWMy
YzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBA
CitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9NRVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVz
cy53aW5kb3cuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5o
dG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCBjNjE0NWIx
MjU1Li5lMWY5YzBkYzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVm
ZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlh
bWwKQEAgLTEzODAsNiArMTM4MCwxNCBAQCBQcm9jZXNzU3dhcE9uQ3Jvc3NTaXRlTmF2aWdhdGlv
bkVuYWJsZWQ6CiAgIGNhdGVnb3J5OiBleHBlcmltZW50YWwKICAgd2ViY29yZUJpbmRpbmc6IG5v
bmUKIAorUmVzaXplT2JzZXJ2ZXJFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1
ZTogZmFsc2UKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJSZXNpemUgT2JzZXJ2ZXIiCisgIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBSZXNpemUgT2JzZXJ2ZXIgc3VwcG9ydCIKKyAg
Y2F0ZWdvcnk6IGV4cGVyaW1lbnRhbAorICBjb25kaXRpb246IEVOQUJMRShSRVNJWkVfT0JTRVJW
RVIpCisKICMgRm9yIGludGVybmFsIGZlYXR1cmVzOgogIyBUaGUgdHlwZSBzaG91bGQgYmUgYm9v
bGVhbi4KICMgWW91IG11c3QgcHJvdmlkZSBhIGh1bWFuUmVhZGFibGVOYW1lIGFuZCBodW1hblJl
YWRhYmxlRGVzY3JpcHRpb24gZm9yIGFsbCBkZWJ1ZyBmZWF0dXJlcy4gVGhleQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360288</attachid>
            <date>2019-01-27 03:33:35 -0800</date>
            <delta_ts>2019-01-27 03:56:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193821-20190127193333.patch</filename>
            <type>text/plain</type>
            <size>54553</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMzMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDYzMDQ0MTUzZjkyMTEwZTA3
MmEyMTdlY2RiZjFjMTYyMGJiNzIwNWUuLjFiYTg0M2U5YTkzYTYyNGY2Y2IzNWZmMmI0ZGQxZjlk
ZmI1OThiN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBj
aGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2Jz
ZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMTkt
MDEtMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNz
aW9uKHIyNDAxNzgpIFNvbWUgQVBJIHRlc3RzIGFyZSBjcmFzaGluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggYzYxNDViMTI1NWQzOTBlYzgzNTZhOWU3NWQ4
YWEyNWZkM2E0YzU4Zi4uZTFmOWMwZGM1MjUyNTYzNjEzNGVjYzg2M2UyZjI3N2EyZjA0ZjAwYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xMzgwLDYgKzEz
ODAsMTQgQEAgUHJvY2Vzc1N3YXBPbkNyb3NzU2l0ZU5hdmlnYXRpb25FbmFibGVkOgogICBjYXRl
Z29yeTogZXhwZXJpbWVudGFsCiAgIHdlYmNvcmVCaW5kaW5nOiBub25lCiAKK1Jlc2l6ZU9ic2Vy
dmVyRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFu
UmVhZGFibGVOYW1lOiAiUmVzaXplIE9ic2VydmVyIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJFbmFibGUgUmVzaXplIE9ic2VydmVyIHN1cHBvcnQiCisgIGNhdGVnb3J5OiBleHBlcmlt
ZW50YWwKKyAgY29uZGl0aW9uOiBFTkFCTEUoUkVTSVpFX09CU0VSVkVSKQorCiAjIEZvciBpbnRl
cm5hbCBmZWF0dXJlczoKICMgVGhlIHR5cGUgc2hvdWxkIGJlIGJvb2xlYW4uCiAjIFlvdSBtdXN0
IHByb3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
IGZvciBhbGwgZGVidWcgZmVhdHVyZXMuIFRoZXkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMTY1YmQ1NzgyNWU0YTMyMDg2OTY3NWNjYjBjNDdj
ZGMxNzYxMjY2Li4zYTUyZGY4ODU3OTQ3MmRlMzA3MTJiMWU0OGRiNTI2M2ZmZjVhMDY3IDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoVGVzdE9wdGlvbnM6OlRlc3RPcHRpb25z
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHNldFdlYlByZWZl
cmVuY2VzRm9yVGVzdE9wdGlvbnMpOgorICAgICAgICBBbGxvdyB0ZXN0cyB0byBlbmFibGUgdGhl
IFJlc2l6ZU9ic2VydmVyRW5hYmxlZCBmbGFnIGluIFdLMS4KKwogMjAxOS0wMS0yMiAgQWFrYXNo
IEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2V3cy1hcHBdIGZldGNo
IGxvb3Agc2hvdWxkIG5vdCBzdG9wIG9uIG5ldHdvcmsgaXNzdWVzCmRpZmYgLS1naXQgYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0T3B0aW9ucy5jcHAKaW5kZXggZWU5OWRjOTRiZWQzOGUzZTYxNjFlOGJiNGE2OGE2NDMzNWNj
ZTI2Ni4uYzM1MzIzNzVlOWUzNWQ0MzdjNDI0ZWJiMGE0ZTRhNTVhZTZlMGY3ZSAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcApAQCAtMTA5LDYgKzEwOSw4IEBAIFRlc3RPcHRpb25z
OjpUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6OnN0
cmluZyYgYWJzb2x1CiAgICAgICAgICAgICBlbmFibGVXZWJHUFUgPSBwYXJzZUJvb2xlYW5UZXN0
SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImludGVybmFsOkNT
U0xvZ2ljYWxFbmFibGVkIikKICAgICAgICAgICAgIGVuYWJsZUNTU0xvZ2ljYWwgPSBwYXJzZUJv
b2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOworICAgICAgICBlbHNlIGlmIChrZXkgPT0gImVu
YWJsZVJlc2l6ZU9ic2VydmVyIikKKyAgICAgICAgICAgIGVuYWJsZVJlc2l6ZU9ic2VydmVyID0g
cGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgcGFpclN0YXJ0ID0g
cGFpckVuZCArIDE7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
VGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKaW5kZXgg
Mzc1NmU5NTM5Y2Y1NzZmOWRiZjlhYTdhZDU5MmYxZmYxMTZiZTZjZC4uNTc2N2E0OWQxZGJkMDk0
NDYyZjFlYzRhOTdmMTI2NjA5YWQ0MTYwNSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5o
CkBAIC00NSw2ICs0NSw3IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBlbmFibGVT
ZWxlY3Rpb25BY3Jvc3NTaGFkb3dCb3VuZGFyaWVzIHsgdHJ1ZSB9OwogICAgIGJvb2wgZW5hYmxl
V2ViR1BVIHsgZmFsc2UgfTsKICAgICBib29sIGVuYWJsZUNTU0xvZ2ljYWwgeyBmYWxzZSB9Owor
ICAgIGJvb2wgZW5hYmxlUmVzaXplT2JzZXJ2ZXIgeyBmYWxzZSB9OwogICAgIHN0ZDo6c3RyaW5n
IGpzY09wdGlvbnM7CiAKICAgICBUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9y
VVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgYWJzb2x1dGVQYXRoKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBkNmI1YTY1NjZlZWQ2MjMwODg2ZmM3ODI4
Y2ViODRkZGNjNTY1MGUyLi44NmRlYThhMmYyMDExOWExOWNhZTA5YWQ0NTJjOGUxYmFmODMyYTRh
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0K
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC0xMDEx
LDYgKzEwMTEsNyBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25z
KGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQogICAgIHByZWZlcmVuY2VzLnNlbGVjdGlvbkFj
cm9zc1NoYWRvd0JvdW5kYXJpZXNFbmFibGVkID0gb3B0aW9ucy5lbmFibGVTZWxlY3Rpb25BY3Jv
c3NTaGFkb3dCb3VuZGFyaWVzOwogICAgIHByZWZlcmVuY2VzLndlYkdQVUVuYWJsZWQgPSBvcHRp
b25zLmVuYWJsZVdlYkdQVTsKICAgICBwcmVmZXJlbmNlcy5DU1NMb2dpY2FsRW5hYmxlZCA9IG9w
dGlvbnMuZW5hYmxlQ1NTTG9naWNhbDsKKyAgICBwcmVmZXJlbmNlcy5yZXNpemVPYnNlcnZlckVu
YWJsZWQgPSBvcHRpb25zLmVuYWJsZVJlc2l6ZU9ic2VydmVyOwogfQogCiAvLyBDYWxsZWQgb25j
ZSBvbiBEdW1wUmVuZGVyVHJlZSBzdGFydHVwLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggNGRiM2QyMDM3ZDA4Y2JhYzhkZTdkOGIyZWNhMDRlNWE5OTdhMTUxZi4uNjA0N2U5NTA1
NzZhYjJjN2ZhYWJkY2FhMjk3ZjE1ODA2MWI2NmNjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGll
Y2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBj
YXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvZXZlbnRsb29wLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2lu
ZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZl
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVU
ZXN0SGVscGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIpOgorICAgICAg
ICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuZ2V0IF9jdXJyZW50U3RlcCk6CisgICAgICAg
IChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5fbmV4dFN0ZXApOgorICAgICAgICAoUmVzaXpl
VGVzdEhlbHBlci5wcm90b3R5cGUuX2hhbmRsZU5vdGlmaWNhdGlvbik6CisgICAgICAgIChSZXNp
emVUZXN0SGVscGVyLnByb3RvdHlwZS5faGFuZGxlVGltZW91dCk6CisgICAgICAgIChSZXNpemVU
ZXN0SGVscGVyLnByb3RvdHlwZS5fZG9uZSk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnBy
b3RvdHlwZS5zdGFydCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5nZXQg
cmFmQ291bnQpOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuX2luY3JlbWVu
dFJhZik6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5zdGFydENvdW50aW5n
UmFmKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nOiBBZGRl
ZC4KKwogMjAxOS0wMS0yMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVzeW5jIGxpYndlYnJ0YyB3aXRoIGxhdGVzdCBNNzIgYnJhbmNoCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMu
anNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uCmluZGV4IDk5NTIxOTMyNmE5M2VlYzdiNTJiMDU3ODM1MGQ1YzkwZmE5OGU1ZTcu
Ljc1OGQ5ZmZlYjZhODYwZjI5MGRjYjZkYWM0YjhlOGYzMjQwZTUwZDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29u
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0
aW9ucy5qc29uCkBAIC0yOTUsNiArMjk1LDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jl
bW90ZS1wbGF5YmFjayI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0
aWRsZWNhbGxiYWNrIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlciI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzIjogImltcG9y
dCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2NyZWVuLW9yaWVudGF0aW9uIjogInNraXAi
LCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvTUVUQS55bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY2
Njg1NjIyYjJhYjJlMjZjYzYzMzBmOTgxMzBiZTVkNDMwMWIwMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL01FVEEueW1sCkBAIC0wLDAgKzEsNCBAQAorc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5p
by9SZXNpemVPYnNlcnZlci8KK3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gYXRvdGljCisgIC0g
ZGhvbGJlcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVu
dGxvb3AtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiMjMxMDY2NDA3N2M0Nzc3ZDQxNzEyMjE1
NDUzMjM1OTkzYzIxODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUwOiBSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6ZU9ic2VydmVy
IG5vdGlmaWNhdGlvbiBldmVudCBsb29wIHRlc3RzCisKK3QxCisKK0ZBSUwgUmVzaXplT2JzZXJ2
ZXIgaW1wbGVtZW50ZWQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJl
c2l6ZU9ic2VydmVyIiBtaXNzaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvZXZlbnRsb29wLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjIyZDcyNGExOWIzZGIyMGEyMWVmMjRhYjk4
NWQ4NGI3ZTM1YjllNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sCkBAIC0w
LDAgKzEsMjU5IEBACis8IWRvY3R5cGUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4
cGVyaW1lbnRhbDpSZXNpemVPYnNlcnZlckVuYWJsZWQ9dHJ1ZSBdIC0tPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVz
b3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICBkaXYgewor
ICAgIGJvcmRlcjogMXB4IGRvdHRlZCBncmF5CisgIH0KKzwvc3R5bGU+Cis8cD5SZXNpemVPYnNl
cnZlciBub3RpZmljYXRpb24gZXZlbnQgbG9vcCB0ZXN0czwvcD4KKzxkaXYgaWQ9InRhcmdldDEi
IHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MQorPC9kaXY+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICA8ZGl2IGlkPSJhMSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBw
eCI+CisgICAgPGRpdiBpZD0iYTIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPgor
ICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBpZD0iYjEiIHN0eWxlPSJ3aWR0aDoxMDBweDto
ZWlnaHQ6MTAwcHgiPgorICAgIDxkaXYgaWQ9ImIyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0
OjEwMHB4Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0
cmljdCc7CisKK2xldCB0MSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQxJyk7CisK
Ky8vIGFsbG93IHVuY2F1Z2h0IGV4Y2VwdGlvbiBiZWNhdXNlIFJlc2l6ZU9ic2VydmVyIHBvc3Rz
IGV4Y2VwdGlvbnMKKy8vIHRvIHdpbmRvdyBlcnJvciBoYW5kbGVyIHdoZW4gbGltaXQgaXMgZXhj
ZWVkZWQuCisvLyBUaGlzIGNvZGVwYXRoIGlzIHRlc3RlZCBpbiB0aGlzIGZpbGUuCisKK3NldHVw
KHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rpb24gdGVtcGxhdGUo
KSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IHRp
dGxlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRy
dWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4g
aGVscGVyLnN0YXJ0KCk7Cit9CisKK3ZhciBvbkVycm9yQ2FsbGVkID0gZmFsc2U7CisKK3dpbmRv
dy5vbmVycm9yID0gZXJyID0+IHsKKyAgb25FcnJvckNhbGxlZCA9IHRydWU7Cit9CisKK2Z1bmN0
aW9uIHRlc3QwKCkgeworCisgIGxldCBkaXZzID0gW3QxXTsKKyAgbGV0IHJBRiA9IDA7CisgIGxl
dCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IG11bHRpcGxlIG5v
dGlmaWNhdGlvbnMgaW5zaWRlIHNhbWUgZXZlbnQgbG9vcCIsCisgIFsKKyAgICB7CisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvbkVycm9yQ2FsbGVkID0gZmFsc2U7CisgICAg
ICAgIGxldCB0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICBsZXQg
dDMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgdDIuYXBwZW5kQ2hp
bGQodDMpOworICAgICAgICB0MS5hcHBlbmRDaGlsZCh0Mik7CisgICAgICAgIGRpdnMucHVzaCh0
Mik7CisgICAgICAgIGRpdnMucHVzaCh0Myk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEp
OworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0Myk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMywgIjMgbm90aWZpY2F0aW9u
cyIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsK
KyAgICAgICAgaGVscGVyLnN0YXJ0Q291bnRpbmdSYWYoKTsKKyAgICAgICAgZGl2cy5mb3JFYWNo
KCBlbCA9PiB7IGVsLnN0eWxlLndpZHRoID0gIjEwMXB4Ijt9KTsKKyAgICAgIH0sCisgICAgICBu
b3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICAvLyB0MSBpcyBub3QgZGVs
aXZlcmVkCisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDIsICIyIG5vdGlm
aWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhoZWxwZXIucmFmQ291bnQsIDAsICJz
dGlsbCBpbiBzYW1lIGxvb3AiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVw
OiBvYnNlcnZlciA9PiB7CisgICAgICAgIGRpdnMuZm9yRWFjaCggZWwgPT4geyBlbC5zdHlsZS53
aWR0aCA9ICIxMDJweCI7fSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2Jz
ZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEg
bm90aWZpY2F0aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3VudCwg
MCwgInNhbWUgbG9vcCIpOworICAgICAgfQorICAgIH0sCisgICAgeyAvLyB0MSBhbmQgdDIgZ2V0
IG5vdGlmaWVkCisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAgICAgIG5v
dGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllcy5sZW5ndGgsIDIsICIyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhoZWxwZXIucmFmQ291bnQsIDEsICJuZXcgbG9vcCIpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KG9uRXJyb3JDYWxsZWQsIHRydWUsICJlcnJvciB3YXMgZmlyZWQiKTsKKyAgICAgICAgb2JzZXJ2
ZXIuZGlzY29ubmVjdCgpOworICAgICAgICB3aGlsZSAodDEuY2hpbGROb2Rlcy5sZW5ndGggPiAw
KQorICAgICAgICAgIHQxLnJlbW92ZUNoaWxkKHQxLmNoaWxkTm9kZXNbMF0pOworICAgICAgfQor
ICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVz
dDEoKSB7CisKKyAgdmFyIHJlc2l6ZXJzID0gW3QxXTsKKyAgLy8gVGVzdGluZyBkZXB0aHMgb2Yg
c2hhZG93IHJvb3RzCisgIC8vIERPTTogdDEgPC0gdDIgPC0gdDMgPC1zaGFkb3ctIHQ0IDwtIHQ1
CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE6IGRlcHRo
cyBvZiBzaGFkb3cgcm9vdHMiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgb25FcnJvckNhbGxlZCA9IGZhbHNlOworICAgICAgICBsZXQgdDIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgdDEuYXBwZW5kQ2hpbGQodDIpOwor
ICAgICAgICByZXNpemVycy5wdXNoKHQyKTsKKyAgICAgICAgbGV0IHQzID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIHJlc2l6ZXJzLnB1c2godDMpOworICAgICAgICB0
Mi5hcHBlbmRDaGlsZCh0Myk7CisgICAgICAgIGxldCBzaGFkb3cgPSB0My5hdHRhY2hTaGFkb3co
eyBtb2RlOiAib3BlbiIgfSk7CisgICAgICAgIGxldCB0NCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworICAgICAgICByZXNpemVycy5wdXNoKHQ0KTsKKyAgICAgICAgc2hhZG93LmFw
cGVuZENoaWxkKHQ0KTsKKyAgICAgICAgbGV0IHQ1ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CisgICAgICAgIHJlc2l6ZXJzLnB1c2godDUpOworICAgICAgICB0NC5hcHBlbmRDaGls
ZCh0NSk7CisgICAgICAgIHJlc2l6ZXJzLmZvckVhY2goIGVsID0+IG9ic2VydmVyLm9ic2VydmUo
ZWwpICk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgNSwgImFsbCBlbnRyaWVzIHJl
c2l6ZWQiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIHJlc2l6ZXJzLmZvckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjEx
MXB4IiApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDQsICJkZXB0aCBsaW1pdGVk
Iik7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewor
ICAgICAgICByZXNpemVycy5mb3JFYWNoKCBlbCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTJweCIg
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiZGVwdGggbGltaXRlZCIpOwor
ICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAg
ICAgcmVzaXplcnMuZm9yRWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTEzcHgiICk7Cisg
ICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAg
IH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHJl
c2l6ZXJzLmZvckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExNHB4IiApOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9Cisg
ICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAgICAg
IG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllcy5sZW5ndGgsIDQsICJsaW1pdCBub3RpZmljYXRpb25zIik7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMob25FcnJvckNhbGxlZCwgdHJ1ZSwgImJyZWFjaGVkIGxpbWl0Iik7CisgICAgICAg
IG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAgICAgdDEucmVtb3ZlQ2hpbGQodDEuZmlyc3RD
aGlsZCk7CisgICAgICB9CisgICAgfSwKKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsK
K30KKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCcjY29udGFpbmVyJyk7CisgIGxldCBhMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJyNhMScpOworICBsZXQgYTIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYTInKTsKKyAg
bGV0IGIxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2IxJyk7CisgIGxldCBiMiA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJyNiMicpOworICBsZXQgdGFyZ2V0cyA9IFthMSwgYTIsIGIxLCBi
Ml07CisKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0Mjog
bW92ZSB0YXJnZXQgaW4gZG9tIHdoaWxlIGluc2lkZSBldmVudCBsb29wIiwKKyAgWworICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2YgdGFyZ2V0
cykKKyAgICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQpOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gZGVs
YXkgbmV4dCBvYnNlcnZhdGlvbgorICAgICAgfQorICAgIH0sCisgICAgeyAvLyByZXNpemUgdGhl
bSBhbGwKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2Yg
dGFyZ2V0cykKKyAgICAgICAgICB0LnN0eWxlLndpZHRoID0gIjExMHB4IjsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCB0YXJnZXRzLmxlbmd0aCwgImFsbCB0YXJnZXRzIG9ic2VydmVk
Iik7CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSBhbGwsIG1vdmUgZG9tIHVwd2Fy
ZHMKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2YgdGFy
Z2V0cykKKyAgICAgICAgICB0LnN0eWxlLndpZHRoID0gIjEzMHB4IjsKKyAgICAgICAgY29udGFp
bmVyLmFwcGVuZENoaWxkKGIyKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBv
YnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAi
YjIgbW92ZWQgdXB3YXJkcyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFy
Z2V0LCBhMik7CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSBhbGwsIG1vdmUgZG9t
IGRvd253YXJkcworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQg
dCBvZiB0YXJnZXRzKQorICAgICAgICAgIHQuc3R5bGUud2lkdGggPSAiMTMwcHgiOworICAgICAg
ICBhMi5hcHBlbmRDaGlsZChiMik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwg
ImIyIG1vdmVkIGRvd253YXJkcyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
dGFyZ2V0LCBiMik7CisgICAgICAgIGExLmFwcGVuZENoaWxkKGEyKTsKKyAgICAgIH0KKyAgICB9
LAorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitsZXQgZ3VhcmQ7Cit0ZXN0
KF8gPT4geworICBhc3NlcnRfb3duX3Byb3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7
CisgIGd1YXJkID0gYXN5bmNfdGVzdCgnZ3VhcmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBpbXBs
ZW1lbnRlZCIpCisKK3Rlc3QwKCkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkK
KyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFy
ZC5kb25lKCk7IH0pOworCis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53
aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmE3ZWEzMjc5MWNiMDA2OTNmMzc5NGEyM2QzMjg0YTkyNjc5YzUyZmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzMCBAQAorCitGQUlMIGlkbF90ZXN0IHNldHVwIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBh
bnkgbmFtZWQgZGVmaW5pdGlvbjogVW5yZWNvZ25pc2VkIHRva2VucywgbGluZSAxICh0b2tlbnM6
ICJ7XCJlcnJvclwiOiB7XCJtZXNzYWdlXCIiKQorWworICAgIHsKKyAgICAgICAgInR5cGUiOiAi
eyIsCisgICAgICAgICJ2YWx1ZSI6ICJ7IiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisgICAgfSwK
KyAgICB7CisgICAgICAgICJ0eXBlIjogInN0cmluZyIsCisgICAgICAgICJ2YWx1ZSI6ICJcImVy
cm9yXCIiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAgICAgICAgInR5
cGUiOiAiOiIsCisgICAgICAgICJ2YWx1ZSI6ICI6IiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisg
ICAgfSwKKyAgICB7CisgICAgICAgICJ0eXBlIjogInsiLAorICAgICAgICAidmFsdWUiOiAieyIs
CisgICAgICAgICJ0cml2aWEiOiAiICIKKyAgICB9LAorICAgIHsKKyAgICAgICAgInR5cGUiOiAi
c3RyaW5nIiwKKyAgICAgICAgInZhbHVlIjogIlwibWVzc2FnZVwiIiwKKyAgICAgICAgInRyaXZp
YSI6ICIiCisgICAgfQorXSIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQxNTFkNmI2NzRkZTJi
OTA1ZmNlODdjMTM5ZDEzNGFlODVjOGQzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5l
c3Mud2luZG93Lmh0bWwKQEAgLTAsMCArMSwyIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJl
ZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVz
dCAtLT4KKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9ic2Vy
dmVyRW5hYmxlZD10cnVlIF0gLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41OTJhZjJlMGMwNzkxOTc0NTdlMDkxZDg0ZGZkYjM3NDE3MDMzOTVlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMKQEAgLTAsMCArMSwzNyBAQAor
Ly8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBzY3Jp
cHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisvLyBNRVRBOiBzY3JpcHQ9cmVzb3VyY2VzL3Jl
c2l6ZVRlc3RIZWxwZXIuanMKKworJ3VzZSBzdHJpY3QnOworCisvLyBodHRwczovL3dpY2cuZ2l0
aHViLmlvL1Jlc2l6ZU9ic2VydmVyLworCitpZGxfdGVzdCgKKyAgWydSZXNpemVPYnNlcnZlcidd
LAorICBbJ2RvbScsICdnZW9tZXRyeSddLAorICBhc3luYyBpZGxfYXJyYXkgPT4geworICAgIGlk
bF9hcnJheS5hZGRfb2JqZWN0cyh7CisgICAgICBSZXNpemVPYnNlcnZlcjogWydvYnNlcnZlcidd
LAorICAgICAgUmVzaXplT2JzZXJ2ZXJFbnRyeTogWydlbnRyeSddLAorICAgIH0pOworCisgICAg
Y29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChkaXYpOworICAgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhl
bHBlcigKKyAgICAgICJSZXNpemVPYnNlcnZlckVudHJ5IGNyZWF0b3IiLAorICAgICAgWworICAg
ICAgICB7CisgICAgICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgICAgIHNlbGYu
b2JzZXJ2ZXIgPSBvYnNlcnZlcjsKKyAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUoZGl2KTsK
KyAgICAgICAgICAgIGRpdi5zdHlsZS53aWR0aCA9ICI1cHgiOworICAgICAgICAgIH0sCisgICAg
ICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgICAgIHNlbGYuZW50cnkgPSBlbnRy
aWVzWzBdOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0
LndpZHRoLCA1LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAg
ICBdKTsKKyAgICBhd2FpdCBoZWxwZXIuc3RhcnQoKTsKKyAgfQorKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L25vdGlmeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk1MzI3ODQxZGI2Zjk2ZTg0MTlkMzk5MjFmNTE3YmQ3NDE4MWMwMjYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9ub3RpZnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA1MDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJlc2l6
ZU9ic2VydmVyCitSZXNpemVPYnNlcnZlciB0ZXN0cworCit0MQordDIKK3QzIGlubGluZQorCitI
YXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgorCitGQUlMIFJlc2l6ZU9ic2VydmVyIGltcGxlbWVu
dGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNlcnZl
ciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmIxMDM4YTNjYjY4YmEwZTQ4NjQ0MTZlYTg4MWFhYzAyNDNmOGRlMWIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbApAQCAtMCwwICsxLDM1MSBAQAorPCFkb2N0
eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVzaXplT2Jz
ZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZXNpemVUZXN0SGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgZGl2IHsKKyAgICBib3JkZXI6IDFweCBkb3R0
ZWQgZ3JheQorICB9CisgIC50cmFuc2Zvcm0geworICAgIHRyYW5zZm9ybTogc2NhbGUoMiwyKSBy
b3RhdGUoOTBkZWcpCisgIH0KKzwvc3R5bGU+Cis8cD5SZXNpemVPYnNlcnZlciB0ZXN0czwvcD4K
KzxkaXYgaWQ9InRhcmdldDEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MQor
ICA8ZGl2IGlkPSJ0YXJnZXQyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDIK
KyAgICA8ZGl2IGlkPSJ0YXJnZXQzIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+
dDMKKyAgICAgIDxzcGFuIGlkPSJpbmxpbmUiPmlubGluZTwvc3Bhbj4KKyAgICA8L2Rpdj4KKyAg
PC9kaXY+Cis8L2Rpdj4KKzxkaXYgaWQ9ImFic29sdXRlIiBzdHlsZT0id2lkdGg6MTAwLjVweDto
ZWlnaHQ6MTAwLjVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAuM3B4O2xlZnQ6MTAuM3B4Ij48
L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK2xldCB0MSA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJyN0YXJnZXQxJyk7CitsZXQgdDIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcj
dGFyZ2V0MicpOworbGV0IHQzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDMnKTsK
K2xldCBhYnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYWJzb2x1dGUnKTsKK2xldCBpbmxp
bmUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaW5saW5lJyk7CisKK2Z1bmN0aW9uIHRlc3Qw
KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QwOiBu
b3RpZmljYXRpb24gb3JkZXJpbmciLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVy
ID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7CisgICAgICAgIG9ic2VydmVyLm9i
c2VydmUodDIpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5
bGUud2lkdGggPSAiNXB4IjsKKyAgICAgICAgdDMuc3R5bGUud2lkdGggPSAiNXB4IjsKKyAgICAg
ICAgdDIuc3R5bGUud2lkdGggPSAiNXB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3Ro
LCAzLCAiMyByZXNpemVzIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJn
ZXQsIHQzLCAib3JkZXJpbmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzFdLnRh
cmdldCwgdDIsICJvcmRlcmluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMl0u
dGFyZ2V0LCB0MSwgIm9yZGVyaW5nIik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsK
KyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiMTAwcHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0
aCA9ICIxMDBweCI7CisgICAgICAgIHQzLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgICAgIH0K
KyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRl
c3QxKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Qx
OiBkaXNwbGF5Om5vbmUgdHJpZ2dlcnMgbm90aWZpY2F0aW9uIiwKKyAgWworICAgIHsKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJl
dHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7Cisg
ICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0MS5zdHlsZS5kaXNwbGF5ID0gIm5v
bmUiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIHQxLnN0eWxlLmRpc3BsYXkgPSAiIjsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIGxldCBo
ZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDI6IHJlbW92ZS9hcHBlbmRD
aGlsZCB0cmlnZ2VyIG5vdGlmaWNhdGlvbiIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2Jz
ZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgIH0sCisgICAg
ICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsg
IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeyAvLyAicmVtb3ZlQ2hp
bGQgdHJpZ2dlcnMgbm90aWZpY2F0aW9uIgorICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgdDEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0MSk7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLnRhcmdldCwgdDEpOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQg
c3RlcAorICAgICAgfQorICAgIH0sCisgICAgeyAvLyAiYXBwZW5kQ2hpbGQgdHJpZ2dlcnMgbm90
aWZpY2F0aW9uIiwKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQs
IHQxKQorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30K
KworCitmdW5jdGlvbiB0ZXN0MygpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVs
cGVyKAorICAgICJ0ZXN0MzogZGltZW5zaW9ucyBtYXRjaCIsCisgIFsKKyAgICB7CisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAg
ICAgdDEuc3R5bGUud2lkdGggPSAiMjAwLjVweCI7CisgICAgICAgIHQxLnN0eWxlLmhlaWdodCA9
ICIxMDBweCI7CisgICAgICAgIHQxLnN0eWxlLnBhZGRpbmdMZWZ0ID0gIjIwcHgiOworICAgICAg
ICB0MS5zdHlsZS5wYWRkaW5nVG9wID0gIjEwcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5jb250ZW50UmVjdC5sZWZ0LDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LmNvbnRlbnRSZWN0LnRvcCwxMCk7CisgICAgICAgIGFzc2VydF9iZXR3ZWVuX2luY2x1c2l2ZShl
bnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAyMDAuNCwgMjAwLjYsICJ3aWR0aCBpcyBub3Qg
cm91bmRlZCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
aGVpZ2h0LCAxMDApOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3Rh
cnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDQoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXpl
VGVzdEhlbHBlcigKKyAgICAidGVzdDQ6IHRyYW5zZm9ybSBkbyBub3QgY2F1c2Ugbm90aWZpY2F0
aW9ucyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBv
YnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBv
YnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gRGVsYXkgbmV4dCBzdGVwCisg
ICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAg
ICB0Mi5jbGFzc0xpc3QuYWRkKCJ0cmFuc2Zvcm0iKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJ0cmFu
c2Zvcm0gbXVzdCBub3QgdHJpZ2dlciBub3RpZmljYXRpb25zIik7CisgICAgICB9LAorICAgICAg
dGltZW91dDogKCkgPT4geworICAgICAgICB0Mi5jbGFzc0xpc3QucmVtb3ZlKCJ0cmFuc2Zvcm0i
KTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3Q1KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIo
CisgICAgInRlc3Q1OiBtb3ZpbmcgYW4gZWxlbWVudCBkb2VzIG5vdCB0cmlnZ2VyIG5vdGlmaWNh
dGlvbnMiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAg
b2JzZXJ2ZXIub2JzZXJ2ZShhYnMpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAvLyBEZWxheSBuZXh0IHN0ZXAK
KyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIGFicy5zdHlsZS50b3AgPSAiMjAuMzNweCI7CisgICAgICAgIGFicy5zdHlsZS5sZWZ0ID0g
IjIwLjMzcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9
PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIm1vdmVtZW50IHNob3VsZCBub3QgY2F1c2Ug
cmVzaXplIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7
CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitm
dW5jdGlvbiB0ZXN0NigpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAor
ICAgICJ0ZXN0NjogaW5saW5lIGVsZW1lbnQgZG9lcyBub3Qgbm90aWZ5IiwKKyAgWworICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoaW5s
aW5lKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxlLndp
ZHRoID0gIjY2cHgiOworICAgICAgICBpbmxpbmUuc3R5bGUud2lkdGggPSAiNjZweCI7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgImlubGluZSBlbGVtZW50cyBtdXN0IG5vdCB0
cmlnZ2VyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBd
LnRhcmdldCwgdDEsICJpbmxpbmUgZWxlbWVudHMgbXVzdCBub3QgdHJpZ2dlciBub3RpZmljYXRp
b25zIik7CisgICAgICAgIHJldHVybiB0cnVlOyAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0K
KyAgICB9LAorICAgIHsgLy8gImlubGluZSBlbGVtZW50IHRoYXQgYmVjb21lcyBibG9jayBzaG91
bGQgbm90aWZ5IiwKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGlubGluZS5z
dHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVz
LCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0
LCBpbmxpbmUpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQo
KTsKK30KKworZnVuY3Rpb24gdGVzdDcoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVz
dEhlbHBlcigKKyAgICAidGVzdDc6IHVub2JzZXJ2ZSBpbnNpZGUgbm90aWZ5IGNhbGxiYWNrIiwK
KyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodDEpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICB0MS5zdHlsZS53
aWR0aCA9ICI3NzdweCI7CisgICAgICAgIHQyLnN0eWxlLndpZHRoID0gIjc3N3B4IjsKKyAgICAg
ICAgb2JzZXJ2ZXIudW5vYnNlcnZlKHQxKTsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxh
eSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIm9ubHkgdDIgaXMgb2Jz
ZXJ2ZWQiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDIsICJv
bmx5IHQyIGlzIG9ic2VydmVkIik7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhl
bHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0OCgpIHsKKyAgbGV0IGhlbHBlciA9IG5l
dyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0ODogb2JzZXJ2ZSBpbnNpZGUgbm90aWZ5IGNh
bGxiYWNrIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICB0
Mi5zdHlsZS53aWR0aCA9ICI4ODhweCI7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkg
bmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJvbmx5IHQyIGlzIG9ic2Vy
dmVkIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQyLCAib25s
eSB0MiBpcyBvYnNlcnZlZCIpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxw
ZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDkoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcg
UmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDk6IGRpc2Nvbm5lY3QgaW5zaWRlIG5vdGlmeSBj
YWxsYmFjayIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVz
LCBvYnNlcnZlcikgPT4geworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI5OTlweCI7CisgICAg
ICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxh
eSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsK
KyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgidGhlcmUgc2hvdWxkIGJlIG5vIG5vdGlmaWNhdGlv
bnMgYWZ0ZXIgZGlzY29ubmVjdCIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6ICgpID0+IHsK
KyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1
bmN0aW9uIHRlc3QxMCgpIHsKKyAgdmFyIHBhcmVudCA9IHQxLnBhcmVudE5vZGU7CisgIGxldCBo
ZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDEwOiBlbGVtZW50IG5vdGlm
aWVzIHdoZW4gcGFyZW50IHJlbW92ZWQiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAv
LyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIHQxLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodDEpOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbMF0udGFyZ2V0LCB0Myk7CisgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0MSk7Cisg
ICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitsZXQg
Z3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3NlcnRfb3duX3Byb3BlcnR5KHdpbmRvdywgIlJlc2l6
ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5bmNfdGVzdCgnZ3VhcmQnKTsKK30sICJSZXNpemVP
YnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rlc3QwKCkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4g
dGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRoZW4o
KCkgPT4geyByZXR1cm4gdGVzdDMoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDQo
KTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDUoKTsgfSkKKyAgLnRoZW4oKCkgPT4g
eyByZXR1cm4gdGVzdDYoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDcoKTsgfSkK
KyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDgoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1
cm4gdGVzdDkoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEwKCk7IH0pCisgIC50
aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9vYnNlcnZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc1MDAzZTA2ZDM1Mzc1MTBhODY1OWM2YjRiNDM0Y2Q3MDE4MjM3ZWMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSA1MDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJl
c2l6ZU9ic2VydmVyCitSZXNpemVPYnNlcnZlciB0ZXN0cworCit0MQordDIKKyAKKworRkFJTCBS
ZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBw
cm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXIiIG1pc3NpbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNDU5MmQ0NTk0NmMxOWJmYTgy
ZTdhNmQ3MGE4ODJkMDBiMjllOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwK
QEAgLTAsMCArMSwyMDcgQEAKKzwhZG9jdHlwZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9ic2VydmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8cD5SZXNpemVPYnNl
cnZlciB0ZXN0czwvcD4KKzxkaXYgaWQ9InRhcmdldDEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWln
aHQ6MTAwcHg7Ij50MTwvZGl2PgorPGRpdiBpZD0idGFyZ2V0MiIgc3R5bGU9IndpZHRoOjEwMHB4
O2hlaWdodDoxMDBweDsiPnQyPC9kaXY+Cis8aW1nIGlkPSJ0YXJnZXQzIiBzdHlsZT0id2lkdGg6
MTAwcHg7aGVpZ2h0OjEwMHB4OyI+Cis8aWZyYW1lIHNyYz0iLi9yZXNvdXJjZXMvaWZyYW1lLmh0
bWwiIHdpZHRoPSIzMDBweCIgaGVpZ2h0PSIxMDBweCIgc3R5bGU9ImRpc3BsYXk6YmxvY2siPjwv
aWZyYW1lPgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworbGV0IHQxID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignI3RhcmdldDEnKTsKK2xldCB0MiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
JyN0YXJnZXQyJyk7CisKKy8vIGFsbG93IHVuY2F1Z2h0IGV4Y2VwdGlvbiBiZWNhdXNlIFJlc2l6
ZU9ic2VydmVyIHBvc3RzIGV4Y2VwdGlvbnMKKy8vIHRvIHdpbmRvdyBlcnJvciBoYW5kbGVyIHdo
ZW4gbGltaXQgaXMgZXhjZWVkZWQuCitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0
cnVlfSk7CisKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRl
c3RIZWxwZXIoCisgICAgInRlc3QwOiBzaW1wbGUgb2JzZXJ2YXRpb24iLAorICBbCisgICAgewor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7
CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjVweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwg
IjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLnRhcmdldCwgdDEsICJ0YXJnZXQgaXMgdDEiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCA1LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICB9
CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0
ZXN0MSgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0
MTogbXVsdGlwbGUgb2JzZXJ2YXRpb24gb24gc2FtZSBlbGVtZW50IHRyaWdnZXIgb25seSBvbmUi
LAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2
ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0
MS5zdHlsZS53aWR0aCA9ICIxMHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMg
PT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBwZW5kaW5n
IG5vdGlmaWNhdGlvbiIpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIu
c3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIHRlc3QoKCkgPT4geworICAgICAg
YXNzZXJ0X3Rocm93cyh7bmFtZTogIlR5cGVFcnJvciJ9LCBfPT4geworICAgICAgICBsZXQgcm8g
PSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge30pOworICAgICAgICByby5vYnNlcnZlKHt9KTsK
KyAgICAgIH0pOworICAgIH0sCisgICAgInRlc3QyOiB0aHJvdyBleGNlcHRpb24gd2hlbiBvYnNl
cnZpbmcgbm9uLWVsZW1lbnQiCisgICk7CisgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKK30K
KworZnVuY3Rpb24gdGVzdDMoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBl
cigKKyAgICAidGVzdDM6IGRpc2Nvbm5lY3Qgc3RvcHMgYWxsIG5vdGlmaWNhdGlvbnMiLCBbCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0MSk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci5k
aXNjb25uZWN0KCk7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjMwcHgiOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJu
byBlbnRyaWVzIHNob3VsZCBiZSBvYnNlcnZlZCIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6
ICgpID0+IHsKKyAgICAgICAgLy8gZXhwZWN0ZWQKKyAgICAgIH0KKyAgICB9CisgIF0pOworICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q0KCkgeworICBsZXQgaGVs
cGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q0OiB1bm9ic2VydmUgdGFyZ2V0
IHN0b3BzIG5vdGlmaWNhdGlvbnMsIHVub2JzZXJ2ZSBub24tb2JzZXJ2ZWQgZG9lcyBub3RoaW5n
IiwgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodDEpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgICAgb2Jz
ZXJ2ZXIudW5vYnNlcnZlKHQxKTsKKyAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGRvY3VtZW50
LmJvZHkpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI0MHB4IjsKKyAgICAgICAgdDIuc3R5
bGUud2lkdGggPSAiNDBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIm9ubHkgdDIiKTsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDIsICJ0MiB3YXMgb2JzZXJ2
ZWQiKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9
CisKK2Z1bmN0aW9uIHRlc3Q1KCkgeworICBsZXQgdDMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCcjdGFyZ2V0MycpOworICB2YXIgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoInRlc3Q1
OiBvYnNlcnZlIGltZyIsWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodDMpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmll
cyA9PiB7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICB0My5zdHlsZS53aWR0aCA9ICIxMDAuNXB4IjsKKyAgICAgIH0sCisgICAgICBu
b3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3Ro
LCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRo
LCAxMDAuNSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgp
OworfQorCitmdW5jdGlvbiB0ZXN0NigpIHsKKyAgbGV0IHJlc29sdmVQcm9taXNlOworICBsZXQg
cHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgcmVzb2x2ZVByb21pc2Ug
PSByZXNvbHZlOworICB9KTsKKyAgbGV0IHRlc3QgPSBhc3luY190ZXN0KCd0ZXN0NjogaWZyYW1l
IG5vdGlmaWNhdGlvbnMnKTsKKyAgbGV0IHRlc3RSZXF1ZXN0ZWQgPSBmYWxzZTsKKyAgbGV0IGlm
cmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpOworICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbWVzc2FnZScsIGV2ZW50ID0+IHsKKyAgICBzd2l0Y2goZXZlbnQuZGF0YSkg
eworICAgIGNhc2UgJ3JlYWR5VG9UZXN0JzoKKyAgICAgIGlmICghdGVzdFJlcXVlc3RlZCkgewor
ICAgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgnc3RhcnRUZXN0JywgJyon
KTsKKyAgICAgICAgdGVzdFJlcXVlc3RlZCA9IHRydWU7CisgICAgICB9CisgICAgYnJlYWs7Cisg
ICAgY2FzZSAnc3VjY2Vzcyc6CisgICAgY2FzZSAnZmFpbCc6CisgICAgICB3aW5kb3cucmVxdWVz
dEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgdGVzdC5zdGVwKCAoKSA9PiB7CisgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5kYXRhLCAnc3VjY2VzcycpOworICAgICAgICAgIHRl
c3QuZG9uZSgpOworICAgICAgICAgIHJlc29sdmVQcm9taXNlKCk7CisgICAgICAgIH0pOworICAg
ICAgfSk7CisgICAgYnJlYWs7CisgICAgfQorICB9LCBmYWxzZSk7CisgIHJldHVybiBwcm9taXNl
OworfQorCitmdW5jdGlvbiB0ZXN0NygpIHsKKyAgbGV0IGhhcm5lc3NUZXN0ID0gYXN5bmNfdGVz
dCgidGVzdDc6IGNhbGxiYWNrLnRoaXMiKTsKKyAgbGV0IHJlc29sdmVQcm9taXNlOworICBsZXQg
cm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoIGZ1bmN0aW9uKGVudHJpZXMsIG9icykgIHsKKyAgICBs
ZXQgY2FsbGJhY2tUaGlzID0gdGhpczsKKyAgICByZXNvbHZlUHJvbWlzZSgpOworICAgIGhhcm5l
c3NUZXN0LnN0ZXAoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhjYWxsYmFja1RoaXMsIHJv
LCAiY2FsbGJhY2sudGhpcyBpcyBSZXNpemVPYnNlcnZlciIpOworICAgICAgYXNzZXJ0X2VxdWFs
cyhvYnMsIHJvLCAiMm5kIGFyZ3VtZW50IGlzIFJlc2l6ZU9ic2VydmVyIik7CisgICAgICByby5k
aXNjb25uZWN0KCk7CisgICAgICAvLyBldmVyeSByZWZlcmVuY2UgdG8gUk8gbXVzdCBiZSBudWxs
IGJlZm9yZSB0ZXN0IGNvbXBsZXRlcworICAgICAgLy8gdG8gYXZvaWQgdHJpZ2dlcmluZyB0ZXN0
IGxlYWstZGV0ZWN0aW9uCisgICAgICBybyA9IG51bGw7CisgICAgICBjYWxsYmFja1RoaXMgPSBu
dWxsOworICAgICAgb2JzID0gbnVsbDsKKyAgICAgIGhhcm5lc3NUZXN0LmRvbmUoKTsKKyAgICAg
fSk7CisgICAgfQorICApOworICByby5vYnNlcnZlKHQxKTsKKworICByZXR1cm4gbmV3IFByb21p
c2UoIChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7
CisgIH0pOworfQorCitsZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3NlcnRfb3duX3Byb3Bl
cnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5bmNfdGVzdCgnZ3Vh
cmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rlc3QwKCkKKyAgLnRo
ZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVz
dDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDMoKTsgfSkKKyAgLnRoZW4oKCkg
PT4geyByZXR1cm4gdGVzdDQoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDUoKTsg
fSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDYoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBy
ZXR1cm4gdGVzdDcoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOworCis8
L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9pZnJhbWUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291
cmNlcy9pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTgzMTdiNTIwYjY4Y2JmOTJiMDllNjdhNTdm
MWVjZDI3MjQzNzQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1s
CkBAIC0wLDAgKzEsMzggQEAKKzwhZG9jdHlwZSBodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQgc3Jj
PSIuL3Jlc2l6ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPHA+aWZyYW1lIHRl
c3Q8L3A+Cis8ZGl2IGlkPSJpdGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBw
eDsiPnQxPC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworbGV0IHQxID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignI2l0YXJnZXQxJyk7CitmdW5jdGlvbiB0ZXN0MCgpIHsKKyAgbGV0IHRp
bWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCAoKSA9PiB7CisgICAgd2luZG93LnBhcmVudC5w
b3N0TWVzc2FnZSgnZmFpbCcsICcqJyk7CisgIH0sIFJlc2l6ZVRlc3RIZWxwZXIuVElNRU9VVCk7
CisgIGxldCBybyA9IG5ldyBSZXNpemVPYnNlcnZlcihmdW5jdGlvbihlbnRyaWVzKSB7CisgICAg
d2luZG93LmNsZWFyVGltZW91dCh0aW1lb3V0SWQpOworICAgIHdpbmRvdy5wYXJlbnQucG9zdE1l
c3NhZ2UoJ3N1Y2Nlc3MnLCAnKicpOworICB9KTsKKyAgcm8ub2JzZXJ2ZSh0MSk7Cit9CitsZXQg
dGVzdFN0YXJ0ZWQgPSBmYWxzZTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywg
ZnVuY3Rpb24oZXYpIHsKKyAgICBzd2l0Y2goZXYuZGF0YSkgeworICAgICAgICBjYXNlICdzdGFy
dFRlc3QnOgorICAgICAgICAgIHRlc3RTdGFydGVkID0gdHJ1ZTsKKyAgICAgICAgICB0ZXN0MCgp
OworICAgICAgICBicmVhazsKKyAgICB9Cit9KTsKKy8vIEhvdyBkb2VzIHBhcmVudCBrbm93IHdl
J3ZlIGxvYWRlZCBwcm9ibGVtIGlzIHNvbHZlZCBieQorLy8gYnJvYWRjYXN0aW5nIHJlYWR5VG9U
ZXN0IG1lc3NhZ2UgcmVwZWF0ZWRseSB1bnRpbCB0ZXN0IHN0YXJ0cy4KK2Z1bmN0aW9uIGJyb2Fk
Y2FzdFJlYWR5KCkgeworICBpZiAoIXRlc3RTdGFydGVkKSB7CisgICAgd2luZG93LnBhcmVudC5w
b3N0TWVzc2FnZSgncmVhZHlUb1Rlc3QnLCAnKicpOworICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoYnJvYWRjYXN0UmVhZHkpOworICB9Cit9Citicm9hZGNhc3RSZWFkeSgpOworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwYzY4MWJkOTMzMzQ1
NTI5MTY3MTFiYmJlMTY3YmM0YmQ1ODg0NzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJj
ZXMvcmVzaXplVGVzdEhlbHBlci5qcwpAQCAtMCwwICsxLDE0OCBAQAorJ3VzZSBzdHJpY3QnOwor
CisvKioKKyAgUmVzaXplVGVzdEhlbHBlciBpcyBhIGZyYW1ld29yayB0byB0ZXN0IFJlc2l6ZU9i
c2VydmVyCisgIG5vdGlmaWNhdGlvbnMuIFVzZSBpdCB0byBtYWtlIGFzc2VydGlvbnMgYWJvdXQg
UmVzaXplT2JzZXJ2ZXJFbnRyaWVzLgorICBUaGlzIGZyYW1ld29yayBpcyBuZWVkZWQgYmVjYXVz
ZSBSZXNpemVPYnNlcnZhdGlvbnMgYXJlCisgIGRlbGl2ZXJlZCBhc3luY2hyb25vdXNseSBpbnNp
ZGUgdGhlIGV2ZW50IGxvb3AuCisKKyAgRmVhdHVyZXM6CisgIC0gY2FuIHF1ZXVlIG11bHRpcGxl
IG5vdGlmaWNhdGlvbiBzdGVwcyBpbiBhIHRlc3QKKyAgLSBoYW5kbGVzIHRpbWVvdXRzCisgIC0g
cmV0dXJucyBQcm9taXNlIHRoYXQgaXMgZnVsbGZpbGxlZCB3aGVuIHRlc3QgY29tcGxldGVzLgor
ICAgIFVzZSB0byBjaGFpbiB0ZXN0cyAoc2luY2UgcGFyYWxsZWwgYXN5bmMgUmVzaXplT2JzZXJ2
ZXIgdGVzdHMKKyAgICB3b3VsZCBjb25mbGljdCBpZiByZXVzaW5nIHNhbWUgRE9NIGVsZW1lbnRz
KS4KKworICBVc2FnZToKKworICBjcmVhdGUgUmVzaXplVGVzdEhlbHBlciBmb3IgZXZlcnkgdGVz
dC4KKyAgTWFrZSBhc3NlcnRpb25zIGluc2lkZSBub3RpZnksIHRpbWVvdXQgY2FsbGJhY2tzLgor
ICBTdGFydCB0ZXN0cyB3aXRoIGhlbHBlci5zdGFydCgpCisgIENoYWluIHRlc3RzIHdpdGggUHJv
bWlzZXMuCisgIENvdW50cyBhbmltYXRpb24gZnJhbWVzLCBzZWUgc3RhcnRDb3VudGluZ1JhZgor
Ki8KKworLyoKKyAgQHBhcmFtIG5hbWU6IHRlc3QgbmFtZQorICBAcGFyYW0gc3RlcHM6CisgIHsK
KyAgICBzZXR1cDogZnVuY3Rpb24oUmVzaXplT2JzZXJ2ZXIpIHsKKyAgICAgIC8vIGNhbGxlZCBh
dCB0aGUgYmVnaW5uaW5nIG9mIHRoZSB0ZXN0IHN0ZXAKKyAgICAgIC8vIHlvdXIgb2JzZXJ2ZS9y
ZXNpemUgY29kZSBnb2VzIGhlcmUKKyAgICB9LAorICAgIG5vdGlmeTogZnVuY3Rpb24oZW50cmll
cywgb2JzZXJ2ZXIpIHsKKyAgICAgIC8vIFJlc2l6ZU9ic2VydmVyIGNhbGxiYWNrLgorICAgICAg
Ly8gTWFrZSBhc3NlcnRpb25zIGhlcmUuCisgICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBuZXh0IHN0
ZXAgc2hvdWxkIHN0YXJ0IG9uIHRoZSBuZXh0IGV2ZW50IGxvb3AuCisgICAgfSwKKyAgICB0aW1l
b3V0OiBmdW5jdGlvbigpIHsKKyAgICAgIC8vIERlZmluZSB0aGlzIGlmIHlvdXIgdGVzdCBleHBl
Y3RzIHRvIHRpbWUgb3V0LgorICAgICAgLy8gSWYgdW5kZWZpbmVkLCB0aW1lb3V0IGlzIGFzc2Vy
dF91bnJlYWNoZWQuCisgICAgfQorICB9CisqLworZnVuY3Rpb24gUmVzaXplVGVzdEhlbHBlcihu
YW1lLCBzdGVwcykKK3sKKyAgICB0aGlzLl9uYW1lID0gbmFtZTsKKyAgICB0aGlzLl9zdGVwcyA9
IHN0ZXBzIHx8IFtdOworICAgIHRoaXMuX3N0ZXBJZHggPSAtMTsKKyAgICB0aGlzLl9oYXJuZXNz
VGVzdCA9IG51bGw7CisgICAgdGhpcy5fb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIodGhp
cy5faGFuZGxlTm90aWZpY2F0aW9uLmJpbmQodGhpcykpOworICAgIHRoaXMuX3RpbWVvdXRCaW5k
ID0gdGhpcy5faGFuZGxlVGltZW91dC5iaW5kKHRoaXMpOworICAgIHRoaXMuX25leHRTdGVwQmlu
ZCA9IHRoaXMuX25leHRTdGVwLmJpbmQodGhpcyk7Cit9CisKK1Jlc2l6ZVRlc3RIZWxwZXIuVElN
RU9VVCA9IDEwMDsKKworUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUgPSB7CisgIGdldCBfY3Vy
cmVudFN0ZXAoKSB7CisgICAgcmV0dXJuIHRoaXMuX3N0ZXBzW3RoaXMuX3N0ZXBJZHhdOworICB9
LAorCisgIF9uZXh0U3RlcDogZnVuY3Rpb24oKSB7CisgICAgaWYgKCsrdGhpcy5fc3RlcElkeCA9
PSB0aGlzLl9zdGVwcy5sZW5ndGgpCisgICAgICByZXR1cm4gdGhpcy5fZG9uZSgpOworICAgIHRo
aXMuX3RpbWVvdXRJZCA9IHRoaXMuX2hhcm5lc3NUZXN0LnN0ZXBfdGltZW91dCgKKyAgICAgIHRo
aXMuX3RpbWVvdXRCaW5kLCBSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQpOworICAgIHRyeSB7Cisg
ICAgICB0aGlzLl9zdGVwc1t0aGlzLl9zdGVwSWR4XS5zZXR1cCh0aGlzLl9vYnNlcnZlcik7Cisg
ICAgfQorICAgIGNhdGNoKGVycikgeworICAgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9
PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIkNhdWdodCBhIHRocm93LCBwb3NzaWJsZSBz
eW50YXggZXJyb3IiKTsKKyAgICAgIH0pOworICAgIH0KKyAgfSwKKworICBfaGFuZGxlTm90aWZp
Y2F0aW9uOiBmdW5jdGlvbihlbnRyaWVzKSB7CisgICAgaWYgKHRoaXMuX3RpbWVvdXRJZCkgewor
ICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0SWQpOworICAgICAgZGVsZXRl
IHRoaXMuX3RpbWVvdXRJZDsKKyAgICB9CisgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9
PiB7CisgICAgICBsZXQgcmFmRGVsYXkgPSB0aGlzLl9jdXJyZW50U3RlcC5ub3RpZnkoZW50cmll
cywgdGhpcy5fb2JzZXJ2ZXIpOworICAgICAgaWYgKHJhZkRlbGF5KQorICAgICAgICB3aW5kb3cu
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX25leHRTdGVwQmluZCk7CisgICAgICBlbHNlCisg
ICAgICAgIHRoaXMuX25leHRTdGVwKCk7CisgICAgfSk7CisgIH0sCisKKyAgX2hhbmRsZVRpbWVv
dXQ6IGZ1bmN0aW9uKCkgeworICAgIGRlbGV0ZSB0aGlzLl90aW1lb3V0SWQ7CisgICAgdGhpcy5f
aGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7CisgICAgICBpZiAodGhpcy5fY3VycmVudFN0ZXAudGlt
ZW91dCkgeworICAgICAgICB0aGlzLl9jdXJyZW50U3RlcC50aW1lb3V0KCk7CisgICAgICB9Cisg
ICAgICBlbHNlIHsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiVGltZWQgb3V0IHdhaXRpbmcg
Zm9yIG5vdGlmaWNhdGlvbi4gKCIgKyBSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQgKyAibXMpIik7
CisgICAgICB9CisgICAgICB0aGlzLl9uZXh0U3RlcCgpOworICAgIH0pOworICB9LAorCisgIF9k
b25lOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCk7CisgICAg
ZGVsZXRlIHRoaXMuX29ic2VydmVyOworICAgIHRoaXMuX2hhcm5lc3NUZXN0LmRvbmUoKTsKKyAg
ICBpZiAodGhpcy5fcmFmQ291bnRSZXF1ZXN0KSB7CisgICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0
aW9uRnJhbWUodGhpcy5fcmFmQ291bnRSZXF1ZXN0KTsKKyAgICAgIGRlbGV0ZSB0aGlzLl9yYWZD
b3VudFJlcXVlc3Q7CisgICAgfQorICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkg
PT4geyB0aGlzLl9yZXNvbHZlUHJvbWlzZSgpOyB9KTsKKyAgfSwKKworICBzdGFydDogZnVuY3Rp
b24oKSB7CisgICAgdGhpcy5faGFybmVzc1Rlc3QgPSBhc3luY190ZXN0KHRoaXMuX25hbWUpOwor
ICAgIHRoaXMuX2hhcm5lc3NUZXN0LnN0ZXAoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyh0
aGlzLl9zdGVwSWR4LCAtMSwgInN0YXJ0IGNhbiBvbmx5IGJlIGNhbGxlZCBvbmNlIik7CisgICAg
ICB0aGlzLl9uZXh0U3RlcCgpOworICAgIH0pOworICAgIHJldHVybiBuZXcgUHJvbWlzZSggKHJl
c29sdmUsIHJlamVjdCkgPT4geworICAgICAgdGhpcy5fcmVzb2x2ZVByb21pc2UgPSByZXNvbHZl
OworICAgICAgdGhpcy5fcmVqZWN0UHJvbWlzZSA9IHJlamVjdDsKKyAgICB9KTsKKyAgfSwKKwor
ICBnZXQgcmFmQ291bnQoKSB7CisgICAgaWYgKCF0aGlzLl9yYWZDb3VudFJlcXVlc3QpCisgICAg
ICB0aHJvdyAickFGIGNvdW50IGlzIG5vdCBhY3RpdmUiOworICAgIHJldHVybiB0aGlzLl9yYWZD
b3VudDsKKyAgfSwKKworICBfaW5jcmVtZW50UmFmOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhp
cy5fcmFmQ291bnRSZXF1ZXN0KSB7CisgICAgICB0aGlzLl9yYWZDb3VudCsrOworICAgICAgdGhp
cy5fcmFmQ291bnRSZXF1ZXN0ID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLl9p
bmNyZW1lbnRSYWZCaW5kKTsKKyAgICB9CisgIH0sCisKKyAgc3RhcnRDb3VudGluZ1JhZjogZnVu
Y3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX3JhZkNvdW50UmVxdWVzdCkKKyAgICAgIHdpbmRvdy5j
YW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWZDb3VudFJlcXVlc3QpOworICAgIGlmICghdGhp
cy5faW5jcmVtZW50UmFmQmluZCkKKyAgICAgIHRoaXMuX2luY3JlbWVudFJhZkJpbmQgPSB0aGlz
Ll9pbmNyZW1lbnRSYWYuYmluZCh0aGlzKTsKKyAgICB0aGlzLl9yYWZDb3VudCA9IDA7CisgICAg
dGhpcy5fcmFmQ291bnRSZXF1ZXN0ID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlz
Ll9pbmNyZW1lbnRSYWZCaW5kKTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
MzdjZWE1ZmMwNjRhZGE3OWFjZWMwZGYzYzM4ZjE2ZmFjMDEzODAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
CitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1
Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6Cisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIu
anMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRjZjgzNmU1ZjIwYWFhMzhiMTdmMzBkNGNhMmRhYWI0ZWNhMDMzMzEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDUwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6ZU9ic2VydmVyIHN2ZyB0ZXN0cworCitIZXJlIGlzIGEg
cGFyYWdyYXBoIHRoYXQgcmVxdWlyZXMgd29yZCB3cmFwCisKK3N2ZyB0ZXh0IHRhZworCitGQUlM
IFJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVk
IHByb3BlcnR5ICJSZXNpemVPYnNlcnZlciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL3N2Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5ZTVjMTk1M2VjMjc4ZTkyMTc2OWRjOTI0
MjBjNzljZjdmMDAzNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbApAQCAtMCwwICsx
LDMzMyBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmlt
ZW50YWw6UmVzaXplT2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNl
cy9yZXNpemVUZXN0SGVscGVyLmpzIj48L3NjcmlwdD4KKzxwPlJlc2l6ZU9ic2VydmVyIHN2ZyB0
ZXN0czwvcD4KKzxzdmcgaGVpZ2h0PSI0MzAiIHdpZHRoPSI1MDAiID4KKyAgPGNpcmNsZSBjeD0i
MTAiIGN5PSIxMCIgcj0iNSIgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJva2Ut
d2lkdGg6MSIgLz4KKyAgPGVsbGlwc2UgY3g9IjEwIiBjeT0iMzAiIHJ4PSI1IiByeT0iNSIgc3R5
bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJva2Utd2lkdGg6MSIvPgorICA8Zm9yZWln
bk9iamVjdCBjeT0iNTAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMjAiPgorICAgIDxib2R5PgorICAg
ICAgPHA+SGVyZSBpcyBhIHBhcmFncmFwaCB0aGF0IHJlcXVpcmVzIHdvcmQgd3JhcDwvcD4KKyAg
ICA8L2JvZHk+CisgIDwvZm9yZWlnbk9iamVjdD4KKyAgPGltYWdlIHhsaW5rOmhyZWY9IiIgeD0i
MCIgeT0iMTAwIiBoZWlnaHQ9IjMwIiB3aWR0aD0iMTAwIiAvPgorICA8bGluZSB4MT0iMCIgeTE9
IjUwIiB4Mj0iMjAiIHkyPSI3MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIi8+Cisg
IDxwYXRoIGQ9Ik0gMCAxMDAgTCAxMDAgMTAwIEwgNTAgMTUwIHoiCisgICAgICAgIHN0eWxlPSJm
aWxsOm9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEiIC8+CisgIDxwb2x5Z29uIHBv
aW50cz0iMCwyMDAgMTAwLDIwMCA1MCwyNTAiIHN0eWxlPSJmaWxsOm9yYW5nZTtzdHJva2U6Ymxh
Y2s7c3Ryb2tlLXdpZHRoOjEiIC8+CisgIDxwb2x5bGluZSBwb2ludHM9IjAsMzAwIDEwMCwzMDAg
NTAsMzUwIiBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIi8+
CisgIDxyZWN0IHg9IjAiIHk9IjM4MCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBzdHlsZT0iZmls
bDpvcmFuZ2U7IHN0cm9rZTpibGFjazsgc3Ryb2tlLXdpZHRoOjEiIC8+CisgIDx0ZXh0IHg9IjAi
IHk9IjQwMCIgZm9udC1zaXplPSIyMCI+c3ZnIHRleHQgdGFnPC90ZXh0PgorPC9zdmc+Cis8c2Ny
aXB0PgorJ3VzZSBzdHJpY3QnOworCitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0
cnVlfSk7CisKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignY2lyY2xlJyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBl
cigKKyAgICAidGVzdDA6IG9ic2VydmUgc3ZnOmNpcmNsZSIsCisgIFsKKyAgICB7CisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7Cisg
ICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAg
cmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUo
J3InLCAxMCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICB9Cisg
ICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0
MSgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2VsbGlwc2UnKTsK
KyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogb2JzZXJ2
ZSBzdmc6ZWxsaXBzZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewor
ICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxh
eSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3J4JywgMTApOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uY29udGVudFJlY3Qud2lkdGgsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTApOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJl
dHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIGxldCB0YXJn
ZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdmb3JlaWduT2JqZWN0Jyk7CisgIGxldCBoZWxw
ZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDI6IG9ic2VydmUgc3ZnOmZvcmVp
Z25PYmplY3QiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVu
dHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4
dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCd3aWR0aCcsIDIwMCk7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5jb250ZW50UmVjdC53aWR0aCwgMjAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMjApOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJl
dHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDMoKSB7CisgIGxldCB0YXJn
ZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbWFnZScpOworICBsZXQgaGVscGVyID0gbmV3
IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QzOiBvYnNlcnZlIHN2ZzppbWFnZSIsCisgIFsK
KyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNl
cnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0K
KyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdl
dC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIDQwKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lndp
ZHRoLCAxMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
aGVpZ2h0LCA0MCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0NCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ2xpbmUnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVy
KAorICAgICJ0ZXN0NDogb2JzZXJ2ZSBzdmc6bGluZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0
dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAg
ICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3ky
JywgODApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDIwKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMzApOworICAgICAgfQor
ICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVz
dDUoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdwYXRoJyk7Cisg
IGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDU6IG9ic2VydmUg
c3ZnOnBhdGgiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVu
dHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4
dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdkJywgIk0gMCAxMDAgTCAxMDAgMTAwIEwg
NTAgMTYwIHoiKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikg
PT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAxMDApOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCA2MCk7CisgICAg
ICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlv
biB0ZXN0NigpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3BvbHln
b24nKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0Njog
b2JzZXJ2ZSBzdmc6cGF0aCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBE
ZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3BvaW50cycsICIwLDIwMCAx
MDAsMjAwIDUwLDI2MCIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2Vy
dmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYwKTsK
KyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1
bmN0aW9uIHRlc3Q3KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
cG9seWxpbmUnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0
ZXN0Nzogb2JzZXJ2ZSBzdmc6cG9seWxpbmUiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0
cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdwb2ludHMn
LCAiMCwzMDAgMTAwLDMwMCA1MCwzNjAiKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3Ro
LCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRo
LCAxMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVp
Z2h0LCA2MCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgp
OworfQorCitmdW5jdGlvbiB0ZXN0OCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ3JlY3QnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAor
ICAgICJ0ZXN0ODogb2JzZXJ2ZSBzdmc6cmVjdCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJu
IHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3dpZHRo
JywgIjIwIik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMjApOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMCk7CisgICAgICB9
CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0
ZXN0OSgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHQnKTsK
KyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0OTogb2JzZXJ2
ZSBzdmc6dGV4dCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBu
ZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ2ZvbnQtc2l6ZScsICIyNSIpOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgfQorICAgIH0KKyAgXSk7Cisg
IHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworCitmdW5jdGlvbiB0ZXN0MTAoKSB7CisgIGxl
dCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzdmcnKTsKKyAgbGV0IGhlbHBlciA9
IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTA6IG9ic2VydmUgc3ZnOnN2ZywgdG9w
L2xlZnQgaXMgMCBldmVuIHdpdGggcGFkZGluZyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC50b3AsIDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uY29udGVudFJlY3QubGVmdCwgMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJu
IGhlbHBlci5zdGFydCgpOworfQorCitsZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3NlcnRf
b3duX3Byb3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5bmNf
dGVzdCgnZ3VhcmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rlc3Qw
KCkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBy
ZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDMoKTsgfSkKKyAg
LnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDQoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4g
dGVzdDUoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDYoKTsgfSkKKyAgLnRoZW4o
KCkgPT4geyByZXR1cm4gdGVzdDcoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDgo
KTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDkoKTsgfSkKKyAgLnRoZW4oKCkgPT4g
eyByZXR1cm4gdGVzdDEwKCk7IH0pCisgIC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9KTsK
KworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBv
cnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjU2NDFlZWMyYzhlMDlkMTQzM2Y3ZjA1ZTlkOGIyMDJmYjNjOWQ1
ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBA
CitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0Mg
cmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0
LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0
dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBU
b29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0Rv
IE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9w
ZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBv
ZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9NRVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sCisvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVz
cy53aW5kb3cuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5o
dG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360289</attachid>
            <date>2019-01-27 03:56:37 -0800</date>
            <delta_ts>2019-01-27 05:04:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193821-20190127195635.patch</filename>
            <type>text/plain</type>
            <size>54537</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZDlkMmNlMTIxYTE4MjEy
OGFmM2M1MGI2MTVjZTlmZDFiZDkyMjQuLjQwODkyYTNlZDU5NGExY2QxZjFlMTI2YjdlNTRkMDQw
MGZiYTBlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBj
aGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2Jz
ZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMTkt
MDEtMjcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBB
WDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggOWIwZWFjYWE5YjdhNzljMjFmZGE0MGRjYmQ2
YjdkY2M3N2RhZTczYy4uMzEzZWE2NjUxN2M1MTEzYzkxNTc3YjI0MjM4M2ZlYmNmNmRmZWJhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xMzgwLDYgKzEz
ODAsMTQgQEAgUHJvY2Vzc1N3YXBPbkNyb3NzU2l0ZU5hdmlnYXRpb25FbmFibGVkOgogICBjYXRl
Z29yeTogZXhwZXJpbWVudGFsCiAgIHdlYmNvcmVCaW5kaW5nOiBub25lCiAKK1Jlc2l6ZU9ic2Vy
dmVyRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFu
UmVhZGFibGVOYW1lOiAiUmVzaXplIE9ic2VydmVyIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJFbmFibGUgUmVzaXplIE9ic2VydmVyIHN1cHBvcnQiCisgIGNhdGVnb3J5OiBleHBlcmlt
ZW50YWwKKyAgY29uZGl0aW9uOiBFTkFCTEUoUkVTSVpFX09CU0VSVkVSKQorCiAjIEZvciBpbnRl
cm5hbCBmZWF0dXJlczoKICMgVGhlIHR5cGUgc2hvdWxkIGJlIGJvb2xlYW4uCiAjIFlvdSBtdXN0
IHByb3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
IGZvciBhbGwgZGVidWcgZmVhdHVyZXMuIFRoZXkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMGI5NjcyMjMzY2Y4Mjc4YmMyZWI2YzczMzU3MjU4
OTVmYjhiNGRkLi40OGFjYmIxNDY0OWRiN2Y3MmU2MDJkMjBiYWYyNTQxZDRhMGY1YWM0IDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoVGVzdE9wdGlvbnM6OlRlc3RPcHRpb25z
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHNldFdlYlByZWZl
cmVuY2VzRm9yVGVzdE9wdGlvbnMpOgorICAgICAgICBBbGxvdyB0ZXN0cyB0byBlbmFibGUgdGhl
IFJlc2l6ZU9ic2VydmVyRW5hYmxlZCBmbGFnIGluIFdLMS4KKwogMjAxOS0wMS0yNyAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJbnRyb2R1Y2Ug
YSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHAKaW5kZXggYzkyNjYxMmIxYjE2MDRhODNjZTI2MDNiY2RhODhjZTM5ODNkMzU4ZS4uODIxNTQx
N2E5MjQ1Yzc4ZTQ5MjU2NTBmZmZmMjc4YzNkZWFkODdjNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rl
c3RPcHRpb25zLmNwcApAQCAtMTExLDYgKzExMSw4IEBAIFRlc3RPcHRpb25zOjpUZXN0T3B0aW9u
cyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgYWJzb2x1
CiAgICAgICAgICAgICBlbmFibGVDU1NMb2dpY2FsID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZh
bHVlKHZhbHVlKTsKICAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJpbnRlcm5hbDpBZENsaWNrQXR0
cmlidXRpb25FbmFibGVkIikKICAgICAgICAgICAgIGFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQg
PSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOworICAgICAgICBlbHNlIGlmIChr
ZXkgPT0gImVuYWJsZVJlc2l6ZU9ic2VydmVyIikKKyAgICAgICAgICAgIGVuYWJsZVJlc2l6ZU9i
c2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgcGFp
clN0YXJ0ID0gcGFpckVuZCArIDE7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmgKaW5kZXggYzI3ZTg0MmE0OGY1N2FjODBmNWYwNGJiYjVlNmE5MmFkMTA1ZDgxZC4uZDg4NWVk
YmRlYjA2YThiYjY3ZjRhMDFiYWYyYjJiYzUzZmM0YzdkMSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0
T3B0aW9ucy5oCkBAIC00Niw2ICs0Niw3IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9v
bCBlbmFibGVXZWJHUFUgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxlQ1NTTG9naWNhbCB7IGZh
bHNlIH07CiAgICAgYm9vbCBhZENsaWNrQXR0cmlidXRpb25FbmFibGVkIHsgZmFsc2UgfTsKKyAg
ICBib29sIGVuYWJsZVJlc2l6ZU9ic2VydmVyIHsgZmFsc2UgfTsKICAgICBzdGQ6OnN0cmluZyBq
c2NPcHRpb25zOwogCiAgICAgVGVzdE9wdGlvbnMoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGhPclVS
TCwgY29uc3Qgc3RkOjpzdHJpbmcmIGFic29sdXRlUGF0aCk7CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggZDNmNThjNzdkMjlmNGRlZDhlOWQ0NDlmODhm
NGEzNTAxZmQxMmQ0ZS4uZTY2YzA1ZjNmZDFkM2Y3MzcyMzJhYjZlMzEyMzI3OWM0NDc2NmVhOCAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpAQCAtMTAxMiw2
ICsxMDEyLDcgQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyhj
b25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKICAgICBwcmVmZXJlbmNlcy53ZWJHUFVFbmFibGVk
ID0gb3B0aW9ucy5lbmFibGVXZWJHUFU7CiAgICAgcHJlZmVyZW5jZXMuQ1NTTG9naWNhbEVuYWJs
ZWQgPSBvcHRpb25zLmVuYWJsZUNTU0xvZ2ljYWw7CiAgICAgcHJlZmVyZW5jZXMuYWRDbGlja0F0
dHJpYnV0aW9uRW5hYmxlZCA9IG9wdGlvbnMuYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZDsKKyAg
ICBwcmVmZXJlbmNlcy5yZXNpemVPYnNlcnZlckVuYWJsZWQgPSBvcHRpb25zLmVuYWJsZVJlc2l6
ZU9ic2VydmVyOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1wUmVuZGVyVHJlZSBzdGFydHVw
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZWMwNTc0MTJjZTM2OGJkNzQwMzZm
ZjE0MzZjNmE1Y2FmNDQ5YzdhZi4uMGJhZjJlNTBiMzcxMjQ3M2QyMWZiM2Q4YjhiMjFiZTllZjE4
MzgwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIw
MTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1l
eHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL01FVEEueW1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53
aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanM6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90
aWZ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3Vy
Y2VzL2lmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzOiBBZGRlZC4KKyAgICAg
ICAgKFJlc2l6ZVRlc3RIZWxwZXIpOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5
cGUuZ2V0IF9jdXJyZW50U3RlcCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlw
ZS5fbmV4dFN0ZXApOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuX2hhbmRs
ZU5vdGlmaWNhdGlvbik6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5faGFu
ZGxlVGltZW91dCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5fZG9uZSk6
CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5zdGFydCk6CisgICAgICAgIChS
ZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5nZXQgcmFmQ291bnQpOgorICAgICAgICAoUmVzaXpl
VGVzdEhlbHBlci5wcm90b3R5cGUuX2luY3JlbWVudFJhZik6CisgICAgICAgIChSZXNpemVUZXN0
SGVscGVyLnByb3RvdHlwZS5zdGFydENvdW50aW5nUmFmKToKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL3N2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAxOS0wMS0yNCAgQ2hhcmxlcyBW
YXphYyAgPGN2YXphY0Bha2FtYWkuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBQZXJmb3JtYW5j
ZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXgg
ZDZlZTk0MTIxY2Q2YThiNTk1YWMzMmM1NmIyOTMyZjA5NTI4MTczMy4uM2EwZGVmNjZiMGNkYjlj
MzRhZGEzN2ExOGMzMTA4ZWY2MDJjZjcyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTI5
Niw2ICsyOTYsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVtb3RlLXBsYXliYWNrIjog
InNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2siOiAi
c2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyIjogInNraXAi
LCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci8iOiAiaW1wb3J0Iiwg
CiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmciOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1w
bGF0Zm9ybS10ZXN0cy9zY3JlZW4tb3JpZW50YXRpb24iOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9NRVRBLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjY2ODU2MjJiMmFiMmUyNmNj
NjMzMGY5ODEzMGJlNWQ0MzAxYjAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvTUVUQS55bWwKQEAg
LTAsMCArMSw0IEBACitzcGVjOiBodHRwczovL3dpY2cuZ2l0aHViLmlvL1Jlc2l6ZU9ic2VydmVy
Lworc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBhdG90aWMKKyAgLSBkaG9sYmVydApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvZXZlbnRsb29wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2IyMzEwNjY0MDc3YzQ3NzdkNDE3MTIyMTU0NTMyMzU5OTNjMjE4Mwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3
IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgorUmVzaXplT2JzZXJ2ZXIgbm90aWZpY2F0aW9uIGV2
ZW50IGxvb3AgdGVzdHMKKwordDEKKworRkFJTCBSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXIiIG1p
c3NpbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42MjJkNzI0YTE5YjNkYjIwYTIxZWYyNGFiOTg1ZDg0YjdlMzViOWU1Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKQEAgLTAsMCArMSwyNTkgQEAKKzwh
ZG9jdHlwZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlc2l6
ZU9ic2VydmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVzaXplVGVz
dEhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIGRpdiB7CisgICAgYm9yZGVyOiAxcHgg
ZG90dGVkIGdyYXkKKyAgfQorPC9zdHlsZT4KKzxwPlJlc2l6ZU9ic2VydmVyIG5vdGlmaWNhdGlv
biBldmVudCBsb29wIHRlc3RzPC9wPgorPGRpdiBpZD0idGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEw
MHB4O2hlaWdodDoxMDBweDsiPnQxCis8L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgIDxk
aXYgaWQ9ImExIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4Ij4KKyAgICA8ZGl2IGlk
PSJhMiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+CisgICAgPC9kaXY+CisgIDwv
ZGl2PgorICA8ZGl2IGlkPSJiMSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+Cisg
ICAgPGRpdiBpZD0iYjIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPgorICAgIDwv
ZGl2PgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworbGV0IHQx
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDEnKTsKKworLy8gYWxsb3cgdW5jYXVn
aHQgZXhjZXB0aW9uIGJlY2F1c2UgUmVzaXplT2JzZXJ2ZXIgcG9zdHMgZXhjZXB0aW9ucworLy8g
dG8gd2luZG93IGVycm9yIGhhbmRsZXIgd2hlbiBsaW1pdCBpcyBleGNlZWRlZC4KKy8vIFRoaXMg
Y29kZXBhdGggaXMgdGVzdGVkIGluIHRoaXMgZmlsZS4KKworc2V0dXAoe2FsbG93X3VuY2F1Z2h0
X2V4Y2VwdGlvbjogdHJ1ZX0pOworCitmdW5jdGlvbiB0ZW1wbGF0ZSgpIHsKKyAgbGV0IGhlbHBl
ciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogdGl0bGUiLAorICBbCisgICAg
eworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5l
eHQgc3RlcAorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsK
K30KKwordmFyIG9uRXJyb3JDYWxsZWQgPSBmYWxzZTsKKword2luZG93Lm9uZXJyb3IgPSBlcnIg
PT4geworICBvbkVycm9yQ2FsbGVkID0gdHJ1ZTsKK30KKworZnVuY3Rpb24gdGVzdDAoKSB7CisK
KyAgbGV0IGRpdnMgPSBbdDFdOworICBsZXQgckFGID0gMDsKKyAgbGV0IGhlbHBlciA9IG5ldyBS
ZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogbXVsdGlwbGUgbm90aWZpY2F0aW9ucyBpbnNp
ZGUgc2FtZSBldmVudCBsb29wIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIG9uRXJyb3JDYWxsZWQgPSBmYWxzZTsKKyAgICAgICAgbGV0IHQyID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGxldCB0MyA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICB0Mi5hcHBlbmRDaGlsZCh0Myk7CisgICAgICAg
IHQxLmFwcGVuZENoaWxkKHQyKTsKKyAgICAgICAgZGl2cy5wdXNoKHQyKTsKKyAgICAgICAgZGl2
cy5wdXNoKHQzKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQzKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiMyBub3RpZmljYXRpb25zIik7CisgICAgICB9Cisg
ICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBoZWxwZXIu
c3RhcnRDb3VudGluZ1JhZigpOworICAgICAgICBkaXZzLmZvckVhY2goIGVsID0+IHsgZWwuc3R5
bGUud2lkdGggPSAiMTAxcHgiO30pOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIC8vIHQxIGlzIG5vdCBkZWxpdmVyZWQKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwgIjIgbm90aWZpY2F0aW9ucyIpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3VudCwgMCwgInN0aWxsIGluIHNhbWUgbG9v
cCIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsK
KyAgICAgICAgZGl2cy5mb3JFYWNoKCBlbCA9PiB7IGVsLnN0eWxlLndpZHRoID0gIjEwMnB4Ijt9
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBub3RpZmljYXRpb25zIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoaGVscGVyLnJhZkNvdW50LCAwLCAic2FtZSBsb29wIik7
CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHQxIGFuZCB0MiBnZXQgbm90aWZpZWQKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwg
IjIgbm90aWZpY2F0aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3Vu
dCwgMSwgIm5ldyBsb29wIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMob25FcnJvckNhbGxlZCwg
dHJ1ZSwgImVycm9yIHdhcyBmaXJlZCIpOworICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7
CisgICAgICAgIHdoaWxlICh0MS5jaGlsZE5vZGVzLmxlbmd0aCA+IDApCisgICAgICAgICAgdDEu
cmVtb3ZlQ2hpbGQodDEuY2hpbGROb2Rlc1swXSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAg
cmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MSgpIHsKKworICB2YXIg
cmVzaXplcnMgPSBbdDFdOworICAvLyBUZXN0aW5nIGRlcHRocyBvZiBzaGFkb3cgcm9vdHMKKyAg
Ly8gRE9NOiB0MSA8LSB0MiA8LSB0MyA8LXNoYWRvdy0gdDQgPC0gdDUKKyAgbGV0IGhlbHBlciA9
IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogZGVwdGhzIG9mIHNoYWRvdyByb290
cyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvbkVy
cm9yQ2FsbGVkID0gZmFsc2U7CisgICAgICAgIGxldCB0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworICAgICAgICB0MS5hcHBlbmRDaGlsZCh0Mik7CisgICAgICAgIHJlc2l6ZXJz
LnB1c2godDIpOworICAgICAgICBsZXQgdDMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKKyAgICAgICAgcmVzaXplcnMucHVzaCh0Myk7CisgICAgICAgIHQyLmFwcGVuZENoaWxkKHQz
KTsKKyAgICAgICAgbGV0IHNoYWRvdyA9IHQzLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9
KTsKKyAgICAgICAgbGV0IHQ0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAg
ICAgIHJlc2l6ZXJzLnB1c2godDQpOworICAgICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQodDQpOwor
ICAgICAgICBsZXQgdDUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAg
cmVzaXplcnMucHVzaCh0NSk7CisgICAgICAgIHQ0LmFwcGVuZENoaWxkKHQ1KTsKKyAgICAgICAg
cmVzaXplcnMuZm9yRWFjaCggZWwgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbCkgKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCA1LCAiYWxsIGVudHJpZXMgcmVzaXplZCIpOworICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVz
aXplcnMuZm9yRWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTExcHgiICk7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgNCwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHJlc2l6ZXJz
LmZvckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExMnB4IiApOworICAgICAgfSwKKyAg
ICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllcy5sZW5ndGgsIDMsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9CisgICAgfSwK
KyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICByZXNpemVycy5mb3JF
YWNoKCBlbCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTNweCIgKTsKKyAgICAgIH0sCisgICAgICBu
b3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXMubGVuZ3RoLCAyLCAiZGVwdGggbGltaXRlZCIpOworICAgICAgfQorICAgIH0sCisgICAg
eworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVzaXplcnMuZm9yRWFjaCgg
ZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTE0cHgiICk7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
Lmxlbmd0aCwgMSwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAg
ICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmll
cywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwg
NCwgImxpbWl0IG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhvbkVycm9y
Q2FsbGVkLCB0cnVlLCAiYnJlYWNoZWQgbGltaXQiKTsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29u
bmVjdCgpOworICAgICAgICB0MS5yZW1vdmVDaGlsZCh0MS5maXJzdENoaWxkKTsKKyAgICAgIH0K
KyAgICB9LAorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0
ZXN0MigpIHsKKyAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb250
YWluZXInKTsKKyAgbGV0IGExID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2ExJyk7CisgIGxl
dCBhMiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhMicpOworICBsZXQgYjEgPSBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCcjYjEnKTsKKyAgbGV0IGIyID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cignI2IyJyk7CisgIGxldCB0YXJnZXRzID0gW2ExLCBhMiwgYjEsIGIyXTsKKworICBsZXQgaGVs
cGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QyOiBtb3ZlIHRhcmdldCBpbiBk
b20gd2hpbGUgaW5zaWRlIGV2ZW50IGxvb3AiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAgICAgICAgIG9i
c2VydmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2Jz
ZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBkZWxheSBuZXh0IG9ic2VydmF0
aW9uCisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSB0aGVtIGFsbAorICAgICAgc2V0
dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAgICAg
ICAgIHQuc3R5bGUud2lkdGggPSAiMTEwcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVu
dHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIHRhcmdldHMubGVuZ3RoLCAiYWxsIHRhcmdldHMgb2JzZXJ2ZWQiKTsKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsgLy8gcmVzaXplIGFsbCwgbW92ZSBkb20gdXB3YXJkcworICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAgICAgICAg
IHQuc3R5bGUud2lkdGggPSAiMTMwcHgiOworICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQo
YjIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJiMiBtb3ZlZCB1cHdhcmRz
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGEyKTsKKyAgICAg
IH0KKyAgICB9LAorICAgIHsgLy8gcmVzaXplIGFsbCwgbW92ZSBkb20gZG93bndhcmRzCisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBmb3IgKGxldCB0IG9mIHRhcmdldHMpCisg
ICAgICAgICAgdC5zdHlsZS53aWR0aCA9ICIxMzBweCI7CisgICAgICAgIGEyLmFwcGVuZENoaWxk
KGIyKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiYjIgbW92ZWQgZG93bndh
cmRzIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGIyKTsKKyAg
ICAgICAgYTEuYXBwZW5kQ2hpbGQoYTIpOworICAgICAgfQorICAgIH0sCisgIF0pOworICByZXR1
cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2Vy
dF9vd25fcHJvcGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3lu
Y190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIikKKwordGVz
dDAoKQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7
IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7IGd1YXJkLmRvbmUoKTsgfSk7CisK
Kzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTdlYTMy
NzkxY2IwMDY5M2YzNzk0YTIzZDMyODRhOTI2NzljNTJmZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMwIEBACisKK0ZBSUwg
aWRsX3Rlc3Qgc2V0dXAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0
aW9uOiBVbnJlY29nbmlzZWQgdG9rZW5zLCBsaW5lIDEgKHRva2VuczogIntcImVycm9yXCI6IHtc
Im1lc3NhZ2VcIiIpCitbCisgICAgeworICAgICAgICAidHlwZSI6ICJ7IiwKKyAgICAgICAgInZh
bHVlIjogInsiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAgICAgICAg
InR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAgInZhbHVlIjogIlwiZXJyb3JcIiIsCisgICAgICAg
ICJ0cml2aWEiOiAiIgorICAgIH0sCisgICAgeworICAgICAgICAidHlwZSI6ICI6IiwKKyAgICAg
ICAgInZhbHVlIjogIjoiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAg
ICAgICAgInR5cGUiOiAieyIsCisgICAgICAgICJ2YWx1ZSI6ICJ7IiwKKyAgICAgICAgInRyaXZp
YSI6ICIgIgorICAgIH0sCisgICAgeworICAgICAgICAidHlwZSI6ICJzdHJpbmciLAorICAgICAg
ICAidmFsdWUiOiAiXCJtZXNzYWdlXCIiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9Citd
IgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVz
cy53aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDE1MWQ2YjY3NGRlMmI5MDVmY2U4N2MxMzlkMTM0
YWU4NWM4ZDNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRtbApA
QCAtMCwwICsxLDIgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVz
dCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgorPCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVzaXplT2JzZXJ2ZXJFbmFibGVkPXRydWUg
XSAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJu
ZXNzLndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5MmFm
MmUwYzA3OTE5NzQ1N2UwOTFkODRkZmRiMzc0MTcwMzM5NWUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9pZGxoYXJuZXNzLndpbmRvdy5qcwpAQCAtMCwwICsxLDM3IEBACisvLyBNRVRBOiBzY3JpcHQ9
L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lk
bGhhcm5lc3MuanMKKy8vIE1FVEE6IHNjcmlwdD1yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5q
cworCisndXNlIHN0cmljdCc7CisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vUmVzaXplT2Jz
ZXJ2ZXIvCisKK2lkbF90ZXN0KAorICBbJ1Jlc2l6ZU9ic2VydmVyJ10sCisgIFsnZG9tJywgJ2dl
b21ldHJ5J10sCisgIGFzeW5jIGlkbF9hcnJheSA9PiB7CisgICAgaWRsX2FycmF5LmFkZF9vYmpl
Y3RzKHsKKyAgICAgIFJlc2l6ZU9ic2VydmVyOiBbJ29ic2VydmVyJ10sCisgICAgICBSZXNpemVP
YnNlcnZlckVudHJ5OiBbJ2VudHJ5J10sCisgICAgfSk7CisKKyAgICBjb25zdCBkaXYgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGRpdik7CisgICAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICAgIlJl
c2l6ZU9ic2VydmVyRW50cnkgY3JlYXRvciIsCisgICAgICBbCisgICAgICAgIHsKKyAgICAgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICAgICAgc2VsZi5vYnNlcnZlciA9IG9ic2Vy
dmVyOworICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkaXYpOworICAgICAgICAgICAgZGl2
LnN0eWxlLndpZHRoID0gIjVweCI7CisgICAgICAgICAgfSwKKyAgICAgICAgICBub3RpZnk6IGVu
dHJpZXMgPT4geworICAgICAgICAgICAgc2VsZi5lbnRyeSA9IGVudHJpZXNbMF07CisgICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDUsICJ0YXJn
ZXQgd2lkdGgiKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIF0pOworICAgIGF3YWl0
IGhlbHBlci5zdGFydCgpOworICB9CispOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL25vdGlmeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUzMjc4NDFkYjZmOTZl
ODQxOWQzOTkyMWY1MTdiZDc0MTgxYzAyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUwOiBS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6
ZU9ic2VydmVyIHRlc3RzCisKK3QxCit0MgordDMgaW5saW5lCisKK0hhcm5lc3MgRXJyb3IgKEZB
SUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJlc2l6
ZU9ic2VydmVyCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQgYXNzZXJ0X293bl9w
cm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmVyIiBtaXNzaW5nCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL25vdGlmeS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjEw
MzhhM2NiNjhiYTBlNDg2NDQxNmVhODgxYWFjMDI0M2Y4ZGUxYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL25vdGlmeS5odG1sCkBAIC0wLDAgKzEsMzUxIEBACis8IWRvY3R5cGUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpSZXNpemVPYnNlcnZlckVuYWJsZWQ9dHJ1
ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorICBkaXYgeworICAgIGJvcmRlcjogMXB4IGRvdHRlZCBncmF5CisgIH0KKyAg
LnRyYW5zZm9ybSB7CisgICAgdHJhbnNmb3JtOiBzY2FsZSgyLDIpIHJvdGF0ZSg5MGRlZykKKyAg
fQorPC9zdHlsZT4KKzxwPlJlc2l6ZU9ic2VydmVyIHRlc3RzPC9wPgorPGRpdiBpZD0idGFyZ2V0
MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxCisgIDxkaXYgaWQ9InRhcmdl
dDIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MgorICAgIDxkaXYgaWQ9InRh
cmdldDMiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MworICAgICAgPHNwYW4g
aWQ9ImlubGluZSI+aW5saW5lPC9zcGFuPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvZGl2Pgor
PGRpdiBpZD0iYWJzb2x1dGUiIHN0eWxlPSJ3aWR0aDoxMDAuNXB4O2hlaWdodDoxMDAuNXB4O3Bv
c2l0aW9uOmFic29sdXRlO3RvcDoxMC4zcHg7bGVmdDoxMC4zcHgiPjwvZGl2PgorPHNjcmlwdD4K
Kyd1c2Ugc3RyaWN0JzsKKworbGV0IHQxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3Rhcmdl
dDEnKTsKK2xldCB0MiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQyJyk7CitsZXQg
dDMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MycpOworbGV0IGFicyA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJyNhYnNvbHV0ZScpOworbGV0IGlubGluZSA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJyNpbmxpbmUnKTsKKworZnVuY3Rpb24gdGVzdDAoKSB7CisgIGxldCBoZWxw
ZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IG5vdGlmaWNhdGlvbiBvcmRl
cmluZyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBv
YnNlcnZlci5vYnNlcnZlKHQzKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI1cHgi
OworICAgICAgICB0My5zdHlsZS53aWR0aCA9ICI1cHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0
aCA9ICI1cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDMsICIzIHJlc2l6ZXMi
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDMsICJvcmRlcmlu
ZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMV0udGFyZ2V0LCB0MiwgIm9yZGVy
aW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1syXS50YXJnZXQsIHQxLCAib3Jk
ZXJpbmciKTsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgICAgICB0MS5zdHls
ZS53aWR0aCA9ICIxMDBweCI7CisgICAgICAgIHQyLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAg
ICAgICAgdDMuc3R5bGUud2lkdGggPSAiMTAwcHgiOworICAgICAgfQorICAgIH0KKyAgXSk7Cisg
IHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEoKSB7CisgIGxldCBo
ZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE6IGRpc3BsYXk6bm9uZSB0
cmlnZ2VycyBub3RpZmljYXRpb24iLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVy
ID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBE
ZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIHQxLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgdDEuc3R5bGUu
ZGlzcGxheSA9ICIiOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3Rh
cnQoKTsKK30KKworCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNp
emVUZXN0SGVscGVyKAorICAgICJ0ZXN0MjogcmVtb3ZlL2FwcGVuZENoaWxkIHRyaWdnZXIgbm90
aWZpY2F0aW9uIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBz
dGVwCisgICAgICB9CisgICAgfSwKKyAgICB7IC8vICJyZW1vdmVDaGlsZCB0cmlnZ2VycyBub3Rp
ZmljYXRpb24iCisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0MS5wYXJlbnRO
b2RlLnJlbW92ZUNoaWxkKHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBv
YnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0
MSk7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9Cisg
ICAgfSwKKyAgICB7IC8vICJhcHBlbmRDaGlsZCB0cmlnZ2VycyBub3RpZmljYXRpb24iLAorICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZCh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDEpCisgICAgICB9Cisg
ICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCisKK2Z1bmN0aW9uIHRl
c3QzKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Qz
OiBkaW1lbnNpb25zIG1hdGNoIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0
aCA9ICIyMDAuNXB4IjsKKyAgICAgICAgdDEuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAgICAg
ICAgdDEuc3R5bGUucGFkZGluZ0xlZnQgPSAiMjBweCI7CisgICAgICAgIHQxLnN0eWxlLnBhZGRp
bmdUb3AgPSAiMTBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lmxl
ZnQsMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QudG9w
LDEwKTsKKyAgICAgICAgYXNzZXJ0X2JldHdlZW5faW5jbHVzaXZlKGVudHJpZXNbMF0uY29udGVu
dFJlY3Qud2lkdGgsIDIwMC40LCAyMDAuNiwgIndpZHRoIGlzIG5vdCByb3VuZGVkIik7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwMCk7Cisg
ICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5j
dGlvbiB0ZXN0NCgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAg
ICJ0ZXN0NDogdHJhbnNmb3JtIGRvIG5vdCBjYXVzZSBub3RpZmljYXRpb25zIiwKKyAgWworICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUo
dDIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIHJldHVybiB0cnVlOyAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQyLmNsYXNzTGlzdC5h
ZGQoInRyYW5zZm9ybSIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2Vy
dmVyKSA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoInRyYW5zZm9ybSBtdXN0IG5vdCB0
cmlnZ2VyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7
CisgICAgICAgIHQyLmNsYXNzTGlzdC5yZW1vdmUoInRyYW5zZm9ybSIpOworICAgICAgfQorICAg
IH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDUo
KSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDU6IG1v
dmluZyBhbiBlbGVtZW50IGRvZXMgbm90IHRyaWdnZXIgbm90aWZpY2F0aW9ucyIsCisgIFsKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KGFicyk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsK
KyAgICAgICAgcmV0dXJuIHRydWU7IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0s
CisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgYWJzLnN0eWxlLnRv
cCA9ICIyMC4zM3B4IjsKKyAgICAgICAgYWJzLnN0eWxlLmxlZnQgPSAiMjAuMzNweCI7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNz
ZXJ0X3VucmVhY2hlZCgibW92ZW1lbnQgc2hvdWxkIG5vdCBjYXVzZSByZXNpemUgbm90aWZpY2F0
aW9ucyIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6ICgpID0+IHsKKyAgICAgIH0KKyAgICB9
CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q2KCkg
eworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q2OiBpbmxp
bmUgZWxlbWVudCBkb2VzIG5vdCBub3RpZnkiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShpbmxpbmUpOworICAgICAgICBv
YnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiNjZweCI7Cisg
ICAgICAgIGlubGluZS5zdHlsZS53aWR0aCA9ICI2NnB4IjsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXMubGVuZ3RoLCAxLCAiaW5saW5lIGVsZW1lbnRzIG11c3Qgbm90IHRyaWdnZXIgbm90aWZpY2F0
aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSwgImlu
bGluZSBlbGVtZW50cyBtdXN0IG5vdCB0cmlnZ2VyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeyAv
LyAiaW5saW5lIGVsZW1lbnQgdGhhdCBiZWNvbWVzIGJsb2NrIHNob3VsZCBub3RpZnkiLAorICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgaW5saW5lLnN0eWxlLmRpc3BsYXkgPSAi
YmxvY2siOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGlubGluZSk7CisgICAg
ICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlv
biB0ZXN0NygpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0
ZXN0NzogdW5vYnNlcnZlIGluc2lkZSBub3RpZnkgY2FsbGJhY2siLAorICBbCisgICAgeworICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVu
dHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjc3N3B4IjsK
KyAgICAgICAgdDIuc3R5bGUud2lkdGggPSAiNzc3cHgiOworICAgICAgICBvYnNlcnZlci51bm9i
c2VydmUodDEpOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAg
ICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiBpcyBvYnNlcnZlZCIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MiwgIm9ubHkgdDIgaXMgb2JzZXJ2
ZWQiKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9
CisKK2Z1bmN0aW9uIHRlc3Q4KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxw
ZXIoCisgICAgInRlc3Q4OiBvYnNlcnZlIGluc2lkZSBub3RpZnkgY2FsbGJhY2siLAorICBbCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsK
KyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAgIHQyLnN0eWxlLndpZHRoID0g
Ijg4OHB4IjsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAg
IH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIm9ubHkgdDIgaXMgb2JzZXJ2ZWQiKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDIsICJvbmx5IHQyIGlzIG9ic2VydmVk
Iik7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQor
CitmdW5jdGlvbiB0ZXN0OSgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVy
KAorICAgICJ0ZXN0OTogZGlzY29ubmVjdCBpbnNpZGUgbm90aWZ5IGNhbGxiYWNrIiwKKyAgWwor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2Vy
dmUodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7
CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjk5OXB4IjsKKyAgICAgICAgb2JzZXJ2ZXIuZGlz
Y29ubmVjdCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAg
ICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
dW5yZWFjaGVkKCJ0aGVyZSBzaG91bGQgYmUgbm8gbm90aWZpY2F0aW9ucyBhZnRlciBkaXNjb25u
ZWN0Iik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgfQorICAgIH0K
KyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEwKCkg
eworICB2YXIgcGFyZW50ID0gdDEucGFyZW50Tm9kZTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNp
emVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTA6IGVsZW1lbnQgbm90aWZpZXMgd2hlbiBwYXJlbnQg
cmVtb3ZlZCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKHQzKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVz
LCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3Rl
cAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgdDEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0MSk7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQs
IHQzKTsKKyAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHQxKTsKKyAgICAgIH0KKyAgICB9Cisg
IF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9
PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAg
Z3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVu
dGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAu
dGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0
ZXN0MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NCgpOyB9KQorICAudGhlbigo
KSA9PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0Nigp
OyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NygpOyB9KQorICAudGhlbigoKSA9PiB7
IHJldHVybiB0ZXN0OCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0OSgpOyB9KQor
ICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MTAoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFy
ZC5kb25lKCk7IH0pOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvb2JzZXJ2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzUwMDNlMDZkMzUz
NzUxMGE4NjU5YzZiNGI0MzRjZDcwMTgyMzdlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2Vy
dmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUw
OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jl
c2l6ZU9ic2VydmVyIHRlc3RzCisKK3QxCit0MgorIAorCitGQUlMIFJlc2l6ZU9ic2VydmVyIGlt
cGxlbWVudGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVP
YnNlcnZlciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNl
cnZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM0NTkyZDQ1OTQ2YzE5YmZhODJlN2E2ZDcwYTg4MmQwMGIy
OWU4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbApAQCAtMCwwICsxLDIwNyBA
QAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6
UmVzaXplT2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZXNp
emVUZXN0SGVscGVyLmpzIj48L3NjcmlwdD4KKzxwPlJlc2l6ZU9ic2VydmVyIHRlc3RzPC9wPgor
PGRpdiBpZD0idGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxPC9k
aXY+Cis8ZGl2IGlkPSJ0YXJnZXQyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+
dDI8L2Rpdj4KKzxpbWcgaWQ9InRhcmdldDMiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAw
cHg7Ij4KKzxpZnJhbWUgc3JjPSIuL3Jlc291cmNlcy9pZnJhbWUuaHRtbCIgd2lkdGg9IjMwMHB4
IiBoZWlnaHQ9IjEwMHB4IiBzdHlsZT0iZGlzcGxheTpibG9jayI+PC9pZnJhbWU+Cis8c2NyaXB0
PgorJ3VzZSBzdHJpY3QnOworCitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFy
Z2V0MScpOworbGV0IHQyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDInKTsKKwor
Ly8gYWxsb3cgdW5jYXVnaHQgZXhjZXB0aW9uIGJlY2F1c2UgUmVzaXplT2JzZXJ2ZXIgcG9zdHMg
ZXhjZXB0aW9ucworLy8gdG8gd2luZG93IGVycm9yIGhhbmRsZXIgd2hlbiBsaW1pdCBpcyBleGNl
ZWRlZC4KK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rp
b24gdGVzdDAoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAi
dGVzdDA6IHNpbXBsZSBvYnNlcnZhdGlvbiIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2Jz
ZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5
bGUud2lkdGggPSAiNXB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4gewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBwZW5kaW5nIG5vdGlm
aWNhdGlvbiIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSwg
InRhcmdldCBpcyB0MSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVu
dFJlY3Qud2lkdGgsIDUsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOwor
ICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICBsZXQg
aGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBtdWx0aXBsZSBvYnNl
cnZhdGlvbiBvbiBzYW1lIGVsZW1lbnQgdHJpZ2dlciBvbmx5IG9uZSIsCisgIFsKKyAgICB7Cisg
ICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsK
KyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0g
IjEwcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7
CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitm
dW5jdGlvbiB0ZXN0MigpIHsKKyAgdGVzdCgoKSA9PiB7CisgICAgICBhc3NlcnRfdGhyb3dzKHtu
YW1lOiAiVHlwZUVycm9yIn0sIF89PiB7CisgICAgICAgIGxldCBybyA9IG5ldyBSZXNpemVPYnNl
cnZlcigoKSA9PiB7fSk7CisgICAgICAgIHJvLm9ic2VydmUoe30pOworICAgICAgfSk7CisgICAg
fSwKKyAgICAidGVzdDI6IHRocm93IGV4Y2VwdGlvbiB3aGVuIG9ic2VydmluZyBub24tZWxlbWVu
dCIKKyAgKTsKKyAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOworfQorCitmdW5jdGlvbiB0ZXN0
MygpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0Mzog
ZGlzY29ubmVjdCBzdG9wcyBhbGwgbm90aWZpY2F0aW9ucyIsIFsKKyAgICB7CisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAg
b2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAg
ICAgICAgdDEuc3R5bGUud2lkdGggPSAiMzBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBl
bnRyaWVzID0+IHsKKyAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIm5vIGVudHJpZXMgc2hvdWxk
IGJlIG9ic2VydmVkIik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAg
ICAvLyBleHBlY3RlZAorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3Rh
cnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDQoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXpl
VGVzdEhlbHBlcigKKyAgICAidGVzdDQ6IHVub2JzZXJ2ZSB0YXJnZXQgc3RvcHMgbm90aWZpY2F0
aW9ucywgdW5vYnNlcnZlIG5vbi1vYnNlcnZlZCBkb2VzIG5vdGhpbmciLCBbCisgICAgeworICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci51bm9ic2VydmUo
dDEpOworICAgICAgICBvYnNlcnZlci51bm9ic2VydmUoZG9jdW1lbnQuYm9keSk7CisgICAgICAg
IHQxLnN0eWxlLndpZHRoID0gIjQwcHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0aCA9ICI0MHB4
IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiIpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MiwgInQyIHdhcyBvYnNlcnZlZCIpOworICAgICAgfQor
ICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVz
dDUoKSB7CisgIGxldCB0MyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQzJyk7Cisg
IHZhciBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigidGVzdDU6IG9ic2VydmUgaW1nIixb
CisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2Jz
ZXJ2ZSh0Myk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgIH0K
KyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQzLnN0
eWxlLndpZHRoID0gIjEwMC41cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMC41KTsKKyAgICAg
IH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9u
IHRlc3Q2KCkgeworICBsZXQgcmVzb2x2ZVByb21pc2U7CisgIGxldCBwcm9taXNlID0gbmV3IFBy
b21pc2UoKHJlc29sdmUpID0+IHsKKyAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7CisgIH0p
OworICBsZXQgdGVzdCA9IGFzeW5jX3Rlc3QoJ3Rlc3Q2OiBpZnJhbWUgbm90aWZpY2F0aW9ucycp
OworICBsZXQgdGVzdFJlcXVlc3RlZCA9IGZhbHNlOworICBsZXQgaWZyYW1lID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignaWZyYW1lJyk7CisgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNz
YWdlJywgZXZlbnQgPT4geworICAgIHN3aXRjaChldmVudC5kYXRhKSB7CisgICAgY2FzZSAncmVh
ZHlUb1Rlc3QnOgorICAgICAgaWYgKCF0ZXN0UmVxdWVzdGVkKSB7CisgICAgICAgIGlmcmFtZS5j
b250ZW50V2luZG93LnBvc3RNZXNzYWdlKCdzdGFydFRlc3QnLCAnKicpOworICAgICAgICB0ZXN0
UmVxdWVzdGVkID0gdHJ1ZTsKKyAgICAgIH0KKyAgICBicmVhazsKKyAgICBjYXNlICdzdWNjZXNz
JzoKKyAgICBjYXNlICdmYWlsJzoKKyAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
KCkgPT4geworICAgICAgICB0ZXN0LnN0ZXAoICgpID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1
YWxzKGV2ZW50LmRhdGEsICdzdWNjZXNzJyk7CisgICAgICAgICAgdGVzdC5kb25lKCk7CisgICAg
ICAgICAgcmVzb2x2ZVByb21pc2UoKTsKKyAgICAgICAgfSk7CisgICAgICB9KTsKKyAgICBicmVh
azsKKyAgICB9CisgIH0sIGZhbHNlKTsKKyAgcmV0dXJuIHByb21pc2U7Cit9CisKK2Z1bmN0aW9u
IHRlc3Q3KCkgeworICBsZXQgaGFybmVzc1Rlc3QgPSBhc3luY190ZXN0KCJ0ZXN0NzogY2FsbGJh
Y2sudGhpcyIpOworICBsZXQgcmVzb2x2ZVByb21pc2U7CisgIGxldCBybyA9IG5ldyBSZXNpemVP
YnNlcnZlciggZnVuY3Rpb24oZW50cmllcywgb2JzKSAgeworICAgIGxldCBjYWxsYmFja1RoaXMg
PSB0aGlzOworICAgIHJlc29sdmVQcm9taXNlKCk7CisgICAgaGFybmVzc1Rlc3Quc3RlcCgoKSA9
PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGNhbGxiYWNrVGhpcywgcm8sICJjYWxsYmFjay50aGlz
IGlzIFJlc2l6ZU9ic2VydmVyIik7CisgICAgICBhc3NlcnRfZXF1YWxzKG9icywgcm8sICIybmQg
YXJndW1lbnQgaXMgUmVzaXplT2JzZXJ2ZXIiKTsKKyAgICAgIHJvLmRpc2Nvbm5lY3QoKTsKKyAg
ICAgIC8vIGV2ZXJ5IHJlZmVyZW5jZSB0byBSTyBtdXN0IGJlIG51bGwgYmVmb3JlIHRlc3QgY29t
cGxldGVzCisgICAgICAvLyB0byBhdm9pZCB0cmlnZ2VyaW5nIHRlc3QgbGVhay1kZXRlY3Rpb24K
KyAgICAgIHJvID0gbnVsbDsKKyAgICAgIGNhbGxiYWNrVGhpcyA9IG51bGw7CisgICAgICBvYnMg
PSBudWxsOworICAgICAgaGFybmVzc1Rlc3QuZG9uZSgpOworICAgICB9KTsKKyAgICB9CisgICk7
CisgIHJvLm9ic2VydmUodDEpOworCisgIHJldHVybiBuZXcgUHJvbWlzZSggKHJlc29sdmUsIHJl
amVjdCkgPT4geworICAgIHJlc29sdmVQcm9taXNlID0gcmVzb2x2ZTsKKyAgfSk7Cit9CisKK2xl
dCBndWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVz
aXplT2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6
ZU9ic2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7IHJldHVy
biB0ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhl
bigoKSA9PiB7IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0
NCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAudGhlbigoKSA9
PiB7IHJldHVybiB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NygpOyB9
KQorICAudGhlbigoKSA9PiB7IGd1YXJkLmRvbmUoKTsgfSk7CisKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUxODMxN2I1MjBiNjhjYmY5MmIwOWU2N2E1N2YxZWNkMjcyNDM3NDcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzOCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aGVhZD4KKyAgPHNjcmlwdCBzcmM9Ii4vcmVzaXplVGVzdEhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8cD5pZnJhbWUgdGVzdDwvcD4KKzxkaXYgaWQ9
Iml0YXJnZXQxIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDE8L2Rpdj4KKzxz
Y3JpcHQ+CisndXNlIHN0cmljdCc7CitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcj
aXRhcmdldDEnKTsKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgdGltZW91dElkID0gd2luZG93
LnNldFRpbWVvdXQoICgpID0+IHsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCdmYWls
JywgJyonKTsKKyAgfSwgUmVzaXplVGVzdEhlbHBlci5USU1FT1VUKTsKKyAgbGV0IHJvID0gbmV3
IFJlc2l6ZU9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAgICB3aW5kb3cuY2xlYXJUaW1l
b3V0KHRpbWVvdXRJZCk7CisgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgnc3VjY2Vzcycs
ICcqJyk7CisgIH0pOworICByby5vYnNlcnZlKHQxKTsKK30KK2xldCB0ZXN0U3RhcnRlZCA9IGZh
bHNlOword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihldikgewor
ICAgIHN3aXRjaChldi5kYXRhKSB7CisgICAgICAgIGNhc2UgJ3N0YXJ0VGVzdCc6CisgICAgICAg
ICAgdGVzdFN0YXJ0ZWQgPSB0cnVlOworICAgICAgICAgIHRlc3QwKCk7CisgICAgICAgIGJyZWFr
OworICAgIH0KK30pOworLy8gSG93IGRvZXMgcGFyZW50IGtub3cgd2UndmUgbG9hZGVkIHByb2Js
ZW0gaXMgc29sdmVkIGJ5CisvLyBicm9hZGNhc3RpbmcgcmVhZHlUb1Rlc3QgbWVzc2FnZSByZXBl
YXRlZGx5IHVudGlsIHRlc3Qgc3RhcnRzLgorZnVuY3Rpb24gYnJvYWRjYXN0UmVhZHkoKSB7Cisg
IGlmICghdGVzdFN0YXJ0ZWQpIHsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCdyZWFk
eVRvVGVzdCcsICcqJyk7CisgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShicm9hZGNh
c3RSZWFkeSk7CisgIH0KK30KK2Jyb2FkY2FzdFJlYWR5KCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6
ZVRlc3RIZWxwZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBjNjgxYmQ5MzMzNDU1MjkxNjcxMWJiYmUxNjdi
YzRiZDU4ODQ3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVs
cGVyLmpzCkBAIC0wLDAgKzEsMTQ4IEBACisndXNlIHN0cmljdCc7CisKKy8qKgorICBSZXNpemVU
ZXN0SGVscGVyIGlzIGEgZnJhbWV3b3JrIHRvIHRlc3QgUmVzaXplT2JzZXJ2ZXIKKyAgbm90aWZp
Y2F0aW9ucy4gVXNlIGl0IHRvIG1ha2UgYXNzZXJ0aW9ucyBhYm91dCBSZXNpemVPYnNlcnZlckVu
dHJpZXMuCisgIFRoaXMgZnJhbWV3b3JrIGlzIG5lZWRlZCBiZWNhdXNlIFJlc2l6ZU9ic2VydmF0
aW9ucyBhcmUKKyAgZGVsaXZlcmVkIGFzeW5jaHJvbm91c2x5IGluc2lkZSB0aGUgZXZlbnQgbG9v
cC4KKworICBGZWF0dXJlczoKKyAgLSBjYW4gcXVldWUgbXVsdGlwbGUgbm90aWZpY2F0aW9uIHN0
ZXBzIGluIGEgdGVzdAorICAtIGhhbmRsZXMgdGltZW91dHMKKyAgLSByZXR1cm5zIFByb21pc2Ug
dGhhdCBpcyBmdWxsZmlsbGVkIHdoZW4gdGVzdCBjb21wbGV0ZXMuCisgICAgVXNlIHRvIGNoYWlu
IHRlc3RzIChzaW5jZSBwYXJhbGxlbCBhc3luYyBSZXNpemVPYnNlcnZlciB0ZXN0cworICAgIHdv
dWxkIGNvbmZsaWN0IGlmIHJldXNpbmcgc2FtZSBET00gZWxlbWVudHMpLgorCisgIFVzYWdlOgor
CisgIGNyZWF0ZSBSZXNpemVUZXN0SGVscGVyIGZvciBldmVyeSB0ZXN0LgorICBNYWtlIGFzc2Vy
dGlvbnMgaW5zaWRlIG5vdGlmeSwgdGltZW91dCBjYWxsYmFja3MuCisgIFN0YXJ0IHRlc3RzIHdp
dGggaGVscGVyLnN0YXJ0KCkKKyAgQ2hhaW4gdGVzdHMgd2l0aCBQcm9taXNlcy4KKyAgQ291bnRz
IGFuaW1hdGlvbiBmcmFtZXMsIHNlZSBzdGFydENvdW50aW5nUmFmCisqLworCisvKgorICBAcGFy
YW0gbmFtZTogdGVzdCBuYW1lCisgIEBwYXJhbSBzdGVwczoKKyAgeworICAgIHNldHVwOiBmdW5j
dGlvbihSZXNpemVPYnNlcnZlcikgeworICAgICAgLy8gY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcg
b2YgdGhlIHRlc3Qgc3RlcAorICAgICAgLy8geW91ciBvYnNlcnZlL3Jlc2l6ZSBjb2RlIGdvZXMg
aGVyZQorICAgIH0sCisgICAgbm90aWZ5OiBmdW5jdGlvbihlbnRyaWVzLCBvYnNlcnZlcikgewor
ICAgICAgLy8gUmVzaXplT2JzZXJ2ZXIgY2FsbGJhY2suCisgICAgICAvLyBNYWtlIGFzc2VydGlv
bnMgaGVyZS4KKyAgICAgIC8vIFJldHVybiB0cnVlIGlmIG5leHQgc3RlcCBzaG91bGQgc3RhcnQg
b24gdGhlIG5leHQgZXZlbnQgbG9vcC4KKyAgICB9LAorICAgIHRpbWVvdXQ6IGZ1bmN0aW9uKCkg
eworICAgICAgLy8gRGVmaW5lIHRoaXMgaWYgeW91ciB0ZXN0IGV4cGVjdHMgdG8gdGltZSBvdXQu
CisgICAgICAvLyBJZiB1bmRlZmluZWQsIHRpbWVvdXQgaXMgYXNzZXJ0X3VucmVhY2hlZC4KKyAg
ICB9CisgIH0KKyovCitmdW5jdGlvbiBSZXNpemVUZXN0SGVscGVyKG5hbWUsIHN0ZXBzKQorewor
ICAgIHRoaXMuX25hbWUgPSBuYW1lOworICAgIHRoaXMuX3N0ZXBzID0gc3RlcHMgfHwgW107Cisg
ICAgdGhpcy5fc3RlcElkeCA9IC0xOworICAgIHRoaXMuX2hhcm5lc3NUZXN0ID0gbnVsbDsKKyAg
ICB0aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcih0aGlzLl9oYW5kbGVOb3RpZmlj
YXRpb24uYmluZCh0aGlzKSk7CisgICAgdGhpcy5fdGltZW91dEJpbmQgPSB0aGlzLl9oYW5kbGVU
aW1lb3V0LmJpbmQodGhpcyk7CisgICAgdGhpcy5fbmV4dFN0ZXBCaW5kID0gdGhpcy5fbmV4dFN0
ZXAuYmluZCh0aGlzKTsKK30KKworUmVzaXplVGVzdEhlbHBlci5USU1FT1VUID0gMTAwOworCitS
ZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZSA9IHsKKyAgZ2V0IF9jdXJyZW50U3RlcCgpIHsKKyAg
ICByZXR1cm4gdGhpcy5fc3RlcHNbdGhpcy5fc3RlcElkeF07CisgIH0sCisKKyAgX25leHRTdGVw
OiBmdW5jdGlvbigpIHsKKyAgICBpZiAoKyt0aGlzLl9zdGVwSWR4ID09IHRoaXMuX3N0ZXBzLmxl
bmd0aCkKKyAgICAgIHJldHVybiB0aGlzLl9kb25lKCk7CisgICAgdGhpcy5fdGltZW91dElkID0g
dGhpcy5faGFybmVzc1Rlc3Quc3RlcF90aW1lb3V0KAorICAgICAgdGhpcy5fdGltZW91dEJpbmQs
IFJlc2l6ZVRlc3RIZWxwZXIuVElNRU9VVCk7CisgICAgdHJ5IHsKKyAgICAgIHRoaXMuX3N0ZXBz
W3RoaXMuX3N0ZXBJZHhdLnNldHVwKHRoaXMuX29ic2VydmVyKTsKKyAgICB9CisgICAgY2F0Y2go
ZXJyKSB7CisgICAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgICAgYXNz
ZXJ0X3VucmVhY2hlZCgiQ2F1Z2h0IGEgdGhyb3csIHBvc3NpYmxlIHN5bnRheCBlcnJvciIpOwor
ICAgICAgfSk7CisgICAgfQorICB9LAorCisgIF9oYW5kbGVOb3RpZmljYXRpb246IGZ1bmN0aW9u
KGVudHJpZXMpIHsKKyAgICBpZiAodGhpcy5fdGltZW91dElkKSB7CisgICAgICB3aW5kb3cuY2xl
YXJUaW1lb3V0KHRoaXMuX3RpbWVvdXRJZCk7CisgICAgICBkZWxldGUgdGhpcy5fdGltZW91dElk
OworICAgIH0KKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgIGxldCBy
YWZEZWxheSA9IHRoaXMuX2N1cnJlbnRTdGVwLm5vdGlmeShlbnRyaWVzLCB0aGlzLl9vYnNlcnZl
cik7CisgICAgICBpZiAocmFmRGVsYXkpCisgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9u
RnJhbWUodGhpcy5fbmV4dFN0ZXBCaW5kKTsKKyAgICAgIGVsc2UKKyAgICAgICAgdGhpcy5fbmV4
dFN0ZXAoKTsKKyAgICB9KTsKKyAgfSwKKworICBfaGFuZGxlVGltZW91dDogZnVuY3Rpb24oKSB7
CisgICAgZGVsZXRlIHRoaXMuX3RpbWVvdXRJZDsKKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVw
KCgpID0+IHsKKyAgICAgIGlmICh0aGlzLl9jdXJyZW50U3RlcC50aW1lb3V0KSB7CisgICAgICAg
IHRoaXMuX2N1cnJlbnRTdGVwLnRpbWVvdXQoKTsKKyAgICAgIH0KKyAgICAgIGVsc2UgeworICAg
ICAgICBhc3NlcnRfdW5yZWFjaGVkKCJUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZpY2F0aW9u
LiAoIiArIFJlc2l6ZVRlc3RIZWxwZXIuVElNRU9VVCArICJtcykiKTsKKyAgICAgIH0KKyAgICAg
IHRoaXMuX25leHRTdGVwKCk7CisgICAgfSk7CisgIH0sCisKKyAgX2RvbmU6IGZ1bmN0aW9uKCkg
eworICAgIHRoaXMuX29ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICBkZWxldGUgdGhpcy5fb2Jz
ZXJ2ZXI7CisgICAgdGhpcy5faGFybmVzc1Rlc3QuZG9uZSgpOworICAgIGlmICh0aGlzLl9yYWZD
b3VudFJlcXVlc3QpIHsKKyAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9y
YWZDb3VudFJlcXVlc3QpOworICAgICAgZGVsZXRlIHRoaXMuX3JhZkNvdW50UmVxdWVzdDsKKyAg
ICB9CisgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7IHRoaXMuX3Jlc29s
dmVQcm9taXNlKCk7IH0pOworICB9LAorCisgIHN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlz
Ll9oYXJuZXNzVGVzdCA9IGFzeW5jX3Rlc3QodGhpcy5fbmFtZSk7CisgICAgdGhpcy5faGFybmVz
c1Rlc3Quc3RlcCgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHRoaXMuX3N0ZXBJZHgsIC0x
LCAic3RhcnQgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UiKTsKKyAgICAgIHRoaXMuX25leHRTdGVw
KCk7CisgICAgfSk7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKCAocmVzb2x2ZSwgcmVqZWN0KSA9
PiB7CisgICAgICB0aGlzLl9yZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7CisgICAgICB0aGlzLl9y
ZWplY3RQcm9taXNlID0gcmVqZWN0OworICAgIH0pOworICB9LAorCisgIGdldCByYWZDb3VudCgp
IHsKKyAgICBpZiAoIXRoaXMuX3JhZkNvdW50UmVxdWVzdCkKKyAgICAgIHRocm93ICJyQUYgY291
bnQgaXMgbm90IGFjdGl2ZSI7CisgICAgcmV0dXJuIHRoaXMuX3JhZkNvdW50OworICB9LAorCisg
IF9pbmNyZW1lbnRSYWY6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9yYWZDb3VudFJlcXVl
c3QpIHsKKyAgICAgIHRoaXMuX3JhZkNvdW50Kys7CisgICAgICB0aGlzLl9yYWZDb3VudFJlcXVl
c3QgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3JlbWVudFJhZkJpbmQp
OworICAgIH0KKyAgfSwKKworICBzdGFydENvdW50aW5nUmFmOiBmdW5jdGlvbigpIHsKKyAgICBp
ZiAodGhpcy5fcmFmQ291bnRSZXF1ZXN0KQorICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZy
YW1lKHRoaXMuX3JhZkNvdW50UmVxdWVzdCk7CisgICAgaWYgKCF0aGlzLl9pbmNyZW1lbnRSYWZC
aW5kKQorICAgICAgdGhpcy5faW5jcmVtZW50UmFmQmluZCA9IHRoaXMuX2luY3JlbWVudFJhZi5i
aW5kKHRoaXMpOworICAgIHRoaXMuX3JhZkNvdW50ID0gMDsKKyAgICB0aGlzLl9yYWZDb3VudFJl
cXVlc3QgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3JlbWVudFJhZkJp
bmQpOworICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWYzN2NlYTVmYzA2NGFkYTc5
YWNlYzBkZjNjMzhmMTZmYWMwMTM4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE4IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rv
cnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkg
dGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCBy
ZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZv
cm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVz
dHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMg
ZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJl
Zml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoK
K05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZy
YW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvc3ZnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGNm
ODM2ZTVmMjBhYWEzOGIxN2YzMGQ0Y2EyZGFhYjRlY2EwMzMzMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL3N2Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgNTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVPYnNlcnZl
cgorUmVzaXplT2JzZXJ2ZXIgc3ZnIHRlc3RzCisKK0hlcmUgaXMgYSBwYXJhZ3JhcGggdGhhdCBy
ZXF1aXJlcyB3b3JkIHdyYXAKKworc3ZnIHRleHQgdGFnCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIg
aW1wbGVtZW50ZWQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6
ZU9ic2VydmVyIiBtaXNzaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDllNWMxOTUzZWMyNzhlOTIxNzY5ZGM5MjQyMGM3OWNmN2YwMDM0NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1sCkBAIC0wLDAgKzEsMzMzIEBACis8IWRvY3R5
cGUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpSZXNpemVPYnNl
cnZlckVuYWJsZWQ9dHJ1ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHA+UmVzaXplT2JzZXJ2ZXIgc3ZnIHRlc3RzPC9wPgorPHN2ZyBo
ZWlnaHQ9IjQzMCIgd2lkdGg9IjUwMCIgPgorICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjEwIiByPSI1
IiBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIiAvPgorICA8
ZWxsaXBzZSBjeD0iMTAiIGN5PSIzMCIgcng9IjUiIHJ5PSI1IiBzdHlsZT0iZmlsbDpvcmFuZ2U7
c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIi8+CisgIDxmb3JlaWduT2JqZWN0IGN5PSI1MCIg
d2lkdGg9IjEwMCIgaGVpZ2h0PSIyMCI+CisgICAgPGJvZHk+CisgICAgICA8cD5IZXJlIGlzIGEg
cGFyYWdyYXBoIHRoYXQgcmVxdWlyZXMgd29yZCB3cmFwPC9wPgorICAgIDwvYm9keT4KKyAgPC9m
b3JlaWduT2JqZWN0PgorICA8aW1hZ2UgeGxpbms6aHJlZj0iIiB4PSIwIiB5PSIxMDAiIGhlaWdo
dD0iMzAiIHdpZHRoPSIxMDAiIC8+CisgIDxsaW5lIHgxPSIwIiB5MT0iNTAiIHgyPSIyMCIgeTI9
IjcwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiLz4KKyAgPHBhdGggZD0iTSAwIDEw
MCBMIDEwMCAxMDAgTCA1MCAxNTAgeiIKKyAgICAgICAgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9r
ZTpibGFjaztzdHJva2Utd2lkdGg6MSIgLz4KKyAgPHBvbHlnb24gcG9pbnRzPSIwLDIwMCAxMDAs
MjAwIDUwLDI1MCIgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJva2Utd2lkdGg6
MSIgLz4KKyAgPHBvbHlsaW5lIHBvaW50cz0iMCwzMDAgMTAwLDMwMCA1MCwzNTAiIHN0eWxlPSJm
aWxsOm9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEiLz4KKyAgPHJlY3QgeD0iMCIg
eT0iMzgwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHN0eWxlPSJmaWxsOm9yYW5nZTsgc3Ryb2tl
OmJsYWNrOyBzdHJva2Utd2lkdGg6MSIgLz4KKyAgPHRleHQgeD0iMCIgeT0iNDAwIiBmb250LXNp
emU9IjIwIj5zdmcgdGV4dCB0YWc8L3RleHQ+Cis8L3N2Zz4KKzxzY3JpcHQ+CisndXNlIHN0cmlj
dCc7CisKK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rp
b24gdGVzdDAoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdjaXJj
bGUnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDog
b2JzZXJ2ZSBzdmc6Y2lyY2xlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBu
b3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8v
IERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncicsIDEwKTsKKyAgICAg
IH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICBsZXQgdGFy
Z2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZWxsaXBzZScpOworICBsZXQgaGVscGVyID0g
bmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBvYnNlcnZlIHN2ZzplbGxpcHNlIiwK
KyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAg
ICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAg
dGFyZ2V0LnNldEF0dHJpYnV0ZSgncngnLCAxMCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxl
bmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53
aWR0aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
aGVpZ2h0LCAxMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ2ZvcmVpZ25PYmplY3QnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVU
ZXN0SGVscGVyKAorICAgICJ0ZXN0Mjogb2JzZXJ2ZSBzdmc6Zm9yZWlnbk9iamVjdCIsCisgIFsK
KyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNl
cnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0K
KyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdl
dC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgMjAwKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lndp
ZHRoLCAyMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
aGVpZ2h0LCAyMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0MygpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ2ltYWdlJyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBl
cigKKyAgICAidGVzdDM6IG9ic2VydmUgc3ZnOmltYWdlIiwKKyAgWworICAgIHsKKyAgICAgIHNl
dHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAg
ICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBy
ZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgewor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgn
aGVpZ2h0JywgNDApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVy
KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDQwKTsKKyAg
ICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0
aW9uIHRlc3Q0KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGlu
ZScpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q0OiBv
YnNlcnZlIHN2ZzpsaW5lIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERl
bGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgneTInLCA4MCk7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC53aWR0aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAzMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAg
cmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NSgpIHsKKyAgbGV0IHRh
cmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3BhdGgnKTsKKyAgbGV0IGhlbHBlciA9IG5l
dyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0NTogb2JzZXJ2ZSBzdmc6cGF0aCIsCisgIFsK
KyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNl
cnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0K
KyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdl
dC5zZXRBdHRyaWJ1dGUoJ2QnLCAiTSAwIDEwMCBMIDEwMCAxMDAgTCA1MCAxNjAgeiIpOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYwKTsKKyAgICAgIH0KKyAgICB9CisgIF0p
OworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q2KCkgeworICBs
ZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncG9seWdvbicpOworICBsZXQgaGVs
cGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q2OiBvYnNlcnZlIHN2ZzpwYXRo
IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBv
YnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAor
ICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAg
ICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncG9pbnRzJywgIjAsMjAwIDEwMCwyMDAgNTAsMjYwIik7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNjApOworICAgICAgfQorICAgIH0K
KyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDcoKSB7
CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdwb2x5bGluZScpOworICBs
ZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q3OiBvYnNlcnZlIHN2
Zzpwb2x5bGluZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBu
ZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3BvaW50cycsICIwLDMwMCAxMDAsMzAw
IDUwLDM2MCIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYwKTsKKyAgICAg
IH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9u
IHRlc3Q4KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncmVjdCcp
OworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q4OiBvYnNl
cnZlIHN2ZzpyZWN0IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5
IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVy
ID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAiMjAiKTsKKyAgICAg
IH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAyMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOwor
ICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q5KCkgeworICBsZXQg
dGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGV4dCcpOworICBsZXQgaGVscGVyID0g
bmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q5OiBvYnNlcnZlIHN2Zzp0ZXh0IiwKKyAg
WworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9i
c2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZl
cikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFy
Z2V0LnNldEF0dHJpYnV0ZSgnZm9udC1zaXplJywgIjI1Iik7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzLmxlbmd0aCwgMSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5z
dGFydCgpOworfQorCisKK2Z1bmN0aW9uIHRlc3QxMCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RI
ZWxwZXIoCisgICAgInRlc3QxMDogb2JzZXJ2ZSBzdmc6c3ZnLCB0b3AvbGVmdCBpcyAwIGV2ZW4g
d2l0aCBwYWRkaW5nIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMu
bGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0
LnRvcCwgMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5s
ZWZ0LCAwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7
Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2lu
ZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOwor
fSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9
PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9
KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJl
dHVybiB0ZXN0NCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAu
dGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0
ZXN0NygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0OCgpOyB9KQorICAudGhlbigo
KSA9PiB7IHJldHVybiB0ZXN0OSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MTAo
KTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOworCis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTY0MWVlYzJjOGUwOWQxNDMzZjdmMDVlOWQ4YjIwMmZiM2M5ZDVkNQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAKK1RoZSB0ZXN0cyBpbiB0
aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8g
Tk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVh
dGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29t
L3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1w
b3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciBy
ZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5n
IHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9y
IHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL01F
VEEueW1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5qcworL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L25vdGlmeS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360292</attachid>
            <date>2019-01-27 05:04:24 -0800</date>
            <delta_ts>2019-01-27 06:26:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193821-20190127210422.patch</filename>
            <type>text/plain</type>
            <size>63609</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZDlkMmNlMTIxYTE4MjEy
OGFmM2M1MGI2MTVjZTlmZDFiZDkyMjQuLjQwODkyYTNlZDU5NGExY2QxZjFlMTI2YjdlNTRkMDQw
MGZiYTBlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBj
aGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2Jz
ZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMTkt
MDEtMjcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBB
WDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCmluZGV4IDAwMzU2MWVhNzBkOTVhMTNlNjc1NDBkZjE3MTEwY2NiYzBlMTIwMmIu
LmExOGRmZDEyNWMyOTg0NmViM2QwZDFlOGJkNGVkYjFlNjNkYzc4NjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMS0yNyAgY2F0aGllIGNoZW4g
IDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wb3J0IFJlc2l6ZSBPYnNlcnZl
ciB0ZXN0IGNhc2VzIGZyb20gV1BUcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTkzODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVu
Y2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgcmVzaXplT2JzZXJ2
ZXJFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFJlc2l6ZU9ic2VydmVy
RW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVy
ZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE5LTAxLTI3ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmls
aXR5IHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCA1YWNhZGYxODU4ZWVjOTNm
ZTI1OTcwMGQ2Y2JjZGViOTBiOTJlNjE2Li5iMmZkOTgyOGJhMWU4MTZmMjZkNWQyOGM0ZGM4NTAz
ZDUzOGYyNGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAg
ICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJl
bmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNl
czo6cmVzaXplT2JzZXJ2ZXJFbmFibGVkKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRS
ZXNpemVPYnNlcnZlckVuYWJsZWQpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAg
ICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0No
YW5nZWQpOgorCiAyMDE5LTAxLTI0ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255
LmNvbT4KIAogICAgICAgICBNb3ZlIEZpbGVTeXN0ZW0gdG8gV1RGCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCA5YjBlYWNhYTliN2E3OWMyMWZkYTQwZGNiZDZi
N2RjYzc3ZGFlNzNjLi4zMTNlYTY2NTE3YzUxMTNjOTE1NzdiMjQyMzgzZmViY2Y2ZGZlYmEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTEzODAsNiArMTM4
MCwxNCBAQCBQcm9jZXNzU3dhcE9uQ3Jvc3NTaXRlTmF2aWdhdGlvbkVuYWJsZWQ6CiAgIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKICAgd2ViY29yZUJpbmRpbmc6IG5vbmUKIAorUmVzaXplT2JzZXJ2
ZXJFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJSZXNpemUgT2JzZXJ2ZXIiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
bjogIkVuYWJsZSBSZXNpemUgT2JzZXJ2ZXIgc3VwcG9ydCIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1l
bnRhbAorICBjb25kaXRpb246IEVOQUJMRShSRVNJWkVfT0JTRVJWRVIpCisKICMgRm9yIGludGVy
bmFsIGZlYXR1cmVzOgogIyBUaGUgdHlwZSBzaG91bGQgYmUgYm9vbGVhbi4KICMgWW91IG11c3Qg
cHJvdmlkZSBhIGh1bWFuUmVhZGFibGVOYW1lIGFuZCBodW1hblJlYWRhYmxlRGVzY3JpcHRpb24g
Zm9yIGFsbCBkZWJ1ZyBmZWF0dXJlcy4gVGhleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNDlk
MzQyZmYyZTI3NDA0YWU4YzI2OWUyYjVhOTYwYTI2ZGYzYjk4MC4uODUyYmM2NTYwZjg3NTljOTRh
MTI2MmRmMDNmN2FiNGQxMTk5NzAzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yNjUsMyAr
MjY1LDQgQEAKICNkZWZpbmUgV2ViS2l0U2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmllc0Vu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0U2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmll
c0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdENTU0xvZ2ljYWxFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdENTU0xvZ2ljYWxFbmFibGVkIgogI2RlZmluZSBXZWJLaXRBZENsaWNrQXR0cmlidXRp
b25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQi
CisjZGVmaW5lIFdlYktpdFJlc2l6ZU9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRSZXNpemVPYnNlcnZlckVuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBlODAyYzBhNDhjZGFjZjhmYzE5M2RmNjZm
NzE3Y2EwMzFjMmU2NjY0Li40NTUxNDNkZThhODRhZmFhYmQ3NzY3NjViOWZkZTA0ZjJjMmJlZmU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0KQEAgLTY5Myw2ICs2OTMsOSBAQCBwdWJsaWM6CiAgICAgICAgIEBOTywgV2ViS2l0TWVk
aWFDYXBhYmlsaXRpZXNFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRG
ZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktp
dFNlcnZlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAorI2lmIEVOQUJMRShSRVNJWkVfT0JT
RVJWRVIpCisgICAgICAgIEBOTywgV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5j
ZUtleSwKKyNlbmRpZgogICAgICAgICBuaWxdOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
CkBAIC0zNDAxLDYgKzM0MDQsMTUgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklE
ID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0QWRDbGlj
a0F0dHJpYnV0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXJlc2l6ZU9i
c2VydmVyRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktp
dFJlc2l6ZU9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFJl
c2l6ZU9ic2VydmVyRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1
ZTpmbGFnIGZvcktleTpXZWJLaXRSZXNpemVPYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5XTsK
K30KIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlByZWZlcmVuY2VzIChXZWJJbnRlcm5hbCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oCmluZGV4IDg4MjBkYjI3MDNmN2FiODU5NzI2ZTVhYzcxYWQxZDU5NWYzOGMy
ODMuLjQ4OTM4YzdjNGU1Y2I3MTJlMWVkOGQ4NmUxMmFhOTcwODEwNWE5MDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaApAQCAtNjE5LDYgKzYxOSw3IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIFdFQktJVF9ERVBSCiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCBtZWRpYVJlY29yZGVyRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIGFsbG93Q3Jvc3NPcmlnaW5TdWJyZXNvdXJjZXNUb0Fza0ZvckNyZWRlbnRp
YWxzOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgc291cmNlQnVmZmVyQ2hhbmdlVHlwZUVu
YWJsZWQ7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXNpemVPYnNlcnZlckVuYWJsZWQ7
CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBxdWlj
a0xvb2tEb2N1bWVudFNhdmluZ0VuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KaW5kZXggZWFlZjhmZjE2MGZiNGViMzBhODkwZTZiY2Y1M2FmZGE2YWQ1
NTAxNy4uYmJlNTVmNzg5NWM0MWQ0MTVkMTg0NmQ4Y2QzZjJmYzJmMDg3YjRjOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzE5Miw2ICszMTkyLDEw
IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFNlcnZlclRpbWluZ0Vu
YWJsZWQoW3ByZWZlcmVuY2VzIHNlcnZlclRpbWluZ0VuYWJsZWRdKTsKIAogICAgIHNldHRpbmdz
LnNldFNlbGVjdGlvbkFjcm9zc1NoYWRvd0JvdW5kYXJpZXNFbmFibGVkKHByZWZlcmVuY2VzLnNl
bGVjdGlvbkFjcm9zc1NoYWRvd0JvdW5kYXJpZXNFbmFibGVkKTsKKworI2lmIEVOQUJMRShSRVNJ
WkVfT0JTRVJWRVIpCisgICAgc2V0dGluZ3Muc2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKFtwcmVm
ZXJlbmNlcyByZXNpemVPYnNlcnZlckVuYWJsZWRdKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgaW5s
aW5lIElNUCBnZXRNZXRob2QoaWQgbywgU0VMIHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApp
bmRleCAxOTg4MmNkZDBmMGM2ZDc0ZTViZDI3YTcyNTA3ZTlkYzc1NjdlOGYxLi5lZDhiMWNjYWE5
ZGMzOTA1MTgzZGE3MDE1NzA1ZDM5YzExN2FhMzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5p
ZGwKQEAgLTIzOCw0ICsyMzgsNiBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcg
OiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNgogewogICAgIEhSRVNVTFQgY3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3lTdXBwb3J0RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAg
IEhSRVNVTFQgc2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChbaW5dIEJP
T0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCByZXNpemVPYnNlcnZlckVuYWJsZWQoW291dCwgcmV0
dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRSZXNpemVPYnNlcnZlckVuYWJsZWQoW2luXSBC
T09MIGVuYWJsZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA5NDBkNWNmNTVkMTNiZTU3ODdhNjhkMWI0MzA2ZWRj
MDhjZmU5MjQ2Li4wMWMzMmE3YTYzNWY2MTg0MDliNDllM2E3NmViOTgyZDhhZjYzYzY4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aApAQCAtMjA2LDMgKzIwNiw0IEBACiAKICNkZWZpbmUgV2ViS2l0Q1NTT01WaWV3U2Nyb2xsaW5n
QVBJRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJs
ZWQiCiAKKyNkZWZpbmUgV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkS2V5IEAiV2ViS2l0UmVz
aXplT2JzZXJ2ZXJFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4v
V2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IDAyNWMyMGJlYTIzOGNkNmE0OTVhMjUwZjZjNTUwY2E3ZjUyNzlkNjkuLjkw
MjNlM2Y0MTUzMTA5ZDc3MTQ1NWMyMmRkZDJhNTZmN2UxOGE2MjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAgLTMyOSw2ICszMjksOCBAQCB2b2lkIFdl
YlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNldHRpbmdzKCkKIAogICAgIENGRGljdGlv
bmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRDU1NPTVZpZXdTY3JvbGxpbmdBUElF
bmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAKKyAgICBDRkRpY3Rpb25h
cnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJl
ZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisKICAgICBkZWZhdWx0U2V0dGluZ3MgPSBk
ZWZhdWx0czsKIH0KIApAQCAtMjI2MCwzICsyMjYyLDE3IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5j
ZXM6OnNldFNlcnZlclRpbWluZ0VuYWJsZWQoQk9PTCBlbmFibGVkKQogICAgIHNldEJvb2xWYWx1
ZShXZWJLaXRTZXJ2ZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CiAgICAg
cmV0dXJuIFNfT0s7CiB9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnJlc2l6ZU9ic2VydmVy
RW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQoreworICAgIGlmICghZW5hYmxlZCkKKyAgICAg
ICAgcmV0dXJuIEVfUE9JTlRFUjsKKyAgICAqZW5hYmxlZCA9IGJvb2xWYWx1ZUZvcktleShXZWJL
aXRSZXNpemVPYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5KTsKKyAgICByZXR1cm4gU19PSzsK
K30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKEJP
T0wgZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFi
bGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAppbmRleCAyOTA2YjM2YjE4OGM5ZDg5MjI5
NGJjZGVkZjJhNmMyNTFkZThiYjQ2Li42ZWJhMTdjM2U4NzY1OTVhOWYwYjQ5MWE4ZWNiZWYwYzc2
NjMzMjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKQEAgLTI4
Myw2ICsyODMsOCBAQCBwdWJsaWM6CiAgICAgLy8gSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcKICAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY3Jvc3NPcmlnaW5XaW5kb3dQb2xp
Y3lTdXBwb3J0RW5hYmxlZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoQk9P
TCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHJlc2l6ZU9ic2VydmVy
RW5hYmxlZChfT3V0XyBCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIHNldFJlc2l6ZU9ic2VydmVyRW5hYmxlZChCT09MKTsKIAogICAgIC8vIFdlYlByZWZlcmVu
Y2VzCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwIGIv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKaW5kZXggZTMzMTA2M2EwYmYwZWJk
ODIwMDkxNTA0MDc2MjZkZTlhMTQwZTUyZi4uYTY0NGE4MDk1MTY0MjI1ZTI3OTc2ZDc0N2Y4OWRm
ZDQ0YzIwZDJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAKQEAgLTU1OTQsNiAr
NTU5NCwxMSBAQCBIUkVTVUxUIFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZChJV2Vi
Tm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCiAgICAgICAgIHJldHVybiBocjsKICAgICBzZXR0
aW5ncy5zZXRKYXZhU2NyaXB0UnVudGltZUZsYWdzKEpTQzo6UnVudGltZUZsYWdzKGphdmFTY3Jp
cHRSdW50aW1lRmxhZ3MpKTsKIAorICAgIGhyID0gcHJlZnNQcml2YXRlLT5yZXNpemVPYnNlcnZl
ckVuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4g
aHI7CisgICAgc2V0dGluZ3Muc2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKCEhZW5hYmxlZCk7CisK
ICAgICBociA9IHByZWZzUHJpdmF0ZS0+c2VydmVyVGltaW5nRW5hYmxlZCgmZW5hYmxlZCk7CiAg
ICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMGI5NjcyMjMzY2Y4Mjc4YmMyZWI2
YzczMzU3MjU4OTVmYjhiNGRkLi40OGFjYmIxNDY0OWRiN2Y3MmU2MDJkMjBiYWYyNTQxZDRhMGY1
YWM0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2Fs
aWEuY29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9t
IFdQVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MzgyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoVGVzdE9wdGlvbnM6OlRl
c3RPcHRpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHNl
dFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMpOgorICAgICAgICBBbGxvdyB0ZXN0cyB0byBl
bmFibGUgdGhlIFJlc2l6ZU9ic2VydmVyRW5hYmxlZCBmbGFnIGluIFdLMS4KKwogMjAxOS0wMS0y
NyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJ
bnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0
T3B0aW9ucy5jcHAKaW5kZXggYzkyNjYxMmIxYjE2MDRhODNjZTI2MDNiY2RhODhjZTM5ODNkMzU4
ZS4uODIxNTQxN2E5MjQ1Yzc4ZTQ5MjU2NTBmZmZmMjc4YzNkZWFkODdjNyAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL1Rlc3RPcHRpb25zLmNwcApAQCAtMTExLDYgKzExMSw4IEBAIFRlc3RPcHRpb25zOjpU
ZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6OnN0cmlu
ZyYgYWJzb2x1CiAgICAgICAgICAgICBlbmFibGVDU1NMb2dpY2FsID0gcGFyc2VCb29sZWFuVGVz
dEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJpbnRlcm5hbDpB
ZENsaWNrQXR0cmlidXRpb25FbmFibGVkIikKICAgICAgICAgICAgIGFkQ2xpY2tBdHRyaWJ1dGlv
bkVuYWJsZWQgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOworICAgICAgICBl
bHNlIGlmIChrZXkgPT0gImVuYWJsZVJlc2l6ZU9ic2VydmVyIikKKyAgICAgICAgICAgIGVuYWJs
ZVJlc2l6ZU9ic2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAg
ICAgICAgcGFpclN0YXJ0ID0gcGFpckVuZCArIDE7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rl
c3RPcHRpb25zLmgKaW5kZXggYzI3ZTg0MmE0OGY1N2FjODBmNWYwNGJiYjVlNmE5MmFkMTA1ZDgx
ZC4uZDg4NWVkYmRlYjA2YThiYjY3ZjRhMDFiYWYyYjJiYzUzZmM0YzdkMSAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5oCkBAIC00Niw2ICs0Niw3IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7
CiAgICAgYm9vbCBlbmFibGVXZWJHUFUgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxlQ1NTTG9n
aWNhbCB7IGZhbHNlIH07CiAgICAgYm9vbCBhZENsaWNrQXR0cmlidXRpb25FbmFibGVkIHsgZmFs
c2UgfTsKKyAgICBib29sIGVuYWJsZVJlc2l6ZU9ic2VydmVyIHsgZmFsc2UgfTsKICAgICBzdGQ6
OnN0cmluZyBqc2NPcHRpb25zOwogCiAgICAgVGVzdE9wdGlvbnMoY29uc3Qgc3RkOjpzdHJpbmcm
IHBhdGhPclVSTCwgY29uc3Qgc3RkOjpzdHJpbmcmIGFic29sdXRlUGF0aCk7CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggZDNmNThjNzdkMjlmNGRlZDhl
OWQ0NDlmODhmNGEzNTAxZmQxMmQ0ZS4uZTY2YzA1ZjNmZDFkM2Y3MzcyMzJhYjZlMzEyMzI3OWM0
NDc2NmVhOCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQpA
QCAtMTAxMiw2ICsxMDEyLDcgQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0
T3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKICAgICBwcmVmZXJlbmNlcy53ZWJH
UFVFbmFibGVkID0gb3B0aW9ucy5lbmFibGVXZWJHUFU7CiAgICAgcHJlZmVyZW5jZXMuQ1NTTG9n
aWNhbEVuYWJsZWQgPSBvcHRpb25zLmVuYWJsZUNTU0xvZ2ljYWw7CiAgICAgcHJlZmVyZW5jZXMu
YWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCA9IG9wdGlvbnMuYWRDbGlja0F0dHJpYnV0aW9uRW5h
YmxlZDsKKyAgICBwcmVmZXJlbmNlcy5yZXNpemVPYnNlcnZlckVuYWJsZWQgPSBvcHRpb25zLmVu
YWJsZVJlc2l6ZU9ic2VydmVyOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1wUmVuZGVyVHJl
ZSBzdGFydHVwLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZWMwNTc0MTJjZTM2
OGJkNzQwMzZmZjE0MzZjNmE1Y2FmNDQ5YzdhZi4uMGJhZjJlNTBiMzcxMjQ3M2QyMWZiM2Q4Yjhi
MjFiZTllZjE4MzgwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzggQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcmVzb3VyY2Vz
L2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL01FVEEueW1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRs
aGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53
aW5kb3cuanM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvbm90aWZ5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzOiBBZGRl
ZC4KKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIpOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBl
ci5wcm90b3R5cGUuZ2V0IF9jdXJyZW50U3RlcCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVy
LnByb3RvdHlwZS5fbmV4dFN0ZXApOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5
cGUuX2hhbmRsZU5vdGlmaWNhdGlvbik6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3Rv
dHlwZS5faGFuZGxlVGltZW91dCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlw
ZS5fZG9uZSk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5zdGFydCk6Cisg
ICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5nZXQgcmFmQ291bnQpOgorICAgICAg
ICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuX2luY3JlbWVudFJhZik6CisgICAgICAgIChS
ZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5zdGFydENvdW50aW5nUmFmKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0Lmxv
ZzogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9z
dmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL3N2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAxOS0wMS0yNCAg
Q2hhcmxlcyBWYXphYyAgPGN2YXphY0Bha2FtYWkuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBQ
ZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24KaW5kZXggZDZlZTk0MTIxY2Q2YThiNTk1YWMzMmM1NmIyOTMyZjA5NTI4MTczMy4uM2EwZGVm
NjZiMGNkYjljMzRhZGEzN2ExOGMzMTA4ZWY2MDJjZjcyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpz
b24KQEAgLTI5Niw2ICsyOTYsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVtb3RlLXBs
YXliYWNrIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2Fs
bGJhY2siOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
IjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci8iOiAi
aW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmciOiAiaW1w
b3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9zY3JlZW4tb3JpZW50YXRpb24iOiAic2tpcCIsIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9NRVRBLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjY2ODU2MjJi
MmFiMmUyNmNjNjMzMGY5ODEzMGJlNWQ0MzAxYjAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvTUVU
QS55bWwKQEAgLTAsMCArMSw0IEBACitzcGVjOiBodHRwczovL3dpY2cuZ2l0aHViLmlvL1Jlc2l6
ZU9ic2VydmVyLworc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBhdG90aWMKKyAgLSBkaG9sYmVy
dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2IyMzEwNjY0MDc3YzQ3NzdkNDE3MTIyMTU0NTMyMzU5
OTNjMjE4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw3IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTA6IFJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgorUmVzaXplT2JzZXJ2ZXIgbm90aWZp
Y2F0aW9uIGV2ZW50IGxvb3AgdGVzdHMKKwordDEKKworRkFJTCBSZXNpemVPYnNlcnZlciBpbXBs
ZW1lbnRlZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2Jz
ZXJ2ZXIiIG1pc3NpbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVu
dGxvb3AuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MjJkNzI0YTE5YjNkYjIwYTIxZWYyNGFiOTg1ZDg0Yjdl
MzViOWU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKQEAgLTAsMCArMSwy
NTkgQEAKKzwhZG9jdHlwZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVu
dGFsOlJlc2l6ZU9ic2VydmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMv
cmVzaXplVGVzdEhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIGRpdiB7CisgICAgYm9y
ZGVyOiAxcHggZG90dGVkIGdyYXkKKyAgfQorPC9zdHlsZT4KKzxwPlJlc2l6ZU9ic2VydmVyIG5v
dGlmaWNhdGlvbiBldmVudCBsb29wIHRlc3RzPC9wPgorPGRpdiBpZD0idGFyZ2V0MSIgc3R5bGU9
IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxCis8L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgIDxkaXYgaWQ9ImExIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4Ij4KKyAg
ICA8ZGl2IGlkPSJhMiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorICA8ZGl2IGlkPSJiMSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDox
MDBweCI+CisgICAgPGRpdiBpZD0iYjIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgi
PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsK
KworbGV0IHQxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDEnKTsKKworLy8gYWxs
b3cgdW5jYXVnaHQgZXhjZXB0aW9uIGJlY2F1c2UgUmVzaXplT2JzZXJ2ZXIgcG9zdHMgZXhjZXB0
aW9ucworLy8gdG8gd2luZG93IGVycm9yIGhhbmRsZXIgd2hlbiBsaW1pdCBpcyBleGNlZWRlZC4K
Ky8vIFRoaXMgY29kZXBhdGggaXMgdGVzdGVkIGluIHRoaXMgZmlsZS4KKworc2V0dXAoe2FsbG93
X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZX0pOworCitmdW5jdGlvbiB0ZW1wbGF0ZSgpIHsKKyAg
bGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogdGl0bGUiLAor
ICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisgICAgICBu
b3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8v
IERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIu
c3RhcnQoKTsKK30KKwordmFyIG9uRXJyb3JDYWxsZWQgPSBmYWxzZTsKKword2luZG93Lm9uZXJy
b3IgPSBlcnIgPT4geworICBvbkVycm9yQ2FsbGVkID0gdHJ1ZTsKK30KKworZnVuY3Rpb24gdGVz
dDAoKSB7CisKKyAgbGV0IGRpdnMgPSBbdDFdOworICBsZXQgckFGID0gMDsKKyAgbGV0IGhlbHBl
ciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogbXVsdGlwbGUgbm90aWZpY2F0
aW9ucyBpbnNpZGUgc2FtZSBldmVudCBsb29wIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIG9uRXJyb3JDYWxsZWQgPSBmYWxzZTsKKyAgICAgICAgbGV0
IHQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGxldCB0MyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICB0Mi5hcHBlbmRDaGlsZCh0Myk7
CisgICAgICAgIHQxLmFwcGVuZENoaWxkKHQyKTsKKyAgICAgICAgZGl2cy5wdXNoKHQyKTsKKyAg
ICAgICAgZGl2cy5wdXNoKHQzKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQzKTsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiMyBub3RpZmljYXRpb25zIik7Cisg
ICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAg
ICBoZWxwZXIuc3RhcnRDb3VudGluZ1JhZigpOworICAgICAgICBkaXZzLmZvckVhY2goIGVsID0+
IHsgZWwuc3R5bGUud2lkdGggPSAiMTAxcHgiO30pOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIC8vIHQxIGlzIG5vdCBkZWxpdmVyZWQK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwgIjIgbm90aWZpY2F0aW9u
cyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3VudCwgMCwgInN0aWxsIGlu
IHNhbWUgbG9vcCIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgZGl2cy5mb3JFYWNoKCBlbCA9PiB7IGVsLnN0eWxlLndpZHRoID0g
IjEwMnB4Ijt9KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikg
PT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBub3RpZmlj
YXRpb25zIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaGVscGVyLnJhZkNvdW50LCAwLCAic2Ft
ZSBsb29wIik7CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHQxIGFuZCB0MiBnZXQgbm90aWZp
ZWQKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxl
bmd0aCwgMiwgIjIgbm90aWZpY2F0aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBl
ci5yYWZDb3VudCwgMSwgIm5ldyBsb29wIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMob25FcnJv
ckNhbGxlZCwgdHJ1ZSwgImVycm9yIHdhcyBmaXJlZCIpOworICAgICAgICBvYnNlcnZlci5kaXNj
b25uZWN0KCk7CisgICAgICAgIHdoaWxlICh0MS5jaGlsZE5vZGVzLmxlbmd0aCA+IDApCisgICAg
ICAgICAgdDEucmVtb3ZlQ2hpbGQodDEuY2hpbGROb2Rlc1swXSk7CisgICAgICB9CisgICAgfQor
ICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MSgpIHsK
KworICB2YXIgcmVzaXplcnMgPSBbdDFdOworICAvLyBUZXN0aW5nIGRlcHRocyBvZiBzaGFkb3cg
cm9vdHMKKyAgLy8gRE9NOiB0MSA8LSB0MiA8LSB0MyA8LXNoYWRvdy0gdDQgPC0gdDUKKyAgbGV0
IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogZGVwdGhzIG9mIHNo
YWRvdyByb290cyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICBvbkVycm9yQ2FsbGVkID0gZmFsc2U7CisgICAgICAgIGxldCB0MiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICB0MS5hcHBlbmRDaGlsZCh0Mik7CisgICAgICAg
IHJlc2l6ZXJzLnB1c2godDIpOworICAgICAgICBsZXQgdDMgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCdkaXYnKTsKKyAgICAgICAgcmVzaXplcnMucHVzaCh0Myk7CisgICAgICAgIHQyLmFwcGVu
ZENoaWxkKHQzKTsKKyAgICAgICAgbGV0IHNoYWRvdyA9IHQzLmF0dGFjaFNoYWRvdyh7IG1vZGU6
ICJvcGVuIiB9KTsKKyAgICAgICAgbGV0IHQ0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CisgICAgICAgIHJlc2l6ZXJzLnB1c2godDQpOworICAgICAgICBzaGFkb3cuYXBwZW5kQ2hp
bGQodDQpOworICAgICAgICBsZXQgdDUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
KyAgICAgICAgcmVzaXplcnMucHVzaCh0NSk7CisgICAgICAgIHQ0LmFwcGVuZENoaWxkKHQ1KTsK
KyAgICAgICAgcmVzaXplcnMuZm9yRWFjaCggZWwgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbCkgKTsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCA1LCAiYWxsIGVudHJpZXMgcmVzaXplZCIp
OworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgcmVzaXplcnMuZm9yRWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTExcHgiICk7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgNCwgImRlcHRoIGxpbWl0ZWQiKTsKKyAg
ICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IHJlc2l6ZXJzLmZvckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExMnB4IiApOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDMsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9
CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICByZXNp
emVycy5mb3JFYWNoKCBlbCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTNweCIgKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAyLCAiZGVwdGggbGltaXRlZCIpOworICAgICAgfQorICAg
IH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVzaXplcnMu
Zm9yRWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTE0cHgiICk7CisgICAgICB9LAorICAg
ICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzLmxlbmd0aCwgMSwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAgICB9LAor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
Lmxlbmd0aCwgNCwgImxpbWl0IG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhvbkVycm9yQ2FsbGVkLCB0cnVlLCAiYnJlYWNoZWQgbGltaXQiKTsKKyAgICAgICAgb2JzZXJ2
ZXIuZGlzY29ubmVjdCgpOworICAgICAgICB0MS5yZW1vdmVDaGlsZCh0MS5maXJzdENoaWxkKTsK
KyAgICAgIH0KKyAgICB9LAorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitm
dW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJyNjb250YWluZXInKTsKKyAgbGV0IGExID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2Ex
Jyk7CisgIGxldCBhMiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhMicpOworICBsZXQgYjEg
PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYjEnKTsKKyAgbGV0IGIyID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignI2IyJyk7CisgIGxldCB0YXJnZXRzID0gW2ExLCBhMiwgYjEsIGIyXTsKKwor
ICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QyOiBtb3ZlIHRh
cmdldCBpbiBkb20gd2hpbGUgaW5zaWRlIGV2ZW50IGxvb3AiLAorICBbCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBkZWxheSBuZXh0
IG9ic2VydmF0aW9uCisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSB0aGVtIGFsbAor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRz
KQorICAgICAgICAgIHQuc3R5bGUud2lkdGggPSAiMTEwcHgiOworICAgICAgfSwKKyAgICAgIG5v
dGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllcy5sZW5ndGgsIHRhcmdldHMubGVuZ3RoLCAiYWxsIHRhcmdldHMgb2JzZXJ2ZWQiKTsKKyAg
ICAgIH0KKyAgICB9LAorICAgIHsgLy8gcmVzaXplIGFsbCwgbW92ZSBkb20gdXB3YXJkcworICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQor
ICAgICAgICAgIHQuc3R5bGUud2lkdGggPSAiMTMwcHgiOworICAgICAgICBjb250YWluZXIuYXBw
ZW5kQ2hpbGQoYjIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVy
KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJiMiBtb3Zl
ZCB1cHdhcmRzIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGEy
KTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsgLy8gcmVzaXplIGFsbCwgbW92ZSBkb20gZG93bndh
cmRzCisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBmb3IgKGxldCB0IG9mIHRh
cmdldHMpCisgICAgICAgICAgdC5zdHlsZS53aWR0aCA9ICIxMzBweCI7CisgICAgICAgIGEyLmFw
cGVuZENoaWxkKGIyKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZl
cikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiYjIgbW92
ZWQgZG93bndhcmRzIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQs
IGIyKTsKKyAgICAgICAgYTEuYXBwZW5kQ2hpbGQoYTIpOworICAgICAgfQorICAgIH0sCisgIF0p
OworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7
CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3Vh
cmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVk
IikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhl
bigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7IGd1YXJkLmRvbmUo
KTsgfSk7CisKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTdlYTMyNzkxY2IwMDY5M2YzNzk0YTIzZDMyODRhOTI2NzljNTJmZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMwIEBA
CisKK0ZBSUwgaWRsX3Rlc3Qgc2V0dXAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1l
ZCBkZWZpbml0aW9uOiBVbnJlY29nbmlzZWQgdG9rZW5zLCBsaW5lIDEgKHRva2VuczogIntcImVy
cm9yXCI6IHtcIm1lc3NhZ2VcIiIpCitbCisgICAgeworICAgICAgICAidHlwZSI6ICJ7IiwKKyAg
ICAgICAgInZhbHVlIjogInsiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsK
KyAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAgInZhbHVlIjogIlwiZXJyb3JcIiIs
CisgICAgICAgICJ0cml2aWEiOiAiIgorICAgIH0sCisgICAgeworICAgICAgICAidHlwZSI6ICI6
IiwKKyAgICAgICAgInZhbHVlIjogIjoiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAor
ICAgIHsKKyAgICAgICAgInR5cGUiOiAieyIsCisgICAgICAgICJ2YWx1ZSI6ICJ7IiwKKyAgICAg
ICAgInRyaXZpYSI6ICIgIgorICAgIH0sCisgICAgeworICAgICAgICAidHlwZSI6ICJzdHJpbmci
LAorICAgICAgICAidmFsdWUiOiAiXCJtZXNzYWdlXCIiLAorICAgICAgICAidHJpdmlhIjogIiIK
KyAgICB9CitdIgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
aWRsaGFybmVzcy53aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDE1MWQ2YjY3NGRlMmI5MDVmY2U4
N2MxMzlkMTM0YWU4NWM4ZDNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5k
b3cuaHRtbApAQCAtMCwwICsxLDIgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBX
ZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgor
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVzaXplT2JzZXJ2ZXJFbmFi
bGVkPXRydWUgXSAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9pZGxoYXJuZXNzLndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjU5MmFmMmUwYzA3OTE5NzQ1N2UwOTFkODRkZmRiMzc0MTcwMzM5NWUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5qcwpAQCAtMCwwICsxLDM3IEBACisvLyBNRVRB
OiBzY3JpcHQ9L3Jlc291cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVz
b3VyY2VzL2lkbGhhcm5lc3MuanMKKy8vIE1FVEE6IHNjcmlwdD1yZXNvdXJjZXMvcmVzaXplVGVz
dEhlbHBlci5qcworCisndXNlIHN0cmljdCc7CisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8v
UmVzaXplT2JzZXJ2ZXIvCisKK2lkbF90ZXN0KAorICBbJ1Jlc2l6ZU9ic2VydmVyJ10sCisgIFsn
ZG9tJywgJ2dlb21ldHJ5J10sCisgIGFzeW5jIGlkbF9hcnJheSA9PiB7CisgICAgaWRsX2FycmF5
LmFkZF9vYmplY3RzKHsKKyAgICAgIFJlc2l6ZU9ic2VydmVyOiBbJ29ic2VydmVyJ10sCisgICAg
ICBSZXNpemVPYnNlcnZlckVudHJ5OiBbJ2VudHJ5J10sCisgICAgfSk7CisKKyAgICBjb25zdCBk
aXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKGRpdik7CisgICAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAor
ICAgICAgIlJlc2l6ZU9ic2VydmVyRW50cnkgY3JlYXRvciIsCisgICAgICBbCisgICAgICAgIHsK
KyAgICAgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICAgICAgc2VsZi5vYnNlcnZl
ciA9IG9ic2VydmVyOworICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkaXYpOworICAgICAg
ICAgICAgZGl2LnN0eWxlLndpZHRoID0gIjVweCI7CisgICAgICAgICAgfSwKKyAgICAgICAgICBu
b3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICAgICAgc2VsZi5lbnRyeSA9IGVudHJpZXNbMF07
CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgs
IDUsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIF0pOwor
ICAgIGF3YWl0IGhlbHBlci5zdGFydCgpOworICB9CispOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUzMjc4
NDFkYjZmOTZlODQxOWQzOTkyMWY1MTdiZDc0MTgxYzAyNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L25vdGlmeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDUwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2
ZXIKK1Jlc2l6ZU9ic2VydmVyIHRlc3RzCisKK3QxCit0MgordDMgaW5saW5lCisKK0hhcm5lc3Mg
RXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFi
bGU6IFJlc2l6ZU9ic2VydmVyCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmVyIiBtaXNz
aW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYjEwMzhhM2NiNjhiYTBlNDg2NDQxNmVhODgxYWFjMDI0M2Y4ZGUxYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL25vdGlmeS5odG1sCkBAIC0wLDAgKzEsMzUxIEBACis8IWRvY3R5cGUgaHRt
bD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpSZXNpemVPYnNlcnZlckVu
YWJsZWQ9dHJ1ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorICBkaXYgeworICAgIGJvcmRlcjogMXB4IGRvdHRlZCBncmF5
CisgIH0KKyAgLnRyYW5zZm9ybSB7CisgICAgdHJhbnNmb3JtOiBzY2FsZSgyLDIpIHJvdGF0ZSg5
MGRlZykKKyAgfQorPC9zdHlsZT4KKzxwPlJlc2l6ZU9ic2VydmVyIHRlc3RzPC9wPgorPGRpdiBp
ZD0idGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxCisgIDxkaXYg
aWQ9InRhcmdldDIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MgorICAgIDxk
aXYgaWQ9InRhcmdldDMiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MworICAg
ICAgPHNwYW4gaWQ9ImlubGluZSI+aW5saW5lPC9zcGFuPgorICAgIDwvZGl2PgorICA8L2Rpdj4K
KzwvZGl2PgorPGRpdiBpZD0iYWJzb2x1dGUiIHN0eWxlPSJ3aWR0aDoxMDAuNXB4O2hlaWdodDox
MDAuNXB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMC4zcHg7bGVmdDoxMC4zcHgiPjwvZGl2Pgor
PHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworbGV0IHQxID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cignI3RhcmdldDEnKTsKK2xldCB0MiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQy
Jyk7CitsZXQgdDMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MycpOworbGV0IGFi
cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhYnNvbHV0ZScpOworbGV0IGlubGluZSA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNpbmxpbmUnKTsKKworZnVuY3Rpb24gdGVzdDAoKSB7Cisg
IGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IG5vdGlmaWNh
dGlvbiBvcmRlcmluZyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewor
ICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQzKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0
Mik7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0
aCA9ICI1cHgiOworICAgICAgICB0My5zdHlsZS53aWR0aCA9ICI1cHgiOworICAgICAgICB0Mi5z
dHlsZS53aWR0aCA9ICI1cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDMsICIz
IHJlc2l6ZXMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDMs
ICJvcmRlcmluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMV0udGFyZ2V0LCB0
MiwgIm9yZGVyaW5nIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1syXS50YXJnZXQs
IHQxLCAib3JkZXJpbmciKTsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgICAg
ICB0MS5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisgICAgICAgIHQyLnN0eWxlLndpZHRoID0gIjEw
MHB4IjsKKyAgICAgICAgdDMuc3R5bGUud2lkdGggPSAiMTAwcHgiOworICAgICAgfQorICAgIH0K
KyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEoKSB7
CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE6IGRpc3Bs
YXk6bm9uZSB0cmlnZ2VycyBub3RpZmljYXRpb24iLAorICBbCisgICAgeworICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRy
dWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNl
dHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQxLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7Cisg
ICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAg
dDEuc3R5bGUuZGlzcGxheSA9ICIiOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBo
ZWxwZXIuc3RhcnQoKTsKK30KKworCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IGhlbHBlciA9
IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MjogcmVtb3ZlL2FwcGVuZENoaWxkIHRy
aWdnZXIgbm90aWZpY2F0aW9uIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVs
YXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7IC8vICJyZW1vdmVDaGlsZCB0cmln
Z2VycyBub3RpZmljYXRpb24iCisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0
MS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
dGFyZ2V0LCB0MSk7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisg
ICAgICB9CisgICAgfSwKKyAgICB7IC8vICJhcHBlbmRDaGlsZCB0cmlnZ2VycyBub3RpZmljYXRp
b24iLAorICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZCh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDEpCisg
ICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCisKK2Z1
bmN0aW9uIHRlc3QzKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisg
ICAgInRlc3QzOiBkaW1lbnNpb25zIG1hdGNoIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5z
dHlsZS53aWR0aCA9ICIyMDAuNXB4IjsKKyAgICAgICAgdDEuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4
IjsKKyAgICAgICAgdDEuc3R5bGUucGFkZGluZ0xlZnQgPSAiMjBweCI7CisgICAgICAgIHQxLnN0
eWxlLnBhZGRpbmdUb3AgPSAiMTBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmll
cywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRl
bnRSZWN0LmxlZnQsMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVu
dFJlY3QudG9wLDEwKTsKKyAgICAgICAgYXNzZXJ0X2JldHdlZW5faW5jbHVzaXZlKGVudHJpZXNb
MF0uY29udGVudFJlY3Qud2lkdGgsIDIwMC40LCAyMDAuNiwgIndpZHRoIGlzIG5vdCByb3VuZGVk
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQs
IDEwMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOwor
fQorCitmdW5jdGlvbiB0ZXN0NCgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVs
cGVyKAorICAgICJ0ZXN0NDogdHJhbnNmb3JtIGRvIG5vdCBjYXVzZSBub3RpZmljYXRpb25zIiwK
KyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodDIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVy
KSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0K
KyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQyLmNs
YXNzTGlzdC5hZGQoInRyYW5zZm9ybSIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoInRyYW5zZm9ybSBt
dXN0IG5vdCB0cmlnZ2VyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0
OiAoKSA9PiB7CisgICAgICAgIHQyLmNsYXNzTGlzdC5yZW1vdmUoInRyYW5zZm9ybSIpOworICAg
ICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rp
b24gdGVzdDUoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAi
dGVzdDU6IG1vdmluZyBhbiBlbGVtZW50IGRvZXMgbm90IHRyaWdnZXIgbm90aWZpY2F0aW9ucyIs
CisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZl
ci5vYnNlcnZlKGFicyk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgYWJz
LnN0eWxlLnRvcCA9ICIyMC4zM3B4IjsKKyAgICAgICAgYWJzLnN0eWxlLmxlZnQgPSAiMjAuMzNw
eCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X3VucmVhY2hlZCgibW92ZW1lbnQgc2hvdWxkIG5vdCBjYXVzZSByZXNpemUg
bm90aWZpY2F0aW9ucyIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6ICgpID0+IHsKKyAgICAg
IH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9u
IHRlc3Q2KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRl
c3Q2OiBpbmxpbmUgZWxlbWVudCBkb2VzIG5vdCBub3RpZnkiLAorICBbCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShpbmxpbmUpOwor
ICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAi
NjZweCI7CisgICAgICAgIGlubGluZS5zdHlsZS53aWR0aCA9ICI2NnB4IjsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiaW5saW5lIGVsZW1lbnRzIG11c3Qgbm90IHRyaWdnZXIg
bm90aWZpY2F0aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0
LCB0MSwgImlubGluZSBlbGVtZW50cyBtdXN0IG5vdCB0cmlnZ2VyIG5vdGlmaWNhdGlvbnMiKTsK
KyAgICAgICAgcmV0dXJuIHRydWU7IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0s
CisgICAgeyAvLyAiaW5saW5lIGVsZW1lbnQgdGhhdCBiZWNvbWVzIGJsb2NrIHNob3VsZCBub3Rp
ZnkiLAorICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgaW5saW5lLnN0eWxlLmRp
c3BsYXkgPSAiYmxvY2siOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2Vy
dmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGlubGlu
ZSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQor
CitmdW5jdGlvbiB0ZXN0NygpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVy
KAorICAgICJ0ZXN0NzogdW5vYnNlcnZlIGluc2lkZSBub3RpZnkgY2FsbGJhY2siLAorICBbCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0MSk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgfSwKKyAgICAgIG5v
dGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0g
Ijc3N3B4IjsKKyAgICAgICAgdDIuc3R5bGUud2lkdGggPSAiNzc3cHgiOworICAgICAgICBvYnNl
cnZlci51bm9ic2VydmUodDEpOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQg
c3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiBpcyBvYnNlcnZlZCIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MiwgIm9ubHkgdDIg
aXMgb2JzZXJ2ZWQiKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0
YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q4KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6
ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q4OiBvYnNlcnZlIGluc2lkZSBub3RpZnkgY2FsbGJhY2si
LAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2
ZXIub2JzZXJ2ZSh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAgIHQyLnN0eWxl
LndpZHRoID0gIjg4OHB4IjsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0
ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7Cisg
ICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIm9ubHkgdDIgaXMgb2JzZXJ2ZWQiKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDIsICJvbmx5IHQyIGlz
IG9ic2VydmVkIik7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0OSgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVU
ZXN0SGVscGVyKAorICAgICJ0ZXN0OTogZGlzY29ubmVjdCBpbnNpZGUgbm90aWZ5IGNhbGxiYWNr
IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2Vy
dmVyKSA9PiB7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjk5OXB4IjsKKyAgICAgICAgb2Jz
ZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQg
c3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAg
ICBhc3NlcnRfdW5yZWFjaGVkKCJ0aGVyZSBzaG91bGQgYmUgbm8gbm90aWZpY2F0aW9ucyBhZnRl
ciBkaXNjb25uZWN0Iik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAg
fQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24g
dGVzdDEwKCkgeworICB2YXIgcGFyZW50ID0gdDEucGFyZW50Tm9kZTsKKyAgbGV0IGhlbHBlciA9
IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTA6IGVsZW1lbnQgbm90aWZpZXMgd2hl
biBwYXJlbnQgcmVtb3ZlZCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQzKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5
IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVy
ID0+IHsKKyAgICAgICAgdDEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0MSk7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS50YXJnZXQsIHQzKTsKKyAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHQxKTsKKyAgICAgIH0K
KyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsK
K3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2
ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVy
IGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgp
OyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7
IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NCgpOyB9KQor
ICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVy
biB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NygpOyB9KQorICAudGhl
bigoKSA9PiB7IHJldHVybiB0ZXN0OCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0
OSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MTAoKTsgfSkKKyAgLnRoZW4oKCkg
PT4geyBndWFyZC5kb25lKCk7IH0pOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2Vy
dmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzUw
MDNlMDZkMzUzNzUxMGE4NjU5YzZiNGI0MzRjZDcwMTgyMzdlYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL29ic2VydmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDUwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2Jz
ZXJ2ZXIKK1Jlc2l6ZU9ic2VydmVyIHRlc3RzCisKK3QxCit0MgorIAorCitGQUlMIFJlc2l6ZU9i
c2VydmVyIGltcGxlbWVudGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5
ICJSZXNpemVPYnNlcnZlciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9vYnNlcnZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM0NTkyZDQ1OTQ2YzE5YmZhODJlN2E2ZDcw
YTg4MmQwMGIyOWU4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbApAQCAtMCww
ICsxLDIwNyBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBl
cmltZW50YWw6UmVzaXplT2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzIj48L3NjcmlwdD4KKzxwPlJlc2l6ZU9ic2VydmVyIHRl
c3RzPC9wPgorPGRpdiBpZD0idGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBw
eDsiPnQxPC9kaXY+Cis8ZGl2IGlkPSJ0YXJnZXQyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0
OjEwMHB4OyI+dDI8L2Rpdj4KKzxpbWcgaWQ9InRhcmdldDMiIHN0eWxlPSJ3aWR0aDoxMDBweDto
ZWlnaHQ6MTAwcHg7Ij4KKzxpZnJhbWUgc3JjPSIuL3Jlc291cmNlcy9pZnJhbWUuaHRtbCIgd2lk
dGg9IjMwMHB4IiBoZWlnaHQ9IjEwMHB4IiBzdHlsZT0iZGlzcGxheTpibG9jayI+PC9pZnJhbWU+
Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCcjdGFyZ2V0MScpOworbGV0IHQyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3Rhcmdl
dDInKTsKKworLy8gYWxsb3cgdW5jYXVnaHQgZXhjZXB0aW9uIGJlY2F1c2UgUmVzaXplT2JzZXJ2
ZXIgcG9zdHMgZXhjZXB0aW9ucworLy8gdG8gd2luZG93IGVycm9yIGhhbmRsZXIgd2hlbiBsaW1p
dCBpcyBleGNlZWRlZC4KK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsK
KworZnVuY3Rpb24gdGVzdDAoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBl
cigKKyAgICAidGVzdDA6IHNpbXBsZSBvYnNlcnZhdGlvbiIsCisgIFsKKyAgICB7CisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAg
ICAgdDEuc3R5bGUud2lkdGggPSAiNXB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJp
ZXMgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBwZW5k
aW5nIG5vdGlmaWNhdGlvbiIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFy
Z2V0LCB0MSwgInRhcmdldCBpcyB0MSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uY29udGVudFJlY3Qud2lkdGgsIDUsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgIH0KKyAgICB9
CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkg
eworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBtdWx0
aXBsZSBvYnNlcnZhdGlvbiBvbiBzYW1lIGVsZW1lbnQgdHJpZ2dlciBvbmx5IG9uZSIsCisgIFsK
KyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNl
cnZlKHQxKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxl
LndpZHRoID0gIjEwcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZp
Y2F0aW9uIik7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgp
OworfQorCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgdGVzdCgoKSA9PiB7CisgICAgICBhc3NlcnRf
dGhyb3dzKHtuYW1lOiAiVHlwZUVycm9yIn0sIF89PiB7CisgICAgICAgIGxldCBybyA9IG5ldyBS
ZXNpemVPYnNlcnZlcigoKSA9PiB7fSk7CisgICAgICAgIHJvLm9ic2VydmUoe30pOworICAgICAg
fSk7CisgICAgfSwKKyAgICAidGVzdDI6IHRocm93IGV4Y2VwdGlvbiB3aGVuIG9ic2VydmluZyBu
b24tZWxlbWVudCIKKyAgKTsKKyAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOworfQorCitmdW5j
dGlvbiB0ZXN0MygpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAg
ICJ0ZXN0MzogZGlzY29ubmVjdCBzdG9wcyBhbGwgbm90aWZpY2F0aW9ucyIsIFsKKyAgICB7Cisg
ICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsK
KyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5l
Y3QoKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiMzBweCI7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIm5vIGVudHJp
ZXMgc2hvdWxkIGJlIG9ic2VydmVkIik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4g
eworICAgICAgICAvLyBleHBlY3RlZAorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBo
ZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDQoKSB7CisgIGxldCBoZWxwZXIgPSBu
ZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDQ6IHVub2JzZXJ2ZSB0YXJnZXQgc3RvcHMg
bm90aWZpY2F0aW9ucywgdW5vYnNlcnZlIG5vbi1vYnNlcnZlZCBkb2VzIG5vdGhpbmciLCBbCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0MSk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci51
bm9ic2VydmUodDEpOworICAgICAgICBvYnNlcnZlci51bm9ic2VydmUoZG9jdW1lbnQuYm9keSk7
CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjQwcHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0
aCA9ICI0MHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiIpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MiwgInQyIHdhcyBvYnNlcnZlZCIpOwor
ICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVu
Y3Rpb24gdGVzdDUoKSB7CisgIGxldCB0MyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJn
ZXQzJyk7CisgIHZhciBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigidGVzdDU6IG9ic2Vy
dmUgaW1nIixbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh0Myk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsK
KyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIHQzLnN0eWxlLndpZHRoID0gIjEwMC41cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
ZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMC41
KTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3Q2KCkgeworICBsZXQgcmVzb2x2ZVByb21pc2U7CisgIGxldCBwcm9taXNl
ID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29s
dmU7CisgIH0pOworICBsZXQgdGVzdCA9IGFzeW5jX3Rlc3QoJ3Rlc3Q2OiBpZnJhbWUgbm90aWZp
Y2F0aW9ucycpOworICBsZXQgdGVzdFJlcXVlc3RlZCA9IGZhbHNlOworICBsZXQgaWZyYW1lID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaWZyYW1lJyk7CisgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdtZXNzYWdlJywgZXZlbnQgPT4geworICAgIHN3aXRjaChldmVudC5kYXRhKSB7CisgICAg
Y2FzZSAncmVhZHlUb1Rlc3QnOgorICAgICAgaWYgKCF0ZXN0UmVxdWVzdGVkKSB7CisgICAgICAg
IGlmcmFtZS5jb250ZW50V2luZG93LnBvc3RNZXNzYWdlKCdzdGFydFRlc3QnLCAnKicpOworICAg
ICAgICB0ZXN0UmVxdWVzdGVkID0gdHJ1ZTsKKyAgICAgIH0KKyAgICBicmVhazsKKyAgICBjYXNl
ICdzdWNjZXNzJzoKKyAgICBjYXNlICdmYWlsJzoKKyAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKCkgPT4geworICAgICAgICB0ZXN0LnN0ZXAoICgpID0+IHsKKyAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEsICdzdWNjZXNzJyk7CisgICAgICAgICAgdGVzdC5kb25l
KCk7CisgICAgICAgICAgcmVzb2x2ZVByb21pc2UoKTsKKyAgICAgICAgfSk7CisgICAgICB9KTsK
KyAgICBicmVhazsKKyAgICB9CisgIH0sIGZhbHNlKTsKKyAgcmV0dXJuIHByb21pc2U7Cit9CisK
K2Z1bmN0aW9uIHRlc3Q3KCkgeworICBsZXQgaGFybmVzc1Rlc3QgPSBhc3luY190ZXN0KCJ0ZXN0
NzogY2FsbGJhY2sudGhpcyIpOworICBsZXQgcmVzb2x2ZVByb21pc2U7CisgIGxldCBybyA9IG5l
dyBSZXNpemVPYnNlcnZlciggZnVuY3Rpb24oZW50cmllcywgb2JzKSAgeworICAgIGxldCBjYWxs
YmFja1RoaXMgPSB0aGlzOworICAgIHJlc29sdmVQcm9taXNlKCk7CisgICAgaGFybmVzc1Rlc3Qu
c3RlcCgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKGNhbGxiYWNrVGhpcywgcm8sICJjYWxs
YmFjay50aGlzIGlzIFJlc2l6ZU9ic2VydmVyIik7CisgICAgICBhc3NlcnRfZXF1YWxzKG9icywg
cm8sICIybmQgYXJndW1lbnQgaXMgUmVzaXplT2JzZXJ2ZXIiKTsKKyAgICAgIHJvLmRpc2Nvbm5l
Y3QoKTsKKyAgICAgIC8vIGV2ZXJ5IHJlZmVyZW5jZSB0byBSTyBtdXN0IGJlIG51bGwgYmVmb3Jl
IHRlc3QgY29tcGxldGVzCisgICAgICAvLyB0byBhdm9pZCB0cmlnZ2VyaW5nIHRlc3QgbGVhay1k
ZXRlY3Rpb24KKyAgICAgIHJvID0gbnVsbDsKKyAgICAgIGNhbGxiYWNrVGhpcyA9IG51bGw7Cisg
ICAgICBvYnMgPSBudWxsOworICAgICAgaGFybmVzc1Rlc3QuZG9uZSgpOworICAgICB9KTsKKyAg
ICB9CisgICk7CisgIHJvLm9ic2VydmUodDEpOworCisgIHJldHVybiBuZXcgUHJvbWlzZSggKHJl
c29sdmUsIHJlamVjdCkgPT4geworICAgIHJlc29sdmVQcm9taXNlID0gcmVzb2x2ZTsKKyAgfSk7
Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2lu
ZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOwor
fSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9
PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9
KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJl
dHVybiB0ZXN0NCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAu
dGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0
ZXN0NygpOyB9KQorICAudGhlbigoKSA9PiB7IGd1YXJkLmRvbmUoKTsgfSk7CisKKzwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lm
cmFtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxODMxN2I1MjBiNjhjYmY5MmIwOWU2N2E1N2YxZWNkMjcy
NDM3NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKQEAgLTAs
MCArMSwzOCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aGVhZD4KKyAgPHNjcmlwdCBzcmM9Ii4vcmVz
aXplVGVzdEhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8cD5pZnJhbWUgdGVzdDwvcD4K
KzxkaXYgaWQ9Iml0YXJnZXQxIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDE8
L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCcjaXRhcmdldDEnKTsKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgdGltZW91dElk
ID0gd2luZG93LnNldFRpbWVvdXQoICgpID0+IHsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNz
YWdlKCdmYWlsJywgJyonKTsKKyAgfSwgUmVzaXplVGVzdEhlbHBlci5USU1FT1VUKTsKKyAgbGV0
IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAgICB3aW5kb3cu
Y2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7CisgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgn
c3VjY2VzcycsICcqJyk7CisgIH0pOworICByby5vYnNlcnZlKHQxKTsKK30KK2xldCB0ZXN0U3Rh
cnRlZCA9IGZhbHNlOword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlv
bihldikgeworICAgIHN3aXRjaChldi5kYXRhKSB7CisgICAgICAgIGNhc2UgJ3N0YXJ0VGVzdCc6
CisgICAgICAgICAgdGVzdFN0YXJ0ZWQgPSB0cnVlOworICAgICAgICAgIHRlc3QwKCk7CisgICAg
ICAgIGJyZWFrOworICAgIH0KK30pOworLy8gSG93IGRvZXMgcGFyZW50IGtub3cgd2UndmUgbG9h
ZGVkIHByb2JsZW0gaXMgc29sdmVkIGJ5CisvLyBicm9hZGNhc3RpbmcgcmVhZHlUb1Rlc3QgbWVz
c2FnZSByZXBlYXRlZGx5IHVudGlsIHRlc3Qgc3RhcnRzLgorZnVuY3Rpb24gYnJvYWRjYXN0UmVh
ZHkoKSB7CisgIGlmICghdGVzdFN0YXJ0ZWQpIHsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNz
YWdlKCdyZWFkeVRvVGVzdCcsICcqJyk7CisgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFt
ZShicm9hZGNhc3RSZWFkeSk7CisgIH0KK30KK2Jyb2FkY2FzdFJlYWR5KCk7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3Vy
Y2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBjNjgxYmQ5MzMzNDU1MjkxNjcx
MWJiYmUxNjdiYzRiZDU4ODQ3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNp
emVUZXN0SGVscGVyLmpzCkBAIC0wLDAgKzEsMTQ4IEBACisndXNlIHN0cmljdCc7CisKKy8qKgor
ICBSZXNpemVUZXN0SGVscGVyIGlzIGEgZnJhbWV3b3JrIHRvIHRlc3QgUmVzaXplT2JzZXJ2ZXIK
KyAgbm90aWZpY2F0aW9ucy4gVXNlIGl0IHRvIG1ha2UgYXNzZXJ0aW9ucyBhYm91dCBSZXNpemVP
YnNlcnZlckVudHJpZXMuCisgIFRoaXMgZnJhbWV3b3JrIGlzIG5lZWRlZCBiZWNhdXNlIFJlc2l6
ZU9ic2VydmF0aW9ucyBhcmUKKyAgZGVsaXZlcmVkIGFzeW5jaHJvbm91c2x5IGluc2lkZSB0aGUg
ZXZlbnQgbG9vcC4KKworICBGZWF0dXJlczoKKyAgLSBjYW4gcXVldWUgbXVsdGlwbGUgbm90aWZp
Y2F0aW9uIHN0ZXBzIGluIGEgdGVzdAorICAtIGhhbmRsZXMgdGltZW91dHMKKyAgLSByZXR1cm5z
IFByb21pc2UgdGhhdCBpcyBmdWxsZmlsbGVkIHdoZW4gdGVzdCBjb21wbGV0ZXMuCisgICAgVXNl
IHRvIGNoYWluIHRlc3RzIChzaW5jZSBwYXJhbGxlbCBhc3luYyBSZXNpemVPYnNlcnZlciB0ZXN0
cworICAgIHdvdWxkIGNvbmZsaWN0IGlmIHJldXNpbmcgc2FtZSBET00gZWxlbWVudHMpLgorCisg
IFVzYWdlOgorCisgIGNyZWF0ZSBSZXNpemVUZXN0SGVscGVyIGZvciBldmVyeSB0ZXN0LgorICBN
YWtlIGFzc2VydGlvbnMgaW5zaWRlIG5vdGlmeSwgdGltZW91dCBjYWxsYmFja3MuCisgIFN0YXJ0
IHRlc3RzIHdpdGggaGVscGVyLnN0YXJ0KCkKKyAgQ2hhaW4gdGVzdHMgd2l0aCBQcm9taXNlcy4K
KyAgQ291bnRzIGFuaW1hdGlvbiBmcmFtZXMsIHNlZSBzdGFydENvdW50aW5nUmFmCisqLworCisv
KgorICBAcGFyYW0gbmFtZTogdGVzdCBuYW1lCisgIEBwYXJhbSBzdGVwczoKKyAgeworICAgIHNl
dHVwOiBmdW5jdGlvbihSZXNpemVPYnNlcnZlcikgeworICAgICAgLy8gY2FsbGVkIGF0IHRoZSBi
ZWdpbm5pbmcgb2YgdGhlIHRlc3Qgc3RlcAorICAgICAgLy8geW91ciBvYnNlcnZlL3Jlc2l6ZSBj
b2RlIGdvZXMgaGVyZQorICAgIH0sCisgICAgbm90aWZ5OiBmdW5jdGlvbihlbnRyaWVzLCBvYnNl
cnZlcikgeworICAgICAgLy8gUmVzaXplT2JzZXJ2ZXIgY2FsbGJhY2suCisgICAgICAvLyBNYWtl
IGFzc2VydGlvbnMgaGVyZS4KKyAgICAgIC8vIFJldHVybiB0cnVlIGlmIG5leHQgc3RlcCBzaG91
bGQgc3RhcnQgb24gdGhlIG5leHQgZXZlbnQgbG9vcC4KKyAgICB9LAorICAgIHRpbWVvdXQ6IGZ1
bmN0aW9uKCkgeworICAgICAgLy8gRGVmaW5lIHRoaXMgaWYgeW91ciB0ZXN0IGV4cGVjdHMgdG8g
dGltZSBvdXQuCisgICAgICAvLyBJZiB1bmRlZmluZWQsIHRpbWVvdXQgaXMgYXNzZXJ0X3VucmVh
Y2hlZC4KKyAgICB9CisgIH0KKyovCitmdW5jdGlvbiBSZXNpemVUZXN0SGVscGVyKG5hbWUsIHN0
ZXBzKQoreworICAgIHRoaXMuX25hbWUgPSBuYW1lOworICAgIHRoaXMuX3N0ZXBzID0gc3RlcHMg
fHwgW107CisgICAgdGhpcy5fc3RlcElkeCA9IC0xOworICAgIHRoaXMuX2hhcm5lc3NUZXN0ID0g
bnVsbDsKKyAgICB0aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcih0aGlzLl9oYW5k
bGVOb3RpZmljYXRpb24uYmluZCh0aGlzKSk7CisgICAgdGhpcy5fdGltZW91dEJpbmQgPSB0aGlz
Ll9oYW5kbGVUaW1lb3V0LmJpbmQodGhpcyk7CisgICAgdGhpcy5fbmV4dFN0ZXBCaW5kID0gdGhp
cy5fbmV4dFN0ZXAuYmluZCh0aGlzKTsKK30KKworUmVzaXplVGVzdEhlbHBlci5USU1FT1VUID0g
MTAwOworCitSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZSA9IHsKKyAgZ2V0IF9jdXJyZW50U3Rl
cCgpIHsKKyAgICByZXR1cm4gdGhpcy5fc3RlcHNbdGhpcy5fc3RlcElkeF07CisgIH0sCisKKyAg
X25leHRTdGVwOiBmdW5jdGlvbigpIHsKKyAgICBpZiAoKyt0aGlzLl9zdGVwSWR4ID09IHRoaXMu
X3N0ZXBzLmxlbmd0aCkKKyAgICAgIHJldHVybiB0aGlzLl9kb25lKCk7CisgICAgdGhpcy5fdGlt
ZW91dElkID0gdGhpcy5faGFybmVzc1Rlc3Quc3RlcF90aW1lb3V0KAorICAgICAgdGhpcy5fdGlt
ZW91dEJpbmQsIFJlc2l6ZVRlc3RIZWxwZXIuVElNRU9VVCk7CisgICAgdHJ5IHsKKyAgICAgIHRo
aXMuX3N0ZXBzW3RoaXMuX3N0ZXBJZHhdLnNldHVwKHRoaXMuX29ic2VydmVyKTsKKyAgICB9Cisg
ICAgY2F0Y2goZXJyKSB7CisgICAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiQ2F1Z2h0IGEgdGhyb3csIHBvc3NpYmxlIHN5bnRheCBl
cnJvciIpOworICAgICAgfSk7CisgICAgfQorICB9LAorCisgIF9oYW5kbGVOb3RpZmljYXRpb246
IGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAgICBpZiAodGhpcy5fdGltZW91dElkKSB7CisgICAgICB3
aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXRJZCk7CisgICAgICBkZWxldGUgdGhpcy5f
dGltZW91dElkOworICAgIH0KKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAg
ICAgIGxldCByYWZEZWxheSA9IHRoaXMuX2N1cnJlbnRTdGVwLm5vdGlmeShlbnRyaWVzLCB0aGlz
Ll9vYnNlcnZlcik7CisgICAgICBpZiAocmFmRGVsYXkpCisgICAgICAgIHdpbmRvdy5yZXF1ZXN0
QW5pbWF0aW9uRnJhbWUodGhpcy5fbmV4dFN0ZXBCaW5kKTsKKyAgICAgIGVsc2UKKyAgICAgICAg
dGhpcy5fbmV4dFN0ZXAoKTsKKyAgICB9KTsKKyAgfSwKKworICBfaGFuZGxlVGltZW91dDogZnVu
Y3Rpb24oKSB7CisgICAgZGVsZXRlIHRoaXMuX3RpbWVvdXRJZDsKKyAgICB0aGlzLl9oYXJuZXNz
VGVzdC5zdGVwKCgpID0+IHsKKyAgICAgIGlmICh0aGlzLl9jdXJyZW50U3RlcC50aW1lb3V0KSB7
CisgICAgICAgIHRoaXMuX2N1cnJlbnRTdGVwLnRpbWVvdXQoKTsKKyAgICAgIH0KKyAgICAgIGVs
c2UgeworICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90
aWZpY2F0aW9uLiAoIiArIFJlc2l6ZVRlc3RIZWxwZXIuVElNRU9VVCArICJtcykiKTsKKyAgICAg
IH0KKyAgICAgIHRoaXMuX25leHRTdGVwKCk7CisgICAgfSk7CisgIH0sCisKKyAgX2RvbmU6IGZ1
bmN0aW9uKCkgeworICAgIHRoaXMuX29ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICBkZWxldGUg
dGhpcy5fb2JzZXJ2ZXI7CisgICAgdGhpcy5faGFybmVzc1Rlc3QuZG9uZSgpOworICAgIGlmICh0
aGlzLl9yYWZDb3VudFJlcXVlc3QpIHsKKyAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFt
ZSh0aGlzLl9yYWZDb3VudFJlcXVlc3QpOworICAgICAgZGVsZXRlIHRoaXMuX3JhZkNvdW50UmVx
dWVzdDsKKyAgICB9CisgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7IHRo
aXMuX3Jlc29sdmVQcm9taXNlKCk7IH0pOworICB9LAorCisgIHN0YXJ0OiBmdW5jdGlvbigpIHsK
KyAgICB0aGlzLl9oYXJuZXNzVGVzdCA9IGFzeW5jX3Rlc3QodGhpcy5fbmFtZSk7CisgICAgdGhp
cy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHRoaXMuX3N0
ZXBJZHgsIC0xLCAic3RhcnQgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UiKTsKKyAgICAgIHRoaXMu
X25leHRTdGVwKCk7CisgICAgfSk7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKCAocmVzb2x2ZSwg
cmVqZWN0KSA9PiB7CisgICAgICB0aGlzLl9yZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7CisgICAg
ICB0aGlzLl9yZWplY3RQcm9taXNlID0gcmVqZWN0OworICAgIH0pOworICB9LAorCisgIGdldCBy
YWZDb3VudCgpIHsKKyAgICBpZiAoIXRoaXMuX3JhZkNvdW50UmVxdWVzdCkKKyAgICAgIHRocm93
ICJyQUYgY291bnQgaXMgbm90IGFjdGl2ZSI7CisgICAgcmV0dXJuIHRoaXMuX3JhZkNvdW50Owor
ICB9LAorCisgIF9pbmNyZW1lbnRSYWY6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9yYWZD
b3VudFJlcXVlc3QpIHsKKyAgICAgIHRoaXMuX3JhZkNvdW50Kys7CisgICAgICB0aGlzLl9yYWZD
b3VudFJlcXVlc3QgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3JlbWVu
dFJhZkJpbmQpOworICAgIH0KKyAgfSwKKworICBzdGFydENvdW50aW5nUmFmOiBmdW5jdGlvbigp
IHsKKyAgICBpZiAodGhpcy5fcmFmQ291bnRSZXF1ZXN0KQorICAgICAgd2luZG93LmNhbmNlbEFu
aW1hdGlvbkZyYW1lKHRoaXMuX3JhZkNvdW50UmVxdWVzdCk7CisgICAgaWYgKCF0aGlzLl9pbmNy
ZW1lbnRSYWZCaW5kKQorICAgICAgdGhpcy5faW5jcmVtZW50UmFmQmluZCA9IHRoaXMuX2luY3Jl
bWVudFJhZi5iaW5kKHRoaXMpOworICAgIHRoaXMuX3JhZkNvdW50ID0gMDsKKyAgICB0aGlzLl9y
YWZDb3VudFJlcXVlc3QgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3Jl
bWVudFJhZkJpbmQpOworICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWYzN2NlYTVm
YzA2NGFkYTc5YWNlYzBkZjNjMzhmMTZmYWMwMTM4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jl
c291cmNlcy93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDE4IEBACitUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93
ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNv
dXJjZXMvaWZyYW1lLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvc3ZnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZGNmODM2ZTVmMjBhYWEzOGIxN2YzMGQ0Y2EyZGFhYjRlY2EwMzMzMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1F
U1NBR0U6IGxpbmUgNTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNp
emVPYnNlcnZlcgorUmVzaXplT2JzZXJ2ZXIgc3ZnIHRlc3RzCisKK0hlcmUgaXMgYSBwYXJhZ3Jh
cGggdGhhdCByZXF1aXJlcyB3b3JkIHdyYXAKKworc3ZnIHRleHQgdGFnCisKK0ZBSUwgUmVzaXpl
T2JzZXJ2ZXIgaW1wbGVtZW50ZWQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVy
dHkgIlJlc2l6ZU9ic2VydmVyIiBtaXNzaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvc3ZnLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDllNWMxOTUzZWMyNzhlOTIxNzY5ZGM5MjQyMGM3OWNm
N2YwMDM0NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1sCkBAIC0wLDAgKzEsMzMzIEBA
Cis8IWRvY3R5cGUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpS
ZXNpemVPYnNlcnZlckVuYWJsZWQ9dHJ1ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6
ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0PgorPHA+UmVzaXplT2JzZXJ2ZXIgc3ZnIHRlc3RzPC9w
PgorPHN2ZyBoZWlnaHQ9IjQzMCIgd2lkdGg9IjUwMCIgPgorICA8Y2lyY2xlIGN4PSIxMCIgY3k9
IjEwIiByPSI1IiBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDox
IiAvPgorICA8ZWxsaXBzZSBjeD0iMTAiIGN5PSIzMCIgcng9IjUiIHJ5PSI1IiBzdHlsZT0iZmls
bDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIi8+CisgIDxmb3JlaWduT2JqZWN0
IGN5PSI1MCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIyMCI+CisgICAgPGJvZHk+CisgICAgICA8cD5I
ZXJlIGlzIGEgcGFyYWdyYXBoIHRoYXQgcmVxdWlyZXMgd29yZCB3cmFwPC9wPgorICAgIDwvYm9k
eT4KKyAgPC9mb3JlaWduT2JqZWN0PgorICA8aW1hZ2UgeGxpbms6aHJlZj0iIiB4PSIwIiB5PSIx
MDAiIGhlaWdodD0iMzAiIHdpZHRoPSIxMDAiIC8+CisgIDxsaW5lIHgxPSIwIiB5MT0iNTAiIHgy
PSIyMCIgeTI9IjcwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiLz4KKyAgPHBhdGgg
ZD0iTSAwIDEwMCBMIDEwMCAxMDAgTCA1MCAxNTAgeiIKKyAgICAgICAgc3R5bGU9ImZpbGw6b3Jh
bmdlO3N0cm9rZTpibGFjaztzdHJva2Utd2lkdGg6MSIgLz4KKyAgPHBvbHlnb24gcG9pbnRzPSIw
LDIwMCAxMDAsMjAwIDUwLDI1MCIgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJv
a2Utd2lkdGg6MSIgLz4KKyAgPHBvbHlsaW5lIHBvaW50cz0iMCwzMDAgMTAwLDMwMCA1MCwzNTAi
IHN0eWxlPSJmaWxsOm9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEiLz4KKyAgPHJl
Y3QgeD0iMCIgeT0iMzgwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHN0eWxlPSJmaWxsOm9yYW5n
ZTsgc3Ryb2tlOmJsYWNrOyBzdHJva2Utd2lkdGg6MSIgLz4KKyAgPHRleHQgeD0iMCIgeT0iNDAw
IiBmb250LXNpemU9IjIwIj5zdmcgdGV4dCB0YWc8L3RleHQ+Cis8L3N2Zz4KKzxzY3JpcHQ+Cisn
dXNlIHN0cmljdCc7CisKK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsK
KworZnVuY3Rpb24gdGVzdDAoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCdjaXJjbGUnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAg
ICJ0ZXN0MDogb2JzZXJ2ZSBzdmc6Y2lyY2xlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4g
dHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncicsIDEw
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgIH0KKyAgICB9Cisg
IF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgewor
ICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZWxsaXBzZScpOworICBsZXQg
aGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBvYnNlcnZlIHN2Zzpl
bGxpcHNlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQg
c3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsK
KyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncngnLCAxMCk7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC53aWR0aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3QuaGVpZ2h0LCAxMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhl
bHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IHRhcmdldCA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ZvcmVpZ25PYmplY3QnKTsKKyAgbGV0IGhlbHBlciA9IG5l
dyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0Mjogb2JzZXJ2ZSBzdmc6Zm9yZWlnbk9iamVj
dCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAK
KyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgMjAwKTsKKyAgICAgIH0sCisgICAgICBu
b3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRl
bnRSZWN0LndpZHRoLCAyMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3QuaGVpZ2h0LCAyMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhl
bHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MygpIHsKKyAgbGV0IHRhcmdldCA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ltYWdlJyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXpl
VGVzdEhlbHBlcigKKyAgICAidGVzdDM6IG9ic2VydmUgc3ZnOmltYWdlIiwKKyAgWworICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFy
Z2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0s
CisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0
dHJpYnV0ZSgnaGVpZ2h0JywgNDApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEw
MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQs
IDQwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9
CisKK2Z1bmN0aW9uIHRlc3Q0KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignbGluZScpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAg
InRlc3Q0OiBvYnNlcnZlIHN2ZzpsaW5lIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1
ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0
dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgneTInLCA4MCk7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAzMCk7CisgICAgICB9CisgICAgfQor
ICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NSgpIHsK
KyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3BhdGgnKTsKKyAgbGV0IGhl
bHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0NTogb2JzZXJ2ZSBzdmc6cGF0
aCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAK
KyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ2QnLCAiTSAwIDEwMCBMIDEwMCAxMDAgTCA1MCAxNjAg
eiIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYwKTsKKyAgICAgIH0KKyAg
ICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q2
KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncG9seWdvbicpOwor
ICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q2OiBvYnNlcnZl
IHN2ZzpwYXRoIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5l
eHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncG9pbnRzJywgIjAsMjAwIDEwMCwyMDAg
NTAsMjYwIik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNjApOworICAgICAg
fQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24g
dGVzdDcoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdwb2x5bGlu
ZScpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q3OiBv
YnNlcnZlIHN2Zzpwb2x5bGluZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAv
LyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3BvaW50cycsICIwLDMw
MCAxMDAsMzAwIDUwLDM2MCIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYw
KTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3Q4KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigncmVjdCcpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRl
c3Q4OiBvYnNlcnZlIHN2ZzpyZWN0IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAg
ICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsg
IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAiMjAi
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAyMCk7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwKTsKKyAgICAgIH0KKyAgICB9
CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q5KCkg
eworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGV4dCcpOworICBsZXQg
aGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q5OiBvYnNlcnZlIHN2Zzp0
ZXh0IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9i
c2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVz
LCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3Rl
cAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnZm9udC1zaXplJywgIjI1Iik7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJu
IGhlbHBlci5zdGFydCgpOworfQorCisKK2Z1bmN0aW9uIHRlc3QxMCgpIHsKKyAgbGV0IHRhcmdl
dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpOworICBsZXQgaGVscGVyID0gbmV3IFJl
c2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMDogb2JzZXJ2ZSBzdmc6c3ZnLCB0b3AvbGVmdCBp
cyAwIGV2ZW4gd2l0aCBwYWRkaW5nIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAg
ICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNv
bnRlbnRSZWN0LnRvcCwgMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC5sZWZ0LCAwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVy
LnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJv
cGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdn
dWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAu
dGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0
ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigo
KSA9PiB7IHJldHVybiB0ZXN0NCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgp
OyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7
IHJldHVybiB0ZXN0NygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0OCgpOyB9KQor
ICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0OSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVy
biB0ZXN0MTAoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOworCis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvdzNjLWltcG9ydC5sb2cK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTY0MWVlYzJjOGUwOWQxNDMzZjdmMDVlOWQ4YjIwMmZiM2M5ZDVkNQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAKK1RoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVz
OgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL01FVEEueW1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRv
dy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL25vdGlmeS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360293</attachid>
            <date>2019-01-27 06:26:35 -0800</date>
            <delta_ts>2019-01-27 06:41:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193821-20190127222630.patch</filename>
            <type>text/plain</type>
            <size>63619</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZDlkMmNlMTIxYTE4MjEy
OGFmM2M1MGI2MTVjZTlmZDFiZDkyMjQuLjQwODkyYTNlZDU5NGExY2QxZjFlMTI2YjdlNTRkMDQw
MGZiYTBlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBj
aGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2Jz
ZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMTkt
MDEtMjcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBB
WDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCmluZGV4IDAwMzU2MWVhNzBkOTVhMTNlNjc1NDBkZjE3MTEwY2NiYzBlMTIwMmIu
LmExOGRmZDEyNWMyOTg0NmViM2QwZDFlOGJkNGVkYjFlNjNkYzc4NjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMS0yNyAgY2F0aGllIGNoZW4g
IDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wb3J0IFJlc2l6ZSBPYnNlcnZl
ciB0ZXN0IGNhc2VzIGZyb20gV1BUcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTkzODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVu
Y2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgcmVzaXplT2JzZXJ2
ZXJFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFJlc2l6ZU9ic2VydmVy
RW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVy
ZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE5LTAxLTI3ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmls
aXR5IHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCA1YWNhZGYxODU4ZWVjOTNm
ZTI1OTcwMGQ2Y2JjZGViOTBiOTJlNjE2Li5iMmZkOTgyOGJhMWU4MTZmMjZkNWQyOGM0ZGM4NTAz
ZDUzOGYyNGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAg
ICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJl
bmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNl
czo6cmVzaXplT2JzZXJ2ZXJFbmFibGVkKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRS
ZXNpemVPYnNlcnZlckVuYWJsZWQpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAg
ICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0No
YW5nZWQpOgorCiAyMDE5LTAxLTI0ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255
LmNvbT4KIAogICAgICAgICBNb3ZlIEZpbGVTeXN0ZW0gdG8gV1RGCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCA5YjBlYWNhYTliN2E3OWMyMWZkYTQwZGNiZDZi
N2RjYzc3ZGFlNzNjLi4zMTNlYTY2NTE3YzUxMTNjOTE1NzdiMjQyMzgzZmViY2Y2ZGZlYmEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTEzODAsNiArMTM4
MCwxNCBAQCBQcm9jZXNzU3dhcE9uQ3Jvc3NTaXRlTmF2aWdhdGlvbkVuYWJsZWQ6CiAgIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKICAgd2ViY29yZUJpbmRpbmc6IG5vbmUKIAorUmVzaXplT2JzZXJ2
ZXJFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJSZXNpemUgT2JzZXJ2ZXIiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
bjogIkVuYWJsZSBSZXNpemUgT2JzZXJ2ZXIgc3VwcG9ydCIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1l
bnRhbAorICBjb25kaXRpb246IEVOQUJMRShSRVNJWkVfT0JTRVJWRVIpCisKICMgRm9yIGludGVy
bmFsIGZlYXR1cmVzOgogIyBUaGUgdHlwZSBzaG91bGQgYmUgYm9vbGVhbi4KICMgWW91IG11c3Qg
cHJvdmlkZSBhIGh1bWFuUmVhZGFibGVOYW1lIGFuZCBodW1hblJlYWRhYmxlRGVzY3JpcHRpb24g
Zm9yIGFsbCBkZWJ1ZyBmZWF0dXJlcy4gVGhleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNDlk
MzQyZmYyZTI3NDA0YWU4YzI2OWUyYjVhOTYwYTI2ZGYzYjk4MC4uODUyYmM2NTYwZjg3NTljOTRh
MTI2MmRmMDNmN2FiNGQxMTk5NzAzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yNjUsMyAr
MjY1LDQgQEAKICNkZWZpbmUgV2ViS2l0U2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmllc0Vu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0U2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmll
c0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdENTU0xvZ2ljYWxFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdENTU0xvZ2ljYWxFbmFibGVkIgogI2RlZmluZSBXZWJLaXRBZENsaWNrQXR0cmlidXRp
b25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQi
CisjZGVmaW5lIFdlYktpdFJlc2l6ZU9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRSZXNpemVPYnNlcnZlckVuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBlODAyYzBhNDhjZGFjZjhmYzE5M2RmNjZm
NzE3Y2EwMzFjMmU2NjY0Li40NTUxNDNkZThhODRhZmFhYmQ3NzY3NjViOWZkZTA0ZjJjMmJlZmU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0KQEAgLTY5Myw2ICs2OTMsOSBAQCBwdWJsaWM6CiAgICAgICAgIEBOTywgV2ViS2l0TWVk
aWFDYXBhYmlsaXRpZXNFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRG
ZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktp
dFNlcnZlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAorI2lmIEVOQUJMRShSRVNJWkVfT0JT
RVJWRVIpCisgICAgICAgIEBOTywgV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5j
ZUtleSwKKyNlbmRpZgogICAgICAgICBuaWxdOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
CkBAIC0zNDAxLDYgKzM0MDQsMTUgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklE
ID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0QWRDbGlj
a0F0dHJpYnV0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXJlc2l6ZU9i
c2VydmVyRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktp
dFJlc2l6ZU9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFJl
c2l6ZU9ic2VydmVyRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1
ZTpmbGFnIGZvcktleTpXZWJLaXRSZXNpemVPYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5XTsK
K30KIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlByZWZlcmVuY2VzIChXZWJJbnRlcm5hbCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oCmluZGV4IDg4MjBkYjI3MDNmN2FiODU5NzI2ZTVhYzcxYWQxZDU5NWYzOGMy
ODMuLjQ4OTM4YzdjNGU1Y2I3MTJlMWVkOGQ4NmUxMmFhOTcwODEwNWE5MDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaApAQCAtNjE5LDYgKzYxOSw3IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIFdFQktJVF9ERVBSCiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCBtZWRpYVJlY29yZGVyRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIGFsbG93Q3Jvc3NPcmlnaW5TdWJyZXNvdXJjZXNUb0Fza0ZvckNyZWRlbnRp
YWxzOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgc291cmNlQnVmZmVyQ2hhbmdlVHlwZUVu
YWJsZWQ7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXNpemVPYnNlcnZlckVuYWJsZWQ7
CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBxdWlj
a0xvb2tEb2N1bWVudFNhdmluZ0VuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KaW5kZXggZWFlZjhmZjE2MGZiNGViMzBhODkwZTZiY2Y1M2FmZGE2YWQ1
NTAxNy4uYmJlNTVmNzg5NWM0MWQ0MTVkMTg0NmQ4Y2QzZjJmYzJmMDg3YjRjOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzE5Miw2ICszMTkyLDEw
IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFNlcnZlclRpbWluZ0Vu
YWJsZWQoW3ByZWZlcmVuY2VzIHNlcnZlclRpbWluZ0VuYWJsZWRdKTsKIAogICAgIHNldHRpbmdz
LnNldFNlbGVjdGlvbkFjcm9zc1NoYWRvd0JvdW5kYXJpZXNFbmFibGVkKHByZWZlcmVuY2VzLnNl
bGVjdGlvbkFjcm9zc1NoYWRvd0JvdW5kYXJpZXNFbmFibGVkKTsKKworI2lmIEVOQUJMRShSRVNJ
WkVfT0JTRVJWRVIpCisgICAgc2V0dGluZ3Muc2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKFtwcmVm
ZXJlbmNlcyByZXNpemVPYnNlcnZlckVuYWJsZWRdKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgaW5s
aW5lIElNUCBnZXRNZXRob2QoaWQgbywgU0VMIHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApp
bmRleCAxOTg4MmNkZDBmMGM2ZDc0ZTViZDI3YTcyNTA3ZTlkYzc1NjdlOGYxLi5lZDhiMWNjYWE5
ZGMzOTA1MTgzZGE3MDE1NzA1ZDM5YzExN2FhMzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5p
ZGwKQEAgLTIzOCw0ICsyMzgsNiBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcg
OiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNgogewogICAgIEhSRVNVTFQgY3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3lTdXBwb3J0RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAg
IEhSRVNVTFQgc2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChbaW5dIEJP
T0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCByZXNpemVPYnNlcnZlckVuYWJsZWQoW291dCwgcmV0
dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRSZXNpemVPYnNlcnZlckVuYWJsZWQoW2luXSBC
T09MIGVuYWJsZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA5NDBkNWNmNTVkMTNiZTU3ODdhNjhkMWI0MzA2ZWRj
MDhjZmU5MjQ2Li5mOTQyMWFiMmJmOGQ1YmFlNzFkZDlkMTc5ZTM4NDU0MGYxMmQwOGEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aApAQCAtMjA2LDMgKzIwNiw0IEBACiAKICNkZWZpbmUgV2ViS2l0Q1NTT01WaWV3U2Nyb2xsaW5n
QVBJRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJs
ZWQiCiAKKyNkZWZpbmUgV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdFJlc2l6ZU9ic2VydmVyRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlByZWZlcmVuY2VzLmNwcAppbmRleCAwMjVjMjBiZWEyMzhjZDZhNDk1YTI1MGY2YzU1MGNhN2Y1
Mjc5ZDY5Li45MDIzZTNmNDE1MzEwOWQ3NzE0NTVjMjJkZGQyYTU2ZjdlMThhNjI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0zMjksNiArMzI5LDgg
QEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncygpCiAKICAg
ICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0Q1NTT01WaWV3U2Ny
b2xsaW5nQVBJRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCisgICAg
Q0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFJlc2l6ZU9ic2VydmVy
RW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAgZGVmYXVsdFNl
dHRpbmdzID0gZGVmYXVsdHM7CiB9CiAKQEAgLTIyNjAsMyArMjI2MiwxNyBAQCBIUkVTVUxUIFdl
YlByZWZlcmVuY2VzOjpzZXRTZXJ2ZXJUaW1pbmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKICAgICBz
ZXRCb29sVmFsdWUoV2ViS2l0U2VydmVyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJs
ZWQpOwogICAgIHJldHVybiBTX09LOwogfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpyZXNp
emVPYnNlcnZlckVuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJs
ZWQpCisgICAgICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVG
b3JLZXkoV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0
dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFJlc2l6ZU9ic2VydmVy
RW5hYmxlZChCT09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdFJlc2l6ZU9i
c2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOworICAgIHJldHVybiBTX09LOwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggMjkwNmIzNmIx
ODhjOWQ4OTIyOTRiY2RlZGYyYTZjMjUxZGU4YmI0Ni4uNmViYTE3YzNlODc2NTk1YTlmMGI0OTFh
OGVjYmVmMGM3NjYzMzI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
cy5oCkBAIC0yODMsNiArMjgzLDggQEAgcHVibGljOgogICAgIC8vIElXZWJQcmVmZXJlbmNlc1By
aXZhdGU3CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNyb3NzT3JpZ2lu
V2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRF
bmFibGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZXNp
emVPYnNlcnZlckVuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXRSZXNpemVPYnNlcnZlckVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBX
ZWJQcmVmZXJlbmNlcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJW
aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IGUzMzEw
NjNhMGJmMGViZDgyMDA5MTUwNDA3NjI2ZGU5YTE0MGU1MmYuLmE2NDRhODA5NTE2NDIyNWUyNzk3
NmQ3NDdmODlkZmQ0NGMyMGQyYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBA
IC01NTk0LDYgKzU1OTQsMTEgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0No
YW5nZWQoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm4gaHI7
CiAgICAgc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFJ1bnRpbWVGbGFncyhKU0M6OlJ1bnRpbWVGbGFn
cyhqYXZhU2NyaXB0UnVudGltZUZsYWdzKSk7CiAKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+cmVz
aXplT2JzZXJ2ZXJFbmFibGVkKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAg
ICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLnNldFJlc2l6ZU9ic2VydmVyRW5hYmxlZCghIWVu
YWJsZWQpOworCiAgICAgaHIgPSBwcmVmc1ByaXZhdGUtPnNlcnZlclRpbWluZ0VuYWJsZWQoJmVu
YWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICByZXR1cm4gaHI7CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZDBiOTY3MjIzM2Nm
ODI3OGJjMmViNmM3MzM1NzI1ODk1ZmI4YjRkZC4uNDhhY2JiMTQ2NDlkYjdmNzJlNjAyZDIwYmFm
MjU0MWQ0YTBmNWFjNCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTAxLTI3ICBjYXRoaWUgY2hlbiAgPGNhdGhp
ZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBvcnQgUmVzaXplIE9ic2VydmVyIHRlc3Qg
Y2FzZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTM4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAgICAgKFRlc3RP
cHRpb25zOjpUZXN0T3B0aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlv
bnMuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW06Cisg
ICAgICAgIChzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKToKKyAgICAgICAgQWxsb3cg
dGVzdHMgdG8gZW5hYmxlIHRoZSBSZXNpemVPYnNlcnZlckVuYWJsZWQgZmxhZyBpbiBXSzEuCisK
IDIwMTktMDEtMjcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvVGVzdE9wdGlvbnMuY3BwCmluZGV4IGM5MjY2MTJiMWIxNjA0YTgzY2UyNjAzYmNkYTg4
Y2UzOTgzZDM1OGUuLjgyMTU0MTdhOTI0NWM3OGU0OTI1NjUwZmZmZjI3OGMzZGVhZDg3YzcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKQEAgLTExMSw2ICsxMTEsOCBAQCBUZXN0
T3B0aW9uczo6VGVzdE9wdGlvbnMoY29uc3Qgc3RkOjpzdHJpbmcmIHBhdGhPclVSTCwgY29uc3Qg
c3RkOjpzdHJpbmcmIGFic29sdQogICAgICAgICAgICAgZW5hYmxlQ1NTTG9naWNhbCA9IHBhcnNl
Qm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGVsc2UgaWYgKGtleSA9PSAi
aW50ZXJuYWw6QWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCIpCiAgICAgICAgICAgICBhZENsaWNr
QXR0cmlidXRpb25FbmFibGVkID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsK
KyAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJlbmFibGVSZXNpemVPYnNlcnZlciIpCisgICAgICAg
ICAgICBlbmFibGVSZXNpemVPYnNlcnZlciA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2
YWx1ZSk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBhaXJFbmQgKyAxOwogICAgIH0KIH0KZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmggYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9UZXN0T3B0aW9ucy5oCmluZGV4IGMyN2U4NDJhNDhmNTdhYzgwZjVmMDRiYmI1ZTZh
OTJhZDEwNWQ4MWQuLmQ4ODVlZGJkZWIwNmE4YmI2N2Y0YTAxYmFmMmIyYmM1M2ZjNGM3ZDEgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaApAQCAtNDYsNiArNDYsNyBAQCBzdHJ1Y3QgVGVz
dE9wdGlvbnMgewogICAgIGJvb2wgZW5hYmxlV2ViR1BVIHsgZmFsc2UgfTsKICAgICBib29sIGVu
YWJsZUNTU0xvZ2ljYWwgeyBmYWxzZSB9OwogICAgIGJvb2wgYWRDbGlja0F0dHJpYnV0aW9uRW5h
YmxlZCB7IGZhbHNlIH07CisgICAgYm9vbCBlbmFibGVSZXNpemVPYnNlcnZlciB7IGZhbHNlIH07
CiAgICAgc3RkOjpzdHJpbmcganNjT3B0aW9uczsKIAogICAgIFRlc3RPcHRpb25zKGNvbnN0IHN0
ZDo6c3RyaW5nJiBwYXRoT3JVUkwsIGNvbnN0IHN0ZDo6c3RyaW5nJiBhYnNvbHV0ZVBhdGgpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IGQzZjU4Yzc3
ZDI5ZjRkZWQ4ZTlkNDQ5Zjg4ZjRhMzUwMWZkMTJkNGUuLmU2NmMwNWYzZmQxZDNmNzM3MjMyYWI2
ZTMxMjMyNzljNDQ3NjZlYTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9E
dW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW0KQEAgLTEwMTIsNiArMTAxMiw3IEBAIHN0YXRpYyB2b2lkIHNldFdlYlByZWZlcmVu
Y2VzRm9yVGVzdE9wdGlvbnMoY29uc3QgVGVzdE9wdGlvbnMmIG9wdGlvbnMpCiAgICAgcHJlZmVy
ZW5jZXMud2ViR1BVRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlV2ViR1BVOwogICAgIHByZWZlcmVu
Y2VzLkNTU0xvZ2ljYWxFbmFibGVkID0gb3B0aW9ucy5lbmFibGVDU1NMb2dpY2FsOwogICAgIHBy
ZWZlcmVuY2VzLmFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQgPSBvcHRpb25zLmFkQ2xpY2tBdHRy
aWJ1dGlvbkVuYWJsZWQ7CisgICAgcHJlZmVyZW5jZXMucmVzaXplT2JzZXJ2ZXJFbmFibGVkID0g
b3B0aW9ucy5lbmFibGVSZXNpemVPYnNlcnZlcjsKIH0KIAogLy8gQ2FsbGVkIG9uY2Ugb24gRHVt
cFJlbmRlclRyZWUgc3RhcnR1cC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGVj
MDU3NDEyY2UzNjhiZDc0MDM2ZmYxNDM2YzZhNWNhZjQ0OWM3YWYuLjBiYWYyZTUwYjM3MTI0NzNk
MjFmYjNkOGI4YjIxYmU5ZWYxODM4MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM4IEBACisyMDE5LTAxLTI3ICBjYXRoaWUgY2hlbiAgPGNhdGhpZWNoZW5AaWdh
bGlhLmNvbT4KKworICAgICAgICBJbXBvcnQgUmVzaXplIE9ic2VydmVyIHRlc3QgY2FzZXMgZnJv
bSBXUFRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTM4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHJlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9NRVRBLnltbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50
bG9vcC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lk
bGhhcm5lc3Mud2luZG93LmpzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL25vdGlmeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvb2JzZXJ2ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL3Jlc291cmNlcy9pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBl
ci5qczogQWRkZWQuCisgICAgICAgIChSZXNpemVUZXN0SGVscGVyKToKKyAgICAgICAgKFJlc2l6
ZVRlc3RIZWxwZXIucHJvdG90eXBlLmdldCBfY3VycmVudFN0ZXApOgorICAgICAgICAoUmVzaXpl
VGVzdEhlbHBlci5wcm90b3R5cGUuX25leHRTdGVwKToKKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxw
ZXIucHJvdG90eXBlLl9oYW5kbGVOb3RpZmljYXRpb24pOgorICAgICAgICAoUmVzaXplVGVzdEhl
bHBlci5wcm90b3R5cGUuX2hhbmRsZVRpbWVvdXQpOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBl
ci5wcm90b3R5cGUuX2RvbmUpOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUu
c3RhcnQpOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuZ2V0IHJhZkNvdW50
KToKKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlLl9pbmNyZW1lbnRSYWYpOgor
ICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuc3RhcnRDb3VudGluZ1JhZik6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2c6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvc3ZnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIw
MTktMDEtMjQgIENoYXJsZXMgVmF6YWMgIDxjdmF6YWNAYWthbWFpLmNvbT4KIAogICAgICAgICBJ
bXBsZW1lbnQgUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlv
bnMuanNvbiBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uCmluZGV4IGQ2ZWU5NDEyMWNkNmE4YjU5NWFjMzJjNTZiMjkzMmYwOTUyODE3
MzMuLjNhMGRlZjY2YjBjZGI5YzM0YWRhMzdhMThjMzEwOGVmNjAyY2Y3MmIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5q
c29uCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVj
dGF0aW9ucy5qc29uCkBAIC0yOTYsNiArMjk2LDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L3JlbW90ZS1wbGF5YmFjayI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1
ZXN0aWRsZWNhbGxiYWNrIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlciI6ICJza2lwIiwgCisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzIjogImlt
cG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvc2NyZWVuLW9yaWVudGF0aW9uIjogInNr
aXAiLCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvTUVUQS55bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWY2Njg1NjIyYjJhYjJlMjZjYzYzMzBmOTgxMzBiZTVkNDMwMWIwMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL01FVEEueW1sCkBAIC0wLDAgKzEsNCBAQAorc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1
Yi5pby9SZXNpemVPYnNlcnZlci8KK3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gYXRvdGljCisg
IC0gZGhvbGJlcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9l
dmVudGxvb3AtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiMjMxMDY2NDA3N2M0Nzc3ZDQxNzEy
MjE1NDUzMjM1OTkzYzIxODMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUwOiBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6ZU9ic2Vy
dmVyIG5vdGlmaWNhdGlvbiBldmVudCBsb29wIHRlc3RzCisKK3QxCisKK0ZBSUwgUmVzaXplT2Jz
ZXJ2ZXIgaW1wbGVtZW50ZWQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkg
IlJlc2l6ZU9ic2VydmVyIiBtaXNzaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvZXZlbnRsb29wLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjIyZDcyNGExOWIzZGIyMGEyMWVmMjRh
Yjk4NWQ4NGI3ZTM1YjllNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sCkBA
IC0wLDAgKzEsMjU5IEBACis8IWRvY3R5cGUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IGV4cGVyaW1lbnRhbDpSZXNpemVPYnNlcnZlckVuYWJsZWQ9dHJ1ZSBdIC0tPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4v
cmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICBkaXYg
eworICAgIGJvcmRlcjogMXB4IGRvdHRlZCBncmF5CisgIH0KKzwvc3R5bGU+Cis8cD5SZXNpemVP
YnNlcnZlciBub3RpZmljYXRpb24gZXZlbnQgbG9vcCB0ZXN0czwvcD4KKzxkaXYgaWQ9InRhcmdl
dDEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MQorPC9kaXY+Cis8ZGl2IGlk
PSJjb250YWluZXIiPgorICA8ZGl2IGlkPSJhMSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDox
MDBweCI+CisgICAgPGRpdiBpZD0iYTIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgi
PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKyAgPGRpdiBpZD0iYjEiIHN0eWxlPSJ3aWR0aDoxMDBw
eDtoZWlnaHQ6MTAwcHgiPgorICAgIDxkaXYgaWQ9ImIyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVp
Z2h0OjEwMHB4Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisndXNl
IHN0cmljdCc7CisKK2xldCB0MSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQxJyk7
CisKKy8vIGFsbG93IHVuY2F1Z2h0IGV4Y2VwdGlvbiBiZWNhdXNlIFJlc2l6ZU9ic2VydmVyIHBv
c3RzIGV4Y2VwdGlvbnMKKy8vIHRvIHdpbmRvdyBlcnJvciBoYW5kbGVyIHdoZW4gbGltaXQgaXMg
ZXhjZWVkZWQuCisvLyBUaGlzIGNvZGVwYXRoIGlzIHRlc3RlZCBpbiB0aGlzIGZpbGUuCisKK3Nl
dHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rpb24gdGVtcGxh
dGUoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6
IHRpdGxlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJu
IHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1
cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK3ZhciBvbkVycm9yQ2FsbGVkID0gZmFsc2U7CisKK3dp
bmRvdy5vbmVycm9yID0gZXJyID0+IHsKKyAgb25FcnJvckNhbGxlZCA9IHRydWU7Cit9CisKK2Z1
bmN0aW9uIHRlc3QwKCkgeworCisgIGxldCBkaXZzID0gW3QxXTsKKyAgbGV0IHJBRiA9IDA7Cisg
IGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IG11bHRpcGxl
IG5vdGlmaWNhdGlvbnMgaW5zaWRlIHNhbWUgZXZlbnQgbG9vcCIsCisgIFsKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvbkVycm9yQ2FsbGVkID0gZmFsc2U7Cisg
ICAgICAgIGxldCB0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICBs
ZXQgdDMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgdDIuYXBwZW5k
Q2hpbGQodDMpOworICAgICAgICB0MS5hcHBlbmRDaGlsZCh0Mik7CisgICAgICAgIGRpdnMucHVz
aCh0Mik7CisgICAgICAgIGRpdnMucHVzaCh0Myk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUo
dDEpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgICAgb2JzZXJ2ZXIub2Jz
ZXJ2ZSh0Myk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMywgIjMgbm90aWZpY2F0
aW9ucyIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgaGVscGVyLnN0YXJ0Q291bnRpbmdSYWYoKTsKKyAgICAgICAgZGl2cy5mb3JF
YWNoKCBlbCA9PiB7IGVsLnN0eWxlLndpZHRoID0gIjEwMXB4Ijt9KTsKKyAgICAgIH0sCisgICAg
ICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICAvLyB0MSBpcyBub3Qg
ZGVsaXZlcmVkCisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDIsICIyIG5v
dGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhoZWxwZXIucmFmQ291bnQsIDAs
ICJzdGlsbCBpbiBzYW1lIGxvb3AiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNl
dHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGRpdnMuZm9yRWFjaCggZWwgPT4geyBlbC5zdHls
ZS53aWR0aCA9ICIxMDJweCI7fSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwg
IjEgbm90aWZpY2F0aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3Vu
dCwgMCwgInNhbWUgbG9vcCIpOworICAgICAgfQorICAgIH0sCisgICAgeyAvLyB0MSBhbmQgdDIg
Z2V0IG5vdGlmaWVkCisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAgICAg
IG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllcy5sZW5ndGgsIDIsICIyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhoZWxwZXIucmFmQ291bnQsIDEsICJuZXcgbG9vcCIpOworICAgICAgICBhc3NlcnRfZXF1
YWxzKG9uRXJyb3JDYWxsZWQsIHRydWUsICJlcnJvciB3YXMgZmlyZWQiKTsKKyAgICAgICAgb2Jz
ZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgICAgICB3aGlsZSAodDEuY2hpbGROb2Rlcy5sZW5ndGgg
PiAwKQorICAgICAgICAgIHQxLnJlbW92ZUNoaWxkKHQxLmNoaWxkTm9kZXNbMF0pOworICAgICAg
fQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24g
dGVzdDEoKSB7CisKKyAgdmFyIHJlc2l6ZXJzID0gW3QxXTsKKyAgLy8gVGVzdGluZyBkZXB0aHMg
b2Ygc2hhZG93IHJvb3RzCisgIC8vIERPTTogdDEgPC0gdDIgPC0gdDMgPC1zaGFkb3ctIHQ0IDwt
IHQ1CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE6IGRl
cHRocyBvZiBzaGFkb3cgcm9vdHMiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVy
ID0+IHsKKyAgICAgICAgb25FcnJvckNhbGxlZCA9IGZhbHNlOworICAgICAgICBsZXQgdDIgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgdDEuYXBwZW5kQ2hpbGQodDIp
OworICAgICAgICByZXNpemVycy5wdXNoKHQyKTsKKyAgICAgICAgbGV0IHQzID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIHJlc2l6ZXJzLnB1c2godDMpOworICAgICAg
ICB0Mi5hcHBlbmRDaGlsZCh0Myk7CisgICAgICAgIGxldCBzaGFkb3cgPSB0My5hdHRhY2hTaGFk
b3coeyBtb2RlOiAib3BlbiIgfSk7CisgICAgICAgIGxldCB0NCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoJ2RpdicpOworICAgICAgICByZXNpemVycy5wdXNoKHQ0KTsKKyAgICAgICAgc2hhZG93
LmFwcGVuZENoaWxkKHQ0KTsKKyAgICAgICAgbGV0IHQ1ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CisgICAgICAgIHJlc2l6ZXJzLnB1c2godDUpOworICAgICAgICB0NC5hcHBlbmRD
aGlsZCh0NSk7CisgICAgICAgIHJlc2l6ZXJzLmZvckVhY2goIGVsID0+IG9ic2VydmVyLm9ic2Vy
dmUoZWwpICk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgNSwgImFsbCBlbnRyaWVz
IHJlc2l6ZWQiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIHJlc2l6ZXJzLmZvckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0g
IjExMXB4IiApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDQsICJkZXB0aCBsaW1p
dGVkIik7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICByZXNpemVycy5mb3JFYWNoKCBlbCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTJw
eCIgKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiZGVwdGggbGltaXRlZCIp
OworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgcmVzaXplcnMuZm9yRWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTEzcHgiICk7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwgImRlcHRoIGxpbWl0ZWQiKTsKKyAg
ICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IHJlc2l6ZXJzLmZvckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExNHB4IiApOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9
CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAg
ICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllcy5sZW5ndGgsIDQsICJsaW1pdCBub3RpZmljYXRpb25zIik7CisgICAgICAgIGFz
c2VydF9lcXVhbHMob25FcnJvckNhbGxlZCwgdHJ1ZSwgImJyZWFjaGVkIGxpbWl0Iik7CisgICAg
ICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAgICAgdDEucmVtb3ZlQ2hpbGQodDEuZmly
c3RDaGlsZCk7CisgICAgICB9CisgICAgfSwKKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQo
KTsKK30KKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCcjY29udGFpbmVyJyk7CisgIGxldCBhMSA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJyNhMScpOworICBsZXQgYTIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYTInKTsK
KyAgbGV0IGIxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2IxJyk7CisgIGxldCBiMiA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNiMicpOworICBsZXQgdGFyZ2V0cyA9IFthMSwgYTIsIGIx
LCBiMl07CisKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0
MjogbW92ZSB0YXJnZXQgaW4gZG9tIHdoaWxlIGluc2lkZSBldmVudCBsb29wIiwKKyAgWworICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2YgdGFy
Z2V0cykKKyAgICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQpOworICAgICAgfSwKKyAgICAgIG5v
dGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8g
ZGVsYXkgbmV4dCBvYnNlcnZhdGlvbgorICAgICAgfQorICAgIH0sCisgICAgeyAvLyByZXNpemUg
dGhlbSBhbGwKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQg
b2YgdGFyZ2V0cykKKyAgICAgICAgICB0LnN0eWxlLndpZHRoID0gIjExMHB4IjsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCB0YXJnZXRzLmxlbmd0aCwgImFsbCB0YXJnZXRzIG9ic2Vy
dmVkIik7CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSBhbGwsIG1vdmUgZG9tIHVw
d2FyZHMKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2Yg
dGFyZ2V0cykKKyAgICAgICAgICB0LnN0eWxlLndpZHRoID0gIjEzMHB4IjsKKyAgICAgICAgY29u
dGFpbmVyLmFwcGVuZENoaWxkKGIyKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVz
LCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAx
LCAiYjIgbW92ZWQgdXB3YXJkcyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0u
dGFyZ2V0LCBhMik7CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSBhbGwsIG1vdmUg
ZG9tIGRvd253YXJkcworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChs
ZXQgdCBvZiB0YXJnZXRzKQorICAgICAgICAgIHQuc3R5bGUud2lkdGggPSAiMTMwcHgiOworICAg
ICAgICBhMi5hcHBlbmRDaGlsZChiMik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmll
cywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwg
MSwgImIyIG1vdmVkIGRvd253YXJkcyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0udGFyZ2V0LCBiMik7CisgICAgICAgIGExLmFwcGVuZENoaWxkKGEyKTsKKyAgICAgIH0KKyAg
ICB9LAorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitsZXQgZ3VhcmQ7Cit0
ZXN0KF8gPT4geworICBhc3NlcnRfb3duX3Byb3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVy
Iik7CisgIGd1YXJkID0gYXN5bmNfdGVzdCgnZ3VhcmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBp
bXBsZW1lbnRlZCIpCisKK3Rlc3QwKCkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsg
fSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBn
dWFyZC5kb25lKCk7IH0pOworCis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVz
cy53aW5kb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE3ZWEzMjc5MWNiMDA2OTNmMzc5NGEyM2QzMjg0YTkyNjc5YzUyZmYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzMCBAQAorCitGQUlMIGlkbF90ZXN0IHNldHVwIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2lu
ZyBhbnkgbmFtZWQgZGVmaW5pdGlvbjogVW5yZWNvZ25pc2VkIHRva2VucywgbGluZSAxICh0b2tl
bnM6ICJ7XCJlcnJvclwiOiB7XCJtZXNzYWdlXCIiKQorWworICAgIHsKKyAgICAgICAgInR5cGUi
OiAieyIsCisgICAgICAgICJ2YWx1ZSI6ICJ7IiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisgICAg
fSwKKyAgICB7CisgICAgICAgICJ0eXBlIjogInN0cmluZyIsCisgICAgICAgICJ2YWx1ZSI6ICJc
ImVycm9yXCIiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAgICAgICAg
InR5cGUiOiAiOiIsCisgICAgICAgICJ2YWx1ZSI6ICI6IiwKKyAgICAgICAgInRyaXZpYSI6ICIi
CisgICAgfSwKKyAgICB7CisgICAgICAgICJ0eXBlIjogInsiLAorICAgICAgICAidmFsdWUiOiAi
eyIsCisgICAgICAgICJ0cml2aWEiOiAiICIKKyAgICB9LAorICAgIHsKKyAgICAgICAgInR5cGUi
OiAic3RyaW5nIiwKKyAgICAgICAgInZhbHVlIjogIlwibWVzc2FnZVwiIiwKKyAgICAgICAgInRy
aXZpYSI6ICIiCisgICAgfQorXSIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQxNTFkNmI2NzRk
ZTJiOTA1ZmNlODdjMTM5ZDEzNGFlODVjOGQzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhh
cm5lc3Mud2luZG93Lmh0bWwKQEAgLTAsMCArMSwyIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1
aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQg
dGVzdCAtLT4KKzwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9i
c2VydmVyRW5hYmxlZD10cnVlIF0gLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41OTJhZjJlMGMwNzkxOTc0NTdlMDkxZDg0ZGZkYjM3NDE3MDMzOTVlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMKQEAgLTAsMCArMSwzNyBA
QAorLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBz
Y3JpcHQ9L3Jlc291cmNlcy9pZGxoYXJuZXNzLmpzCisvLyBNRVRBOiBzY3JpcHQ9cmVzb3VyY2Vz
L3Jlc2l6ZVRlc3RIZWxwZXIuanMKKworJ3VzZSBzdHJpY3QnOworCisvLyBodHRwczovL3dpY2cu
Z2l0aHViLmlvL1Jlc2l6ZU9ic2VydmVyLworCitpZGxfdGVzdCgKKyAgWydSZXNpemVPYnNlcnZl
ciddLAorICBbJ2RvbScsICdnZW9tZXRyeSddLAorICBhc3luYyBpZGxfYXJyYXkgPT4geworICAg
IGlkbF9hcnJheS5hZGRfb2JqZWN0cyh7CisgICAgICBSZXNpemVPYnNlcnZlcjogWydvYnNlcnZl
ciddLAorICAgICAgUmVzaXplT2JzZXJ2ZXJFbnRyeTogWydlbnRyeSddLAorICAgIH0pOworCisg
ICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChkaXYpOworICAgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVz
dEhlbHBlcigKKyAgICAgICJSZXNpemVPYnNlcnZlckVudHJ5IGNyZWF0b3IiLAorICAgICAgWwor
ICAgICAgICB7CisgICAgICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgICAgIHNl
bGYub2JzZXJ2ZXIgPSBvYnNlcnZlcjsKKyAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUoZGl2
KTsKKyAgICAgICAgICAgIGRpdi5zdHlsZS53aWR0aCA9ICI1cHgiOworICAgICAgICAgIH0sCisg
ICAgICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgICAgIHNlbGYuZW50cnkgPSBl
bnRyaWVzWzBdOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRS
ZWN0LndpZHRoLCA1LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgICBdKTsKKyAgICBhd2FpdCBoZWxwZXIuc3RhcnQoKTsKKyAgfQorKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL25vdGlmeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk1MzI3ODQxZGI2Zjk2ZTg0MTlkMzk5MjFmNTE3YmQ3NDE4MWMwMjYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9ub3RpZnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSA1MDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJl
c2l6ZU9ic2VydmVyCitSZXNpemVPYnNlcnZlciB0ZXN0cworCit0MQordDIKK3QzIGlubGluZQor
CitIYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgorCitGQUlMIFJlc2l6ZU9ic2VydmVyIGltcGxl
bWVudGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNl
cnZlciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmIxMDM4YTNjYjY4YmEwZTQ4NjQ0MTZlYTg4MWFhYzAyNDNmOGRlMWIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbApAQCAtMCwwICsxLDM1MSBAQAorPCFk
b2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVzaXpl
T2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZXNpemVUZXN0
SGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgZGl2IHsKKyAgICBib3JkZXI6IDFweCBk
b3R0ZWQgZ3JheQorICB9CisgIC50cmFuc2Zvcm0geworICAgIHRyYW5zZm9ybTogc2NhbGUoMiwy
KSByb3RhdGUoOTBkZWcpCisgIH0KKzwvc3R5bGU+Cis8cD5SZXNpemVPYnNlcnZlciB0ZXN0czwv
cD4KKzxkaXYgaWQ9InRhcmdldDEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50
MQorICA8ZGl2IGlkPSJ0YXJnZXQyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+
dDIKKyAgICA8ZGl2IGlkPSJ0YXJnZXQzIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4
OyI+dDMKKyAgICAgIDxzcGFuIGlkPSJpbmxpbmUiPmlubGluZTwvc3Bhbj4KKyAgICA8L2Rpdj4K
KyAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgaWQ9ImFic29sdXRlIiBzdHlsZT0id2lkdGg6MTAwLjVw
eDtoZWlnaHQ6MTAwLjVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAuM3B4O2xlZnQ6MTAuM3B4
Ij48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK2xldCB0MSA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJyN0YXJnZXQxJyk7CitsZXQgdDIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCcjdGFyZ2V0MicpOworbGV0IHQzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDMn
KTsKK2xldCBhYnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYWJzb2x1dGUnKTsKK2xldCBp
bmxpbmUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaW5saW5lJyk7CisKK2Z1bmN0aW9uIHRl
c3QwKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Qw
OiBub3RpZmljYXRpb24gb3JkZXJpbmciLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEu
c3R5bGUud2lkdGggPSAiNXB4IjsKKyAgICAgICAgdDMuc3R5bGUud2lkdGggPSAiNXB4IjsKKyAg
ICAgICAgdDIuc3R5bGUud2lkdGggPSAiNXB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCAzLCAiMyByZXNpemVzIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50
YXJnZXQsIHQzLCAib3JkZXJpbmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzFd
LnRhcmdldCwgdDIsICJvcmRlcmluZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
Ml0udGFyZ2V0LCB0MSwgIm9yZGVyaW5nIik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3Qo
KTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiMTAwcHgiOworICAgICAgICB0Mi5zdHlsZS53
aWR0aCA9ICIxMDBweCI7CisgICAgICAgIHQzLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgICAg
IH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9u
IHRlc3QxKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRl
c3QxOiBkaXNwbGF5Om5vbmUgdHJpZ2dlcnMgbm90aWZpY2F0aW9uIiwKKyAgWworICAgIHsKKyAg
ICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOwor
ICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
IHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7
CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0MS5zdHlsZS5kaXNwbGF5ID0g
Im5vbmUiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7
CisgICAgICAgIHQxLnN0eWxlLmRpc3BsYXkgPSAiIjsKKyAgICAgIH0KKyAgICB9CisgIF0pOwor
ICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIGxl
dCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDI6IHJlbW92ZS9hcHBl
bmRDaGlsZCB0cmlnZ2VyIG5vdGlmaWNhdGlvbiIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1
ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeyAvLyAicmVtb3Zl
Q2hpbGQgdHJpZ2dlcnMgbm90aWZpY2F0aW9uIgorICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsK
KyAgICAgICAgdDEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0MSk7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLnRhcmdldCwgdDEpOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5l
eHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeyAvLyAiYXBwZW5kQ2hpbGQgdHJpZ2dlcnMg
bm90aWZpY2F0aW9uIiwKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJn
ZXQsIHQxKQorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsK
K30KKworCitmdW5jdGlvbiB0ZXN0MygpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0
SGVscGVyKAorICAgICJ0ZXN0MzogZGltZW5zaW9ucyBtYXRjaCIsCisgIFsKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAg
ICAgICAgdDEuc3R5bGUud2lkdGggPSAiMjAwLjVweCI7CisgICAgICAgIHQxLnN0eWxlLmhlaWdo
dCA9ICIxMDBweCI7CisgICAgICAgIHQxLnN0eWxlLnBhZGRpbmdMZWZ0ID0gIjIwcHgiOworICAg
ICAgICB0MS5zdHlsZS5wYWRkaW5nVG9wID0gIjEwcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC5sZWZ0LDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmNvbnRlbnRSZWN0LnRvcCwxMCk7CisgICAgICAgIGFzc2VydF9iZXR3ZWVuX2luY2x1c2l2
ZShlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAyMDAuNCwgMjAwLjYsICJ3aWR0aCBpcyBu
b3Qgcm91bmRlZCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJl
Y3QuaGVpZ2h0LCAxMDApOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIu
c3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDQoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVz
aXplVGVzdEhlbHBlcigKKyAgICAidGVzdDQ6IHRyYW5zZm9ybSBkbyBub3QgY2F1c2Ugbm90aWZp
Y2F0aW9ucyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVz
LCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gRGVsYXkgbmV4dCBzdGVw
CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICB0Mi5jbGFzc0xpc3QuYWRkKCJ0cmFuc2Zvcm0iKTsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJ0
cmFuc2Zvcm0gbXVzdCBub3QgdHJpZ2dlciBub3RpZmljYXRpb25zIik7CisgICAgICB9LAorICAg
ICAgdGltZW91dDogKCkgPT4geworICAgICAgICB0Mi5jbGFzc0xpc3QucmVtb3ZlKCJ0cmFuc2Zv
cm0iKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9
CisKK2Z1bmN0aW9uIHRlc3Q1KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxw
ZXIoCisgICAgInRlc3Q1OiBtb3ZpbmcgYW4gZWxlbWVudCBkb2VzIG5vdCB0cmlnZ2VyIG5vdGlm
aWNhdGlvbnMiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZShhYnMpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAvLyBEZWxheSBuZXh0IHN0
ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7Cisg
ICAgICAgIGFicy5zdHlsZS50b3AgPSAiMjAuMzNweCI7CisgICAgICAgIGFicy5zdHlsZS5sZWZ0
ID0gIjIwLjMzcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVy
KSA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIm1vdmVtZW50IHNob3VsZCBub3QgY2F1
c2UgcmVzaXplIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9
PiB7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQor
CitmdW5jdGlvbiB0ZXN0NigpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVy
KAorICAgICJ0ZXN0NjogaW5saW5lIGVsZW1lbnQgZG9lcyBub3Qgbm90aWZ5IiwKKyAgWworICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUo
aW5saW5lKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxl
LndpZHRoID0gIjY2cHgiOworICAgICAgICBpbmxpbmUuc3R5bGUud2lkdGggPSAiNjZweCI7Cisg
ICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgImlubGluZSBlbGVtZW50cyBtdXN0IG5v
dCB0cmlnZ2VyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLnRhcmdldCwgdDEsICJpbmxpbmUgZWxlbWVudHMgbXVzdCBub3QgdHJpZ2dlciBub3RpZmlj
YXRpb25zIik7CisgICAgICAgIHJldHVybiB0cnVlOyAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAg
IH0KKyAgICB9LAorICAgIHsgLy8gImlubGluZSBlbGVtZW50IHRoYXQgYmVjb21lcyBibG9jayBz
aG91bGQgbm90aWZ5IiwKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGlubGlu
ZS5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFy
Z2V0LCBpbmxpbmUpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3Rh
cnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDcoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXpl
VGVzdEhlbHBlcigKKyAgICAidGVzdDc6IHVub2JzZXJ2ZSBpbnNpZGUgbm90aWZ5IGNhbGxiYWNr
IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUodDEpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICB0MS5zdHls
ZS53aWR0aCA9ICI3NzdweCI7CisgICAgICAgIHQyLnN0eWxlLndpZHRoID0gIjc3N3B4IjsKKyAg
ICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKHQxKTsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBE
ZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIm9ubHkgdDIgaXMg
b2JzZXJ2ZWQiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDIs
ICJvbmx5IHQyIGlzIG9ic2VydmVkIik7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJu
IGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0OCgpIHsKKyAgbGV0IGhlbHBlciA9
IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0ODogb2JzZXJ2ZSBpbnNpZGUgbm90aWZ5
IGNhbGxiYWNrIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAg
ICB0Mi5zdHlsZS53aWR0aCA9ICI4ODhweCI7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVs
YXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2
ZXIgPT4geworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJvbmx5IHQyIGlzIG9i
c2VydmVkIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQyLCAi
b25seSB0MiBpcyBvYnNlcnZlZCIpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBo
ZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDkoKSB7CisgIGxldCBoZWxwZXIgPSBu
ZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDk6IGRpc2Nvbm5lY3QgaW5zaWRlIG5vdGlm
eSBjYWxsYmFjayIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI5OTlweCI7Cisg
ICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBE
ZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgidGhlcmUgc2hvdWxkIGJlIG5vIG5vdGlmaWNh
dGlvbnMgYWZ0ZXIgZGlzY29ubmVjdCIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6ICgpID0+
IHsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3QxMCgpIHsKKyAgdmFyIHBhcmVudCA9IHQxLnBhcmVudE5vZGU7CisgIGxl
dCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDEwOiBlbGVtZW50IG5v
dGlmaWVzIHdoZW4gcGFyZW50IHJlbW92ZWQiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7CisgICAgICB9LAorICAg
ICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7
ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVw
OiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQxLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodDEpOwor
ICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXNbMF0udGFyZ2V0LCB0Myk7CisgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0MSk7
CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCits
ZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3NlcnRfb3duX3Byb3BlcnR5KHdpbmRvdywgIlJl
c2l6ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5bmNfdGVzdCgnZ3VhcmQnKTsKK30sICJSZXNp
emVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rlc3QwKCkKKyAgLnRoZW4oKCkgPT4geyByZXR1
cm4gdGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRo
ZW4oKCkgPT4geyByZXR1cm4gdGVzdDMoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVz
dDQoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDUoKTsgfSkKKyAgLnRoZW4oKCkg
PT4geyByZXR1cm4gdGVzdDYoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDcoKTsg
fSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDgoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBy
ZXR1cm4gdGVzdDkoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEwKCk7IH0pCisg
IC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjc1MDAzZTA2ZDM1Mzc1MTBhODY1OWM2YjRiNDM0Y2Q3MDE4MjM3ZWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNP
TEUgTUVTU0FHRTogbGluZSA1MDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IFJlc2l6ZU9ic2VydmVyCitSZXNpemVPYnNlcnZlciB0ZXN0cworCit0MQordDIKKyAKKworRkFJ
TCBSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXIiIG1pc3NpbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2Jz
ZXJ2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNDU5MmQ0NTk0NmMxOWJm
YTgyZTdhNmQ3MGE4ODJkMDBiMjllOGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0
bWwKQEAgLTAsMCArMSwyMDcgQEAKKzwhZG9jdHlwZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9ic2VydmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8cD5SZXNpemVP
YnNlcnZlciB0ZXN0czwvcD4KKzxkaXYgaWQ9InRhcmdldDEiIHN0eWxlPSJ3aWR0aDoxMDBweDto
ZWlnaHQ6MTAwcHg7Ij50MTwvZGl2PgorPGRpdiBpZD0idGFyZ2V0MiIgc3R5bGU9IndpZHRoOjEw
MHB4O2hlaWdodDoxMDBweDsiPnQyPC9kaXY+Cis8aW1nIGlkPSJ0YXJnZXQzIiBzdHlsZT0id2lk
dGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+Cis8aWZyYW1lIHNyYz0iLi9yZXNvdXJjZXMvaWZyYW1l
Lmh0bWwiIHdpZHRoPSIzMDBweCIgaGVpZ2h0PSIxMDBweCIgc3R5bGU9ImRpc3BsYXk6YmxvY2si
PjwvaWZyYW1lPgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworbGV0IHQxID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignI3RhcmdldDEnKTsKK2xldCB0MiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJyN0YXJnZXQyJyk7CisKKy8vIGFsbG93IHVuY2F1Z2h0IGV4Y2VwdGlvbiBiZWNhdXNlIFJl
c2l6ZU9ic2VydmVyIHBvc3RzIGV4Y2VwdGlvbnMKKy8vIHRvIHdpbmRvdyBlcnJvciBoYW5kbGVy
IHdoZW4gbGltaXQgaXMgZXhjZWVkZWQuCitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9u
OiB0cnVlfSk7CisKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6
ZVRlc3RIZWxwZXIoCisgICAgInRlc3QwOiBzaW1wbGUgb2JzZXJ2YXRpb24iLAorICBbCisgICAg
eworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0
MSk7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjVweCI7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwg
MSwgIjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLnRhcmdldCwgdDEsICJ0YXJnZXQgaXMgdDEiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCA1LCAidGFyZ2V0IHdpZHRoIik7CisgICAg
ICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlv
biB0ZXN0MSgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0
ZXN0MTogbXVsdGlwbGUgb2JzZXJ2YXRpb24gb24gc2FtZSBlbGVtZW50IHRyaWdnZXIgb25seSBv
bmUiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAg
ICB0MS5zdHlsZS53aWR0aCA9ICIxMHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJp
ZXMgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBwZW5k
aW5nIG5vdGlmaWNhdGlvbiIpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxw
ZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIHRlc3QoKCkgPT4geworICAg
ICAgYXNzZXJ0X3Rocm93cyh7bmFtZTogIlR5cGVFcnJvciJ9LCBfPT4geworICAgICAgICBsZXQg
cm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge30pOworICAgICAgICByby5vYnNlcnZlKHt9
KTsKKyAgICAgIH0pOworICAgIH0sCisgICAgInRlc3QyOiB0aHJvdyBleGNlcHRpb24gd2hlbiBv
YnNlcnZpbmcgbm9uLWVsZW1lbnQiCisgICk7CisgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsK
K30KKworZnVuY3Rpb24gdGVzdDMoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhl
bHBlcigKKyAgICAidGVzdDM6IGRpc2Nvbm5lY3Qgc3RvcHMgYWxsIG5vdGlmaWNhdGlvbnMiLCBb
CisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2Jz
ZXJ2ZSh0MSk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZl
ci5kaXNjb25uZWN0KCk7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjMwcHgiOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgICBhc3NlcnRfdW5yZWFjaGVk
KCJubyBlbnRyaWVzIHNob3VsZCBiZSBvYnNlcnZlZCIpOworICAgICAgfSwKKyAgICAgIHRpbWVv
dXQ6ICgpID0+IHsKKyAgICAgICAgLy8gZXhwZWN0ZWQKKyAgICAgIH0KKyAgICB9CisgIF0pOwor
ICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q0KCkgeworICBsZXQg
aGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q0OiB1bm9ic2VydmUgdGFy
Z2V0IHN0b3BzIG5vdGlmaWNhdGlvbnMsIHVub2JzZXJ2ZSBub24tb2JzZXJ2ZWQgZG9lcyBub3Ro
aW5nIiwgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUodDEpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgICAg
b2JzZXJ2ZXIudW5vYnNlcnZlKHQxKTsKKyAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGRvY3Vt
ZW50LmJvZHkpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI0MHB4IjsKKyAgICAgICAgdDIu
c3R5bGUud2lkdGggPSAiNDBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIm9ubHkgdDIiKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDIsICJ0MiB3YXMgb2Jz
ZXJ2ZWQiKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7
Cit9CisKK2Z1bmN0aW9uIHRlc3Q1KCkgeworICBsZXQgdDMgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCcjdGFyZ2V0MycpOworICB2YXIgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoInRl
c3Q1OiBvYnNlcnZlIGltZyIsWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodDMpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50
cmllcyA9PiB7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICB0My5zdHlsZS53aWR0aCA9ICIxMDAuNXB4IjsKKyAgICAgIH0sCisgICAg
ICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lndp
ZHRoLCAxMDAuNSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0NigpIHsKKyAgbGV0IHJlc29sdmVQcm9taXNlOworICBs
ZXQgcHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgcmVzb2x2ZVByb21p
c2UgPSByZXNvbHZlOworICB9KTsKKyAgbGV0IHRlc3QgPSBhc3luY190ZXN0KCd0ZXN0NjogaWZy
YW1lIG5vdGlmaWNhdGlvbnMnKTsKKyAgbGV0IHRlc3RSZXF1ZXN0ZWQgPSBmYWxzZTsKKyAgbGV0
IGlmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpOworICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGV2ZW50ID0+IHsKKyAgICBzd2l0Y2goZXZlbnQuZGF0
YSkgeworICAgIGNhc2UgJ3JlYWR5VG9UZXN0JzoKKyAgICAgIGlmICghdGVzdFJlcXVlc3RlZCkg
eworICAgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZSgnc3RhcnRUZXN0Jywg
JyonKTsKKyAgICAgICAgdGVzdFJlcXVlc3RlZCA9IHRydWU7CisgICAgICB9CisgICAgYnJlYWs7
CisgICAgY2FzZSAnc3VjY2Vzcyc6CisgICAgY2FzZSAnZmFpbCc6CisgICAgICB3aW5kb3cucmVx
dWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgICAgdGVzdC5zdGVwKCAoKSA9PiB7Cisg
ICAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5kYXRhLCAnc3VjY2VzcycpOworICAgICAgICAg
IHRlc3QuZG9uZSgpOworICAgICAgICAgIHJlc29sdmVQcm9taXNlKCk7CisgICAgICAgIH0pOwor
ICAgICAgfSk7CisgICAgYnJlYWs7CisgICAgfQorICB9LCBmYWxzZSk7CisgIHJldHVybiBwcm9t
aXNlOworfQorCitmdW5jdGlvbiB0ZXN0NygpIHsKKyAgbGV0IGhhcm5lc3NUZXN0ID0gYXN5bmNf
dGVzdCgidGVzdDc6IGNhbGxiYWNrLnRoaXMiKTsKKyAgbGV0IHJlc29sdmVQcm9taXNlOworICBs
ZXQgcm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoIGZ1bmN0aW9uKGVudHJpZXMsIG9icykgIHsKKyAg
ICBsZXQgY2FsbGJhY2tUaGlzID0gdGhpczsKKyAgICByZXNvbHZlUHJvbWlzZSgpOworICAgIGhh
cm5lc3NUZXN0LnN0ZXAoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhjYWxsYmFja1RoaXMs
IHJvLCAiY2FsbGJhY2sudGhpcyBpcyBSZXNpemVPYnNlcnZlciIpOworICAgICAgYXNzZXJ0X2Vx
dWFscyhvYnMsIHJvLCAiMm5kIGFyZ3VtZW50IGlzIFJlc2l6ZU9ic2VydmVyIik7CisgICAgICBy
by5kaXNjb25uZWN0KCk7CisgICAgICAvLyBldmVyeSByZWZlcmVuY2UgdG8gUk8gbXVzdCBiZSBu
dWxsIGJlZm9yZSB0ZXN0IGNvbXBsZXRlcworICAgICAgLy8gdG8gYXZvaWQgdHJpZ2dlcmluZyB0
ZXN0IGxlYWstZGV0ZWN0aW9uCisgICAgICBybyA9IG51bGw7CisgICAgICBjYWxsYmFja1RoaXMg
PSBudWxsOworICAgICAgb2JzID0gbnVsbDsKKyAgICAgIGhhcm5lc3NUZXN0LmRvbmUoKTsKKyAg
ICAgfSk7CisgICAgfQorICApOworICByby5vYnNlcnZlKHQxKTsKKworICByZXR1cm4gbmV3IFBy
b21pc2UoIChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29s
dmU7CisgIH0pOworfQorCitsZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3NlcnRfb3duX3By
b3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5bmNfdGVzdCgn
Z3VhcmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rlc3QwKCkKKyAg
LnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4g
dGVzdDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDMoKTsgfSkKKyAgLnRoZW4o
KCkgPT4geyByZXR1cm4gdGVzdDQoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDUo
KTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDYoKTsgfSkKKyAgLnRoZW4oKCkgPT4g
eyByZXR1cm4gdGVzdDcoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOwor
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9pZnJhbWUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jl
c291cmNlcy9pZnJhbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTgzMTdiNTIwYjY4Y2JmOTJiMDllNjdh
NTdmMWVjZDI3MjQzNzQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5o
dG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhZG9jdHlwZSBodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQg
c3JjPSIuL3Jlc2l6ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPHA+aWZyYW1l
IHRlc3Q8L3A+Cis8ZGl2IGlkPSJpdGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDox
MDBweDsiPnQxPC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworbGV0IHQxID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignI2l0YXJnZXQxJyk7CitmdW5jdGlvbiB0ZXN0MCgpIHsKKyAgbGV0
IHRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCAoKSA9PiB7CisgICAgd2luZG93LnBhcmVu
dC5wb3N0TWVzc2FnZSgnZmFpbCcsICcqJyk7CisgIH0sIFJlc2l6ZVRlc3RIZWxwZXIuVElNRU9V
VCk7CisgIGxldCBybyA9IG5ldyBSZXNpemVPYnNlcnZlcihmdW5jdGlvbihlbnRyaWVzKSB7Cisg
ICAgd2luZG93LmNsZWFyVGltZW91dCh0aW1lb3V0SWQpOworICAgIHdpbmRvdy5wYXJlbnQucG9z
dE1lc3NhZ2UoJ3N1Y2Nlc3MnLCAnKicpOworICB9KTsKKyAgcm8ub2JzZXJ2ZSh0MSk7Cit9Cits
ZXQgdGVzdFN0YXJ0ZWQgPSBmYWxzZTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdl
JywgZnVuY3Rpb24oZXYpIHsKKyAgICBzd2l0Y2goZXYuZGF0YSkgeworICAgICAgICBjYXNlICdz
dGFydFRlc3QnOgorICAgICAgICAgIHRlc3RTdGFydGVkID0gdHJ1ZTsKKyAgICAgICAgICB0ZXN0
MCgpOworICAgICAgICBicmVhazsKKyAgICB9Cit9KTsKKy8vIEhvdyBkb2VzIHBhcmVudCBrbm93
IHdlJ3ZlIGxvYWRlZCBwcm9ibGVtIGlzIHNvbHZlZCBieQorLy8gYnJvYWRjYXN0aW5nIHJlYWR5
VG9UZXN0IG1lc3NhZ2UgcmVwZWF0ZWRseSB1bnRpbCB0ZXN0IHN0YXJ0cy4KK2Z1bmN0aW9uIGJy
b2FkY2FzdFJlYWR5KCkgeworICBpZiAoIXRlc3RTdGFydGVkKSB7CisgICAgd2luZG93LnBhcmVu
dC5wb3N0TWVzc2FnZSgncmVhZHlUb1Rlc3QnLCAnKicpOworICAgIHdpbmRvdy5yZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoYnJvYWRjYXN0UmVhZHkpOworICB9Cit9Citicm9hZGNhc3RSZWFkeSgpOwor
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwYzY4MWJkOTMz
MzQ1NTI5MTY3MTFiYmJlMTY3YmM0YmQ1ODg0NzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNv
dXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwpAQCAtMCwwICsxLDE0OCBAQAorJ3VzZSBzdHJpY3Qn
OworCisvKioKKyAgUmVzaXplVGVzdEhlbHBlciBpcyBhIGZyYW1ld29yayB0byB0ZXN0IFJlc2l6
ZU9ic2VydmVyCisgIG5vdGlmaWNhdGlvbnMuIFVzZSBpdCB0byBtYWtlIGFzc2VydGlvbnMgYWJv
dXQgUmVzaXplT2JzZXJ2ZXJFbnRyaWVzLgorICBUaGlzIGZyYW1ld29yayBpcyBuZWVkZWQgYmVj
YXVzZSBSZXNpemVPYnNlcnZhdGlvbnMgYXJlCisgIGRlbGl2ZXJlZCBhc3luY2hyb25vdXNseSBp
bnNpZGUgdGhlIGV2ZW50IGxvb3AuCisKKyAgRmVhdHVyZXM6CisgIC0gY2FuIHF1ZXVlIG11bHRp
cGxlIG5vdGlmaWNhdGlvbiBzdGVwcyBpbiBhIHRlc3QKKyAgLSBoYW5kbGVzIHRpbWVvdXRzCisg
IC0gcmV0dXJucyBQcm9taXNlIHRoYXQgaXMgZnVsbGZpbGxlZCB3aGVuIHRlc3QgY29tcGxldGVz
LgorICAgIFVzZSB0byBjaGFpbiB0ZXN0cyAoc2luY2UgcGFyYWxsZWwgYXN5bmMgUmVzaXplT2Jz
ZXJ2ZXIgdGVzdHMKKyAgICB3b3VsZCBjb25mbGljdCBpZiByZXVzaW5nIHNhbWUgRE9NIGVsZW1l
bnRzKS4KKworICBVc2FnZToKKworICBjcmVhdGUgUmVzaXplVGVzdEhlbHBlciBmb3IgZXZlcnkg
dGVzdC4KKyAgTWFrZSBhc3NlcnRpb25zIGluc2lkZSBub3RpZnksIHRpbWVvdXQgY2FsbGJhY2tz
LgorICBTdGFydCB0ZXN0cyB3aXRoIGhlbHBlci5zdGFydCgpCisgIENoYWluIHRlc3RzIHdpdGgg
UHJvbWlzZXMuCisgIENvdW50cyBhbmltYXRpb24gZnJhbWVzLCBzZWUgc3RhcnRDb3VudGluZ1Jh
ZgorKi8KKworLyoKKyAgQHBhcmFtIG5hbWU6IHRlc3QgbmFtZQorICBAcGFyYW0gc3RlcHM6Cisg
IHsKKyAgICBzZXR1cDogZnVuY3Rpb24oUmVzaXplT2JzZXJ2ZXIpIHsKKyAgICAgIC8vIGNhbGxl
ZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSB0ZXN0IHN0ZXAKKyAgICAgIC8vIHlvdXIgb2JzZXJ2
ZS9yZXNpemUgY29kZSBnb2VzIGhlcmUKKyAgICB9LAorICAgIG5vdGlmeTogZnVuY3Rpb24oZW50
cmllcywgb2JzZXJ2ZXIpIHsKKyAgICAgIC8vIFJlc2l6ZU9ic2VydmVyIGNhbGxiYWNrLgorICAg
ICAgLy8gTWFrZSBhc3NlcnRpb25zIGhlcmUuCisgICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBuZXh0
IHN0ZXAgc2hvdWxkIHN0YXJ0IG9uIHRoZSBuZXh0IGV2ZW50IGxvb3AuCisgICAgfSwKKyAgICB0
aW1lb3V0OiBmdW5jdGlvbigpIHsKKyAgICAgIC8vIERlZmluZSB0aGlzIGlmIHlvdXIgdGVzdCBl
eHBlY3RzIHRvIHRpbWUgb3V0LgorICAgICAgLy8gSWYgdW5kZWZpbmVkLCB0aW1lb3V0IGlzIGFz
c2VydF91bnJlYWNoZWQuCisgICAgfQorICB9CisqLworZnVuY3Rpb24gUmVzaXplVGVzdEhlbHBl
cihuYW1lLCBzdGVwcykKK3sKKyAgICB0aGlzLl9uYW1lID0gbmFtZTsKKyAgICB0aGlzLl9zdGVw
cyA9IHN0ZXBzIHx8IFtdOworICAgIHRoaXMuX3N0ZXBJZHggPSAtMTsKKyAgICB0aGlzLl9oYXJu
ZXNzVGVzdCA9IG51bGw7CisgICAgdGhpcy5fb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIo
dGhpcy5faGFuZGxlTm90aWZpY2F0aW9uLmJpbmQodGhpcykpOworICAgIHRoaXMuX3RpbWVvdXRC
aW5kID0gdGhpcy5faGFuZGxlVGltZW91dC5iaW5kKHRoaXMpOworICAgIHRoaXMuX25leHRTdGVw
QmluZCA9IHRoaXMuX25leHRTdGVwLmJpbmQodGhpcyk7Cit9CisKK1Jlc2l6ZVRlc3RIZWxwZXIu
VElNRU9VVCA9IDEwMDsKKworUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUgPSB7CisgIGdldCBf
Y3VycmVudFN0ZXAoKSB7CisgICAgcmV0dXJuIHRoaXMuX3N0ZXBzW3RoaXMuX3N0ZXBJZHhdOwor
ICB9LAorCisgIF9uZXh0U3RlcDogZnVuY3Rpb24oKSB7CisgICAgaWYgKCsrdGhpcy5fc3RlcElk
eCA9PSB0aGlzLl9zdGVwcy5sZW5ndGgpCisgICAgICByZXR1cm4gdGhpcy5fZG9uZSgpOworICAg
IHRoaXMuX3RpbWVvdXRJZCA9IHRoaXMuX2hhcm5lc3NUZXN0LnN0ZXBfdGltZW91dCgKKyAgICAg
IHRoaXMuX3RpbWVvdXRCaW5kLCBSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQpOworICAgIHRyeSB7
CisgICAgICB0aGlzLl9zdGVwc1t0aGlzLl9zdGVwSWR4XS5zZXR1cCh0aGlzLl9vYnNlcnZlcik7
CisgICAgfQorICAgIGNhdGNoKGVycikgeworICAgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgo
KSA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIkNhdWdodCBhIHRocm93LCBwb3NzaWJs
ZSBzeW50YXggZXJyb3IiKTsKKyAgICAgIH0pOworICAgIH0KKyAgfSwKKworICBfaGFuZGxlTm90
aWZpY2F0aW9uOiBmdW5jdGlvbihlbnRyaWVzKSB7CisgICAgaWYgKHRoaXMuX3RpbWVvdXRJZCkg
eworICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0SWQpOworICAgICAgZGVs
ZXRlIHRoaXMuX3RpbWVvdXRJZDsKKyAgICB9CisgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgo
KSA9PiB7CisgICAgICBsZXQgcmFmRGVsYXkgPSB0aGlzLl9jdXJyZW50U3RlcC5ub3RpZnkoZW50
cmllcywgdGhpcy5fb2JzZXJ2ZXIpOworICAgICAgaWYgKHJhZkRlbGF5KQorICAgICAgICB3aW5k
b3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX25leHRTdGVwQmluZCk7CisgICAgICBlbHNl
CisgICAgICAgIHRoaXMuX25leHRTdGVwKCk7CisgICAgfSk7CisgIH0sCisKKyAgX2hhbmRsZVRp
bWVvdXQ6IGZ1bmN0aW9uKCkgeworICAgIGRlbGV0ZSB0aGlzLl90aW1lb3V0SWQ7CisgICAgdGhp
cy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7CisgICAgICBpZiAodGhpcy5fY3VycmVudFN0ZXAu
dGltZW91dCkgeworICAgICAgICB0aGlzLl9jdXJyZW50U3RlcC50aW1lb3V0KCk7CisgICAgICB9
CisgICAgICBlbHNlIHsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgiVGltZWQgb3V0IHdhaXRp
bmcgZm9yIG5vdGlmaWNhdGlvbi4gKCIgKyBSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQgKyAibXMp
Iik7CisgICAgICB9CisgICAgICB0aGlzLl9uZXh0U3RlcCgpOworICAgIH0pOworICB9LAorCisg
IF9kb25lOiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCk7Cisg
ICAgZGVsZXRlIHRoaXMuX29ic2VydmVyOworICAgIHRoaXMuX2hhcm5lc3NUZXN0LmRvbmUoKTsK
KyAgICBpZiAodGhpcy5fcmFmQ291bnRSZXF1ZXN0KSB7CisgICAgICB3aW5kb3cuY2FuY2VsQW5p
bWF0aW9uRnJhbWUodGhpcy5fcmFmQ291bnRSZXF1ZXN0KTsKKyAgICAgIGRlbGV0ZSB0aGlzLl9y
YWZDb3VudFJlcXVlc3Q7CisgICAgfQorICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
KCkgPT4geyB0aGlzLl9yZXNvbHZlUHJvbWlzZSgpOyB9KTsKKyAgfSwKKworICBzdGFydDogZnVu
Y3Rpb24oKSB7CisgICAgdGhpcy5faGFybmVzc1Rlc3QgPSBhc3luY190ZXN0KHRoaXMuX25hbWUp
OworICAgIHRoaXMuX2hhcm5lc3NUZXN0LnN0ZXAoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFs
cyh0aGlzLl9zdGVwSWR4LCAtMSwgInN0YXJ0IGNhbiBvbmx5IGJlIGNhbGxlZCBvbmNlIik7Cisg
ICAgICB0aGlzLl9uZXh0U3RlcCgpOworICAgIH0pOworICAgIHJldHVybiBuZXcgUHJvbWlzZSgg
KHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgdGhpcy5fcmVzb2x2ZVByb21pc2UgPSByZXNv
bHZlOworICAgICAgdGhpcy5fcmVqZWN0UHJvbWlzZSA9IHJlamVjdDsKKyAgICB9KTsKKyAgfSwK
KworICBnZXQgcmFmQ291bnQoKSB7CisgICAgaWYgKCF0aGlzLl9yYWZDb3VudFJlcXVlc3QpCisg
ICAgICB0aHJvdyAickFGIGNvdW50IGlzIG5vdCBhY3RpdmUiOworICAgIHJldHVybiB0aGlzLl9y
YWZDb3VudDsKKyAgfSwKKworICBfaW5jcmVtZW50UmFmOiBmdW5jdGlvbigpIHsKKyAgICBpZiAo
dGhpcy5fcmFmQ291bnRSZXF1ZXN0KSB7CisgICAgICB0aGlzLl9yYWZDb3VudCsrOworICAgICAg
dGhpcy5fcmFmQ291bnRSZXF1ZXN0ID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlz
Ll9pbmNyZW1lbnRSYWZCaW5kKTsKKyAgICB9CisgIH0sCisKKyAgc3RhcnRDb3VudGluZ1JhZjog
ZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX3JhZkNvdW50UmVxdWVzdCkKKyAgICAgIHdpbmRv
dy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWZDb3VudFJlcXVlc3QpOworICAgIGlmICgh
dGhpcy5faW5jcmVtZW50UmFmQmluZCkKKyAgICAgIHRoaXMuX2luY3JlbWVudFJhZkJpbmQgPSB0
aGlzLl9pbmNyZW1lbnRSYWYuYmluZCh0aGlzKTsKKyAgICB0aGlzLl9yYWZDb3VudCA9IDA7Cisg
ICAgdGhpcy5fcmFmQ291bnRSZXF1ZXN0ID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0
aGlzLl9pbmNyZW1lbnRSYWZCaW5kKTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2Vz
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFmMzdjZWE1ZmMwNjRhZGE3OWFjZWMwZGYzYzM4ZjE2ZmFjMDEzODAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRl
c3RzIGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRv
cnkuCitEbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3Rl
YWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dp
dGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2Ny
aXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9k
aWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyBy
ZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmlu
ZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxw
ZXIuanMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRjZjgzNmU1ZjIwYWFhMzhiMTdmMzBkNGNhMmRhYWI0ZWNhMDMzMzEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDUwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6ZU9ic2VydmVyIHN2ZyB0ZXN0cworCitIZXJlIGlz
IGEgcGFyYWdyYXBoIHRoYXQgcmVxdWlyZXMgd29yZCB3cmFwCisKK3N2ZyB0ZXh0IHRhZworCitG
QUlMIFJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVj
dGVkIHByb3BlcnR5ICJSZXNpemVPYnNlcnZlciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9z
dmcuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL3N2Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5ZTVjMTk1M2VjMjc4ZTkyMTc2OWRj
OTI0MjBjNzljZjdmMDAzNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbApAQCAtMCww
ICsxLDMzMyBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBl
cmltZW50YWw6UmVzaXplT2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291
cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzIj48L3NjcmlwdD4KKzxwPlJlc2l6ZU9ic2VydmVyIHN2
ZyB0ZXN0czwvcD4KKzxzdmcgaGVpZ2h0PSI0MzAiIHdpZHRoPSI1MDAiID4KKyAgPGNpcmNsZSBj
eD0iMTAiIGN5PSIxMCIgcj0iNSIgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJv
a2Utd2lkdGg6MSIgLz4KKyAgPGVsbGlwc2UgY3g9IjEwIiBjeT0iMzAiIHJ4PSI1IiByeT0iNSIg
c3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJva2Utd2lkdGg6MSIvPgorICA8Zm9y
ZWlnbk9iamVjdCBjeT0iNTAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMjAiPgorICAgIDxib2R5Pgor
ICAgICAgPHA+SGVyZSBpcyBhIHBhcmFncmFwaCB0aGF0IHJlcXVpcmVzIHdvcmQgd3JhcDwvcD4K
KyAgICA8L2JvZHk+CisgIDwvZm9yZWlnbk9iamVjdD4KKyAgPGltYWdlIHhsaW5rOmhyZWY9IiIg
eD0iMCIgeT0iMTAwIiBoZWlnaHQ9IjMwIiB3aWR0aD0iMTAwIiAvPgorICA8bGluZSB4MT0iMCIg
eTE9IjUwIiB4Mj0iMjAiIHkyPSI3MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIi8+
CisgIDxwYXRoIGQ9Ik0gMCAxMDAgTCAxMDAgMTAwIEwgNTAgMTUwIHoiCisgICAgICAgIHN0eWxl
PSJmaWxsOm9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEiIC8+CisgIDxwb2x5Z29u
IHBvaW50cz0iMCwyMDAgMTAwLDIwMCA1MCwyNTAiIHN0eWxlPSJmaWxsOm9yYW5nZTtzdHJva2U6
YmxhY2s7c3Ryb2tlLXdpZHRoOjEiIC8+CisgIDxwb2x5bGluZSBwb2ludHM9IjAsMzAwIDEwMCwz
MDAgNTAsMzUwIiBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDox
Ii8+CisgIDxyZWN0IHg9IjAiIHk9IjM4MCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBzdHlsZT0i
ZmlsbDpvcmFuZ2U7IHN0cm9rZTpibGFjazsgc3Ryb2tlLXdpZHRoOjEiIC8+CisgIDx0ZXh0IHg9
IjAiIHk9IjQwMCIgZm9udC1zaXplPSIyMCI+c3ZnIHRleHQgdGFnPC90ZXh0PgorPC9zdmc+Cis8
c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9u
OiB0cnVlfSk7CisKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignY2lyY2xlJyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhl
bHBlcigKKyAgICAidGVzdDA6IG9ic2VydmUgc3ZnOmNpcmNsZSIsCisgIFsKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAg
ICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1
dGUoJ3InLCAxMCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICB9
CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0
ZXN0MSgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2VsbGlwc2Un
KTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogb2Jz
ZXJ2ZSBzdmc6ZWxsaXBzZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBE
ZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3J4JywgMTApOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTApOworICAgICAgfQorICAgIH0KKyAgXSk7Cisg
IHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIGxldCB0
YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdmb3JlaWduT2JqZWN0Jyk7CisgIGxldCBo
ZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDI6IG9ic2VydmUgc3ZnOmZv
cmVpZ25PYmplY3QiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkg
bmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCd3aWR0aCcsIDIwMCk7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC53aWR0aCwgMjAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMjApOworICAgICAgfQorICAgIH0KKyAgXSk7Cisg
IHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDMoKSB7CisgIGxldCB0
YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbWFnZScpOworICBsZXQgaGVscGVyID0g
bmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QzOiBvYnNlcnZlIHN2ZzppbWFnZSIsCisg
IFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5v
YnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAg
IH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRh
cmdldC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIDQwKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMu
bGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0
LndpZHRoLCAxMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJl
Y3QuaGVpZ2h0LCA0MCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5z
dGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ2xpbmUnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVs
cGVyKAorICAgICJ0ZXN0NDogb2JzZXJ2ZSBzdmc6bGluZSIsCisgIFsKKyAgICB7CisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7Cisg
ICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAg
cmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUo
J3kyJywgODApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDIwKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMzApOworICAgICAg
fQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24g
dGVzdDUoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdwYXRoJyk7
CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDU6IG9ic2Vy
dmUgc3ZnOnBhdGgiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkg
bmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdkJywgIk0gMCAxMDAgTCAxMDAgMTAw
IEwgNTAgMTYwIHoiKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZl
cikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAxMDApOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCA2MCk7Cisg
ICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5j
dGlvbiB0ZXN0NigpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3Bv
bHlnb24nKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0
Njogb2JzZXJ2ZSBzdmc6cGF0aCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAv
LyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3BvaW50cycsICIwLDIw
MCAxMDAsMjAwIDUwLDI2MCIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYw
KTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3Q3KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigncG9seWxpbmUnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAg
ICJ0ZXN0Nzogb2JzZXJ2ZSBzdmc6cG9seWxpbmUiLAorICBbCisgICAgeworICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVy
biB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdwb2lu
dHMnLCAiMCwzMDAgMTAwLDMwMCA1MCwzNjAiKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lndp
ZHRoLCAxMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
aGVpZ2h0LCA2MCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0OCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ3JlY3QnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVy
KAorICAgICJ0ZXN0ODogb2JzZXJ2ZSBzdmc6cmVjdCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0
dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAg
ICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3dp
ZHRoJywgIjIwIik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMjApOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMCk7CisgICAg
ICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlv
biB0ZXN0OSgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHQn
KTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0OTogb2Jz
ZXJ2ZSBzdmc6dGV4dCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewor
ICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxh
eSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ2ZvbnQtc2l6ZScsICIyNSIpOwor
ICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgfQorICAgIH0KKyAgXSk7
CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworCitmdW5jdGlvbiB0ZXN0MTAoKSB7Cisg
IGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzdmcnKTsKKyAgbGV0IGhlbHBl
ciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTA6IG9ic2VydmUgc3ZnOnN2Zywg
dG9wL2xlZnQgaXMgMCBldmVuIHdpdGggcGFkZGluZyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50UmVjdC50b3AsIDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3QubGVmdCwgMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0
dXJuIGhlbHBlci5zdGFydCgpOworfQorCitsZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3Nl
cnRfb3duX3Byb3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5
bmNfdGVzdCgnZ3VhcmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rl
c3QwKCkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4g
eyByZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDMoKTsgfSkK
KyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDQoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1
cm4gdGVzdDUoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDYoKTsgfSkKKyAgLnRo
ZW4oKCkgPT4geyByZXR1cm4gdGVzdDcoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVz
dDgoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDkoKTsgfSkKKyAgLnRoZW4oKCkg
PT4geyByZXR1cm4gdGVzdDEwKCk7IH0pCisgIC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9
KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1p
bXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2NDFlZWMyYzhlMDlkMTQzM2Y3ZjA1ZTlkOGIyMDJmYjNj
OWQ1ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIy
IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgor
CWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRo
ZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisK
K0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQ
cm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlz
dCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9NRVRBLnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFy
bmVzcy53aW5kb3cuanMKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbAorL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2
Zy5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360294</attachid>
            <date>2019-01-27 06:41:20 -0800</date>
            <delta_ts>2019-01-27 08:26:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193821-20190127224115.patch</filename>
            <type>text/plain</type>
            <size>63656</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZDlkMmNlMTIxYTE4MjEy
OGFmM2M1MGI2MTVjZTlmZDFiZDkyMjQuLjQwODkyYTNlZDU5NGExY2QxZjFlMTI2YjdlNTRkMDQw
MGZiYTBlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBj
aGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2Jz
ZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMTkt
MDEtMjcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBB
WDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCmluZGV4IDAwMzU2MWVhNzBkOTVhMTNlNjc1NDBkZjE3MTEwY2NiYzBlMTIwMmIu
LmExOGRmZDEyNWMyOTg0NmViM2QwZDFlOGJkNGVkYjFlNjNkYzc4NjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxOS0wMS0yNyAgY2F0aGllIGNoZW4g
IDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wb3J0IFJlc2l6ZSBPYnNlcnZl
ciB0ZXN0IGNhc2VzIGZyb20gV1BUcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTkzODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVu
Y2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgcmVzaXplT2JzZXJ2
ZXJFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFJlc2l6ZU9ic2VydmVy
RW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVy
ZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE5LTAxLTI3ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmls
aXR5IHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCA1YWNhZGYxODU4ZWVjOTNm
ZTI1OTcwMGQ2Y2JjZGViOTBiOTJlNjE2Li5iMmZkOTgyOGJhMWU4MTZmMjZkNWQyOGM0ZGM4NTAz
ZDUzOGYyNGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAg
ICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJl
bmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNl
czo6cmVzaXplT2JzZXJ2ZXJFbmFibGVkKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRS
ZXNpemVPYnNlcnZlckVuYWJsZWQpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAg
ICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0No
YW5nZWQpOgorCiAyMDE5LTAxLTI0ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255
LmNvbT4KIAogICAgICAgICBNb3ZlIEZpbGVTeXN0ZW0gdG8gV1RGCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXMueWFtbAppbmRleCA5YjBlYWNhYTliN2E3OWMyMWZkYTQwZGNiZDZi
N2RjYzc3ZGFlNzNjLi4zMTNlYTY2NTE3YzUxMTNjOTE1NzdiMjQyMzgzZmViY2Y2ZGZlYmEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTEzODAsNiArMTM4
MCwxNCBAQCBQcm9jZXNzU3dhcE9uQ3Jvc3NTaXRlTmF2aWdhdGlvbkVuYWJsZWQ6CiAgIGNhdGVn
b3J5OiBleHBlcmltZW50YWwKICAgd2ViY29yZUJpbmRpbmc6IG5vbmUKIAorUmVzaXplT2JzZXJ2
ZXJFbmFibGVkOgorICB0eXBlOiBib29sCisgIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgaHVtYW5S
ZWFkYWJsZU5hbWU6ICJSZXNpemUgT2JzZXJ2ZXIiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
bjogIkVuYWJsZSBSZXNpemUgT2JzZXJ2ZXIgc3VwcG9ydCIKKyAgY2F0ZWdvcnk6IGV4cGVyaW1l
bnRhbAorICBjb25kaXRpb246IEVOQUJMRShSRVNJWkVfT0JTRVJWRVIpCisKICMgRm9yIGludGVy
bmFsIGZlYXR1cmVzOgogIyBUaGUgdHlwZSBzaG91bGQgYmUgYm9vbGVhbi4KICMgWW91IG11c3Qg
cHJvdmlkZSBhIGh1bWFuUmVhZGFibGVOYW1lIGFuZCBodW1hblJlYWRhYmxlRGVzY3JpcHRpb24g
Zm9yIGFsbCBkZWJ1ZyBmZWF0dXJlcy4gVGhleQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggNDlk
MzQyZmYyZTI3NDA0YWU4YzI2OWUyYjVhOTYwYTI2ZGYzYjk4MC4uODUyYmM2NTYwZjg3NTljOTRh
MTI2MmRmMDNmN2FiNGQxMTk5NzAzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0yNjUsMyAr
MjY1LDQgQEAKICNkZWZpbmUgV2ViS2l0U2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmllc0Vu
YWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0U2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmll
c0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdENTU0xvZ2ljYWxFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdENTU0xvZ2ljYWxFbmFibGVkIgogI2RlZmluZSBXZWJLaXRBZENsaWNrQXR0cmlidXRp
b25FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQi
CisjZGVmaW5lIFdlYktpdFJlc2l6ZU9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRSZXNpemVPYnNlcnZlckVuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBlODAyYzBhNDhjZGFjZjhmYzE5M2RmNjZm
NzE3Y2EwMzFjMmU2NjY0Li40NTUxNDNkZThhODRhZmFhYmQ3NzY3NjViOWZkZTA0ZjJjMmJlZmU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW0KQEAgLTY5Myw2ICs2OTMsOSBAQCBwdWJsaWM6CiAgICAgICAgIEBOTywgV2ViS2l0TWVk
aWFDYXBhYmlsaXRpZXNFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRG
ZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBATk8sIFdlYktp
dFNlcnZlclRpbWluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAorI2lmIEVOQUJMRShSRVNJWkVfT0JT
RVJWRVIpCisgICAgICAgIEBOTywgV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5j
ZUtleSwKKyNlbmRpZgogICAgICAgICBuaWxdOwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
CkBAIC0zNDAxLDYgKzM0MDQsMTUgQEAgc3RhdGljIE5TU3RyaW5nICpjbGFzc0lCQ3JlYXRvcklE
ID0gbmlsOwogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0QWRDbGlj
a0F0dHJpYnV0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCistIChCT09MKXJlc2l6ZU9i
c2VydmVyRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktp
dFJlc2l6ZU9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCistICh2b2lkKXNldFJl
c2l6ZU9ic2VydmVyRW5hYmxlZDooQk9PTClmbGFnCit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1
ZTpmbGFnIGZvcktleTpXZWJLaXRSZXNpemVPYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5XTsK
K30KIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIFdlYlByZWZlcmVuY2VzIChXZWJJbnRlcm5hbCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oCmluZGV4IDg4MjBkYjI3MDNmN2FiODU5NzI2ZTVhYzcxYWQxZDU5NWYzOGMy
ODMuLjQ4OTM4YzdjNGU1Y2I3MTJlMWVkOGQ4NmUxMmFhOTcwODEwNWE5MDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaApAQCAtNjE5LDYgKzYxOSw3IEBAIGV4dGVybiBOU1N0cmluZyAqV2ViUHJlZmVyZW5jZXND
YWNoZU1vZGVsQ2hhbmdlZEludGVybmFsTm90aWZpY2F0aW9uIFdFQktJVF9ERVBSCiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCBtZWRpYVJlY29yZGVyRW5hYmxlZDsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljKSBCT09MIGFsbG93Q3Jvc3NPcmlnaW5TdWJyZXNvdXJjZXNUb0Fza0ZvckNyZWRlbnRp
YWxzOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgc291cmNlQnVmZmVyQ2hhbmdlVHlwZUVu
YWJsZWQ7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCByZXNpemVPYnNlcnZlckVuYWJsZWQ7
CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBxdWlj
a0xvb2tEb2N1bWVudFNhdmluZ0VuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KaW5kZXggZWFlZjhmZjE2MGZiNGViMzBhODkwZTZiY2Y1M2FmZGE2YWQ1
NTAxNy4uYmJlNTVmNzg5NWM0MWQ0MTVkMTg0NmQ4Y2QzZjJmYzJmMDg3YjRjOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzE5Miw2ICszMTkyLDEw
IEBAIHN0YXRpYyBib29sIG5lZWRzU2VsZlJldGFpbldoaWxlTG9hZGluZ1F1aXJrKCkKICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFNlcnZlclRpbWluZ0Vu
YWJsZWQoW3ByZWZlcmVuY2VzIHNlcnZlclRpbWluZ0VuYWJsZWRdKTsKIAogICAgIHNldHRpbmdz
LnNldFNlbGVjdGlvbkFjcm9zc1NoYWRvd0JvdW5kYXJpZXNFbmFibGVkKHByZWZlcmVuY2VzLnNl
bGVjdGlvbkFjcm9zc1NoYWRvd0JvdW5kYXJpZXNFbmFibGVkKTsKKworI2lmIEVOQUJMRShSRVNJ
WkVfT0JTRVJWRVIpCisgICAgc2V0dGluZ3Muc2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKFtwcmVm
ZXJlbmNlcyByZXNpemVPYnNlcnZlckVuYWJsZWRdKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgaW5s
aW5lIElNUCBnZXRNZXRob2QoaWQgbywgU0VMIHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbApp
bmRleCAxOTg4MmNkZDBmMGM2ZDc0ZTViZDI3YTcyNTA3ZTlkYzc1NjdlOGYxLi5lZDhiMWNjYWE5
ZGMzOTA1MTgzZGE3MDE1NzA1ZDM5YzExN2FhMzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5p
ZGwKQEAgLTIzOCw0ICsyMzgsNiBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTcg
OiBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNgogewogICAgIEhSRVNVTFQgY3Jvc3NPcmlnaW5XaW5k
b3dQb2xpY3lTdXBwb3J0RW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAg
IEhSRVNVTFQgc2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChbaW5dIEJP
T0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCByZXNpemVPYnNlcnZlckVuYWJsZWQoW291dCwgcmV0
dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBzZXRSZXNpemVPYnNlcnZlckVuYWJsZWQoW2luXSBC
T09MIGVuYWJsZWQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAppbmRleCA5NDBkNWNmNTVkMTNiZTU3ODdhNjhkMWI0MzA2ZWRj
MDhjZmU5MjQ2Li5mOTQyMWFiMmJmOGQ1YmFlNzFkZDlkMTc5ZTM4NDU0MGYxMmQwOGEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aApAQCAtMjA2LDMgKzIwNiw0IEBACiAKICNkZWZpbmUgV2ViS2l0Q1NTT01WaWV3U2Nyb2xsaW5n
QVBJRW5hYmxlZFByZWZlcmVuY2VLZXkgIldlYktpdENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJs
ZWQiCiAKKyNkZWZpbmUgV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSBA
IldlYktpdFJlc2l6ZU9ic2VydmVyRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dl
YlByZWZlcmVuY2VzLmNwcAppbmRleCAwMjVjMjBiZWEyMzhjZDZhNDk1YTI1MGY2YzU1MGNhN2Y1
Mjc5ZDY5Li45MDIzZTNmNDE1MzEwOWQ3NzE0NTVjMjJkZGQyYTU2ZjdlMThhNjI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0zMjksNiArMzI5LDgg
QEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncygpCiAKICAg
ICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0Q1NTT01WaWV3U2Ny
b2xsaW5nQVBJRW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogCisgICAg
Q0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFJlc2l6ZU9ic2VydmVy
RW5hYmxlZFByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOworCiAgICAgZGVmYXVsdFNl
dHRpbmdzID0gZGVmYXVsdHM7CiB9CiAKQEAgLTIyNjAsMyArMjI2MiwxNyBAQCBIUkVTVUxUIFdl
YlByZWZlcmVuY2VzOjpzZXRTZXJ2ZXJUaW1pbmdFbmFibGVkKEJPT0wgZW5hYmxlZCkKICAgICBz
ZXRCb29sVmFsdWUoV2ViS2l0U2VydmVyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJs
ZWQpOwogICAgIHJldHVybiBTX09LOwogfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpyZXNp
emVPYnNlcnZlckVuYWJsZWQoX091dF8gQk9PTCogZW5hYmxlZCkKK3sKKyAgICBpZiAoIWVuYWJs
ZWQpCisgICAgICAgIHJldHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVG
b3JLZXkoV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0
dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFJlc2l6ZU9ic2VydmVy
RW5hYmxlZChCT09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKFdlYktpdFJlc2l6ZU9i
c2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXksIGVuYWJsZWQpOworICAgIHJldHVybiBTX09LOwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggMjkwNmIzNmIx
ODhjOWQ4OTIyOTRiY2RlZGYyYTZjMjUxZGU4YmI0Ni4uNmViYTE3YzNlODc2NTk1YTlmMGI0OTFh
OGVjYmVmMGM3NjYzMzI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
UHJlZmVyZW5jZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNl
cy5oCkBAIC0yODMsNiArMjgzLDggQEAgcHVibGljOgogICAgIC8vIElXZWJQcmVmZXJlbmNlc1By
aXZhdGU3CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNyb3NzT3JpZ2lu
V2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRF
bmFibGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZXNp
emVPYnNlcnZlckVuYWJsZWQoX091dF8gQk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXRSZXNpemVPYnNlcnZlckVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBX
ZWJQcmVmZXJlbmNlcwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJW
aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IGUzMzEw
NjNhMGJmMGViZDgyMDA5MTUwNDA3NjI2ZGU5YTE0MGU1MmYuLmFhMTgyZGFlZGQwOGI3OWI0Mzc2
MzEzZjdhZTkwODNmYWI3OGUyNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBA
IC01NTk0LDYgKzU1OTQsMTMgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0No
YW5nZWQoSVdlYk5vdGlmaWNhdGlvbiogbm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm4gaHI7
CiAgICAgc2V0dGluZ3Muc2V0SmF2YVNjcmlwdFJ1bnRpbWVGbGFncyhKU0M6OlJ1bnRpbWVGbGFn
cyhqYXZhU2NyaXB0UnVudGltZUZsYWdzKSk7CiAKKyNpZiBFTkFCTEUoUkVTSVpFX09CU0VSVkVS
KQorICAgIGhyID0gcHJlZnNQcml2YXRlLT5yZXNpemVPYnNlcnZlckVuYWJsZWQoJmVuYWJsZWQp
OworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4gaHI7CisgICAgc2V0dGluZ3Mu
c2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKCEhZW5hYmxlZCk7CisjZW5kaWYKKwogICAgIGhyID0g
cHJlZnNQcml2YXRlLT5zZXJ2ZXJUaW1pbmdFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJ
TEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGQwYjk2NzIyMzNjZjgyNzhiYzJlYjZjNzMzNTcyNTg5
NWZiOGI0ZGQuLjQ4YWNiYjE0NjQ5ZGI3ZjcyZTYwMmQyMGJhZjI1NDFkNGEwZjVhYzQgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NyBAQAorMjAxOS0wMS0yNyAgY2F0aGllIGNoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisK
KyAgICAgICAgSW1wb3J0IFJlc2l6ZSBPYnNlcnZlciB0ZXN0IGNhc2VzIGZyb20gV1BUcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODIxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9UZXN0T3B0aW9ucy5jcHA6CisgICAgICAgIChUZXN0T3B0aW9uczo6VGVzdE9wdGlvbnMp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoc2V0V2ViUHJlZmVy
ZW5jZXNGb3JUZXN0T3B0aW9ucyk6CisgICAgICAgIEFsbG93IHRlc3RzIHRvIGVuYWJsZSB0aGUg
UmVzaXplT2JzZXJ2ZXJFbmFibGVkIGZsYWcgaW4gV0sxLgorCiAyMDE5LTAxLTI3ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEludHJvZHVjZSBh
IHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNw
cAppbmRleCBjOTI2NjEyYjFiMTYwNGE4M2NlMjYwM2JjZGE4OGNlMzk4M2QzNThlLi44MjE1NDE3
YTkyNDVjNzhlNDkyNTY1MGZmZmYyNzhjM2RlYWQ4N2M3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVz
dE9wdGlvbnMuY3BwCkBAIC0xMTEsNiArMTExLDggQEAgVGVzdE9wdGlvbnM6OlRlc3RPcHRpb25z
KGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXRoT3JVUkwsIGNvbnN0IHN0ZDo6c3RyaW5nJiBhYnNvbHUK
ICAgICAgICAgICAgIGVuYWJsZUNTU0xvZ2ljYWwgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFs
dWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImludGVybmFsOkFkQ2xpY2tBdHRy
aWJ1dGlvbkVuYWJsZWQiKQogICAgICAgICAgICAgYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCA9
IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKGtl
eSA9PSAiZW5hYmxlUmVzaXplT2JzZXJ2ZXIiKQorICAgICAgICAgICAgZW5hYmxlUmVzaXplT2Jz
ZXJ2ZXIgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBwYWly
U3RhcnQgPSBwYWlyRW5kICsgMTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9UZXN0T3B0aW9ucy5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMu
aAppbmRleCBjMjdlODQyYTQ4ZjU3YWM4MGY1ZjA0YmJiNWU2YTkyYWQxMDVkODFkLi5kODg1ZWRi
ZGViMDZhOGJiNjdmNGEwMWJhZjJiMmJjNTNmYzRjN2QxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgc3RydWN0IFRlc3RPcHRpb25zIHsKICAgICBib29s
IGVuYWJsZVdlYkdQVSB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVDU1NMb2dpY2FsIHsgZmFs
c2UgfTsKICAgICBib29sIGFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQgeyBmYWxzZSB9OworICAg
IGJvb2wgZW5hYmxlUmVzaXplT2JzZXJ2ZXIgeyBmYWxzZSB9OwogICAgIHN0ZDo6c3RyaW5nIGpz
Y09wdGlvbnM7CiAKICAgICBUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJM
LCBjb25zdCBzdGQ6OnN0cmluZyYgYWJzb2x1dGVQYXRoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBkM2Y1OGM3N2QyOWY0ZGVkOGU5ZDQ0OWY4OGY0
YTM1MDFmZDEyZDRlLi5lNjZjMDVmM2ZkMWQzZjczNzIzMmFiNmUzMTIzMjc5YzQ0NzY2ZWE4IDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBAIC0xMDEyLDYg
KzEwMTIsNyBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKGNv
bnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQogICAgIHByZWZlcmVuY2VzLndlYkdQVUVuYWJsZWQg
PSBvcHRpb25zLmVuYWJsZVdlYkdQVTsKICAgICBwcmVmZXJlbmNlcy5DU1NMb2dpY2FsRW5hYmxl
ZCA9IG9wdGlvbnMuZW5hYmxlQ1NTTG9naWNhbDsKICAgICBwcmVmZXJlbmNlcy5hZENsaWNrQXR0
cmlidXRpb25FbmFibGVkID0gb3B0aW9ucy5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkOworICAg
IHByZWZlcmVuY2VzLnJlc2l6ZU9ic2VydmVyRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlUmVzaXpl
T2JzZXJ2ZXI7CiB9CiAKIC8vIENhbGxlZCBvbmNlIG9uIER1bXBSZW5kZXJUcmVlIHN0YXJ0dXAu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlYzA1NzQxMmNlMzY4YmQ3NDAzNmZm
MTQzNmM2YTVjYWY0NDljN2FmLi4wYmFmMmU1MGIzNzEyNDczZDIxZmIzZDhiOGIyMWJlOWVmMTgz
ODBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAx
OS0wMS0yNyAgY2F0aGllIGNoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAg
SW1wb3J0IFJlc2l6ZSBPYnNlcnZlciB0ZXN0IGNhc2VzIGZyb20gV1BUcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODIxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4
cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvTUVUQS55bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvZXZlbnRsb29wLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndp
bmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5qczog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3Rp
ZnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL25vdGlmeS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJj
ZXMvaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanM6IEFkZGVkLgorICAgICAg
ICAoUmVzaXplVGVzdEhlbHBlcik6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlw
ZS5nZXQgX2N1cnJlbnRTdGVwKToKKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBl
Ll9uZXh0U3RlcCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5faGFuZGxl
Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlLl9oYW5k
bGVUaW1lb3V0KToKKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlLl9kb25lKToK
KyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlLnN0YXJ0KToKKyAgICAgICAgKFJl
c2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlLmdldCByYWZDb3VudCk6CisgICAgICAgIChSZXNpemVU
ZXN0SGVscGVyLnByb3RvdHlwZS5faW5jcmVtZW50UmFmKToKKyAgICAgICAgKFJlc2l6ZVRlc3RI
ZWxwZXIucHJvdG90eXBlLnN0YXJ0Q291bnRpbmdSYWYpOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvc3ZnLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgorCiAyMDE5LTAxLTI0ICBDaGFybGVzIFZh
emFjICA8Y3ZhemFjQGFrYW1haS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgppbmRleCBk
NmVlOTQxMjFjZDZhOGI1OTVhYzMyYzU2YjI5MzJmMDk1MjgxNzMzLi4zYTBkZWY2NmIwY2RiOWMz
NGFkYTM3YTE4YzMxMDhlZjYwMmNmNzJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMjk2
LDYgKzI5Niw3IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZW1vdGUtcGxheWJhY2siOiAi
c2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVxdWVzdGlkbGVjYWxsYmFjayI6ICJz
a2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIiOiAic2tpcCIs
IAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyLyI6ICJpbXBvcnQiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZyI6ICJpbXBvcnQiLCAKICAg
ICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlcyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBs
YXRmb3JtLXRlc3RzL3NjcmVlbi1vcmllbnRhdGlvbiI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9NRVRBLnltbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL01FVEEueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmNjY4NTYyMmIyYWIyZTI2Y2M2
MzMwZjk4MTMwYmU1ZDQzMDFiMDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9NRVRBLnltbApAQCAt
MCwwICsxLDQgQEAKK3NwZWM6IGh0dHBzOi8vd2ljZy5naXRodWIuaW8vUmVzaXplT2JzZXJ2ZXIv
CitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIGF0b3RpYworICAtIGRob2xiZXJ0CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9ldmVudGxvb3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YjIzMTA2NjQwNzdjNDc3N2Q0MTcxMjIxNTQ1MzIzNTk5M2MyMTgzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcg
QEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFJlc2l6ZU9ic2VydmVyCitSZXNpemVPYnNlcnZlciBub3RpZmljYXRpb24gZXZl
bnQgbG9vcCB0ZXN0cworCit0MQorCitGQUlMIFJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIGFz
c2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNlcnZlciIgbWlz
c2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjYyMmQ3MjRhMTliM2RiMjBhMjFlZjI0YWI5ODVkODRiN2UzNWI5ZTUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AuaHRtbApAQCAtMCwwICsxLDI1OSBAQAorPCFk
b2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVzaXpl
T2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZXNpemVUZXN0
SGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgZGl2IHsKKyAgICBib3JkZXI6IDFweCBk
b3R0ZWQgZ3JheQorICB9Cis8L3N0eWxlPgorPHA+UmVzaXplT2JzZXJ2ZXIgbm90aWZpY2F0aW9u
IGV2ZW50IGxvb3AgdGVzdHM8L3A+Cis8ZGl2IGlkPSJ0YXJnZXQxIiBzdHlsZT0id2lkdGg6MTAw
cHg7aGVpZ2h0OjEwMHB4OyI+dDEKKzwvZGl2PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgPGRp
diBpZD0iYTEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPgorICAgIDxkaXYgaWQ9
ImEyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4Ij4KKyAgICA8L2Rpdj4KKyAgPC9k
aXY+CisgIDxkaXYgaWQ9ImIxIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4Ij4KKyAg
ICA8ZGl2IGlkPSJiMiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+CisgICAgPC9k
aXY+CisgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3QnOworCitsZXQgdDEg
PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MScpOworCisvLyBhbGxvdyB1bmNhdWdo
dCBleGNlcHRpb24gYmVjYXVzZSBSZXNpemVPYnNlcnZlciBwb3N0cyBleGNlcHRpb25zCisvLyB0
byB3aW5kb3cgZXJyb3IgaGFuZGxlciB3aGVuIGxpbWl0IGlzIGV4Y2VlZGVkLgorLy8gVGhpcyBj
b2RlcGF0aCBpcyB0ZXN0ZWQgaW4gdGhpcyBmaWxlLgorCitzZXR1cCh7YWxsb3dfdW5jYXVnaHRf
ZXhjZXB0aW9uOiB0cnVlfSk7CisKK2Z1bmN0aW9uIHRlbXBsYXRlKCkgeworICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QwOiB0aXRsZSIsCisgIFsKKyAgICB7
CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVu
dHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4
dCBzdGVwCisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOwor
fQorCit2YXIgb25FcnJvckNhbGxlZCA9IGZhbHNlOworCit3aW5kb3cub25lcnJvciA9IGVyciA9
PiB7CisgIG9uRXJyb3JDYWxsZWQgPSB0cnVlOworfQorCitmdW5jdGlvbiB0ZXN0MCgpIHsKKwor
ICBsZXQgZGl2cyA9IFt0MV07CisgIGxldCByQUYgPSAwOworICBsZXQgaGVscGVyID0gbmV3IFJl
c2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QwOiBtdWx0aXBsZSBub3RpZmljYXRpb25zIGluc2lk
ZSBzYW1lIGV2ZW50IGxvb3AiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgb25FcnJvckNhbGxlZCA9IGZhbHNlOworICAgICAgICBsZXQgdDIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgbGV0IHQzID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIHQyLmFwcGVuZENoaWxkKHQzKTsKKyAgICAgICAg
dDEuYXBwZW5kQ2hpbGQodDIpOworICAgICAgICBkaXZzLnB1c2godDIpOworICAgICAgICBkaXZz
LnB1c2godDMpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgb2JzZXJ2
ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDMpOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDMsICIzIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGhlbHBlci5z
dGFydENvdW50aW5nUmFmKCk7CisgICAgICAgIGRpdnMuZm9yRWFjaCggZWwgPT4geyBlbC5zdHls
ZS53aWR0aCA9ICIxMDFweCI7fSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgLy8gdDEgaXMgbm90IGRlbGl2ZXJlZAorICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAyLCAiMiBub3RpZmljYXRpb25zIik7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoaGVscGVyLnJhZkNvdW50LCAwLCAic3RpbGwgaW4gc2FtZSBsb29w
Iik7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewor
ICAgICAgICBkaXZzLmZvckVhY2goIGVsID0+IHsgZWwuc3R5bGUud2lkdGggPSAiMTAycHgiO30p
OworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIG5vdGlmaWNhdGlvbnMiKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhoZWxwZXIucmFmQ291bnQsIDAsICJzYW1lIGxvb3AiKTsK
KyAgICAgIH0KKyAgICB9LAorICAgIHsgLy8gdDEgYW5kIHQyIGdldCBub3RpZmllZAorICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBv
YnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAyLCAi
MiBub3RpZmljYXRpb25zIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaGVscGVyLnJhZkNvdW50
LCAxLCAibmV3IGxvb3AiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhvbkVycm9yQ2FsbGVkLCB0
cnVlLCAiZXJyb3Igd2FzIGZpcmVkIik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsK
KyAgICAgICAgd2hpbGUgKHQxLmNoaWxkTm9kZXMubGVuZ3RoID4gMCkKKyAgICAgICAgICB0MS5y
ZW1vdmVDaGlsZCh0MS5jaGlsZE5vZGVzWzBdKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworCisgIHZhciBy
ZXNpemVycyA9IFt0MV07CisgIC8vIFRlc3RpbmcgZGVwdGhzIG9mIHNoYWRvdyByb290cworICAv
LyBET006IHQxIDwtIHQyIDwtIHQzIDwtc2hhZG93LSB0NCA8LSB0NQorICBsZXQgaGVscGVyID0g
bmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBkZXB0aHMgb2Ygc2hhZG93IHJvb3Rz
IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9uRXJy
b3JDYWxsZWQgPSBmYWxzZTsKKyAgICAgICAgbGV0IHQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CisgICAgICAgIHQxLmFwcGVuZENoaWxkKHQyKTsKKyAgICAgICAgcmVzaXplcnMu
cHVzaCh0Mik7CisgICAgICAgIGxldCB0MyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
OworICAgICAgICByZXNpemVycy5wdXNoKHQzKTsKKyAgICAgICAgdDIuYXBwZW5kQ2hpbGQodDMp
OworICAgICAgICBsZXQgc2hhZG93ID0gdDMuYXR0YWNoU2hhZG93KHsgbW9kZTogIm9wZW4iIH0p
OworICAgICAgICBsZXQgdDQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAg
ICAgcmVzaXplcnMucHVzaCh0NCk7CisgICAgICAgIHNoYWRvdy5hcHBlbmRDaGlsZCh0NCk7Cisg
ICAgICAgIGxldCB0NSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICBy
ZXNpemVycy5wdXNoKHQ1KTsKKyAgICAgICAgdDQuYXBwZW5kQ2hpbGQodDUpOworICAgICAgICBy
ZXNpemVycy5mb3JFYWNoKCBlbCA9PiBvYnNlcnZlci5vYnNlcnZlKGVsKSApOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDUsICJhbGwgZW50cmllcyByZXNpemVkIik7CisgICAgICB9
CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICByZXNp
emVycy5mb3JFYWNoKCBlbCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTFweCIgKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCA0LCAiZGVwdGggbGltaXRlZCIpOworICAgICAgfQorICAg
IH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVzaXplcnMu
Zm9yRWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTEycHgiICk7CisgICAgICB9LAorICAg
ICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzLmxlbmd0aCwgMywgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAgICB9LAor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHJlc2l6ZXJzLmZvckVh
Y2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExM3B4IiApOworICAgICAgfSwKKyAgICAgIG5v
dGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllcy5sZW5ndGgsIDIsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9CisgICAgfSwKKyAgICB7
CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICByZXNpemVycy5mb3JFYWNoKCBl
bCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTRweCIgKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMu
bGVuZ3RoLCAxLCAiZGVwdGggbGltaXRlZCIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVz
LCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCA0
LCAibGltaXQgbm90aWZpY2F0aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9uRXJyb3JD
YWxsZWQsIHRydWUsICJicmVhY2hlZCBsaW1pdCIpOworICAgICAgICBvYnNlcnZlci5kaXNjb25u
ZWN0KCk7CisgICAgICAgIHQxLnJlbW92ZUNoaWxkKHQxLmZpcnN0Q2hpbGQpOworICAgICAgfQor
ICAgIH0sCisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRl
c3QyKCkgeworICBsZXQgY29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2NvbnRh
aW5lcicpOworICBsZXQgYTEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYTEnKTsKKyAgbGV0
IGEyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2EyJyk7CisgIGxldCBiMSA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJyNiMScpOworICBsZXQgYjIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCcjYjInKTsKKyAgbGV0IHRhcmdldHMgPSBbYTEsIGEyLCBiMSwgYjJdOworCisgIGxldCBoZWxw
ZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDI6IG1vdmUgdGFyZ2V0IGluIGRv
bSB3aGlsZSBpbnNpZGUgZXZlbnQgbG9vcCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2Jz
ZXJ2ZXIgPT4geworICAgICAgICBmb3IgKGxldCB0IG9mIHRhcmdldHMpCisgICAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIGRlbGF5IG5leHQgb2JzZXJ2YXRp
b24KKyAgICAgIH0KKyAgICB9LAorICAgIHsgLy8gcmVzaXplIHRoZW0gYWxsCisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBmb3IgKGxldCB0IG9mIHRhcmdldHMpCisgICAgICAg
ICAgdC5zdHlsZS53aWR0aCA9ICIxMTBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0
aCwgdGFyZ2V0cy5sZW5ndGgsICJhbGwgdGFyZ2V0cyBvYnNlcnZlZCIpOworICAgICAgfQorICAg
IH0sCisgICAgeyAvLyByZXNpemUgYWxsLCBtb3ZlIGRvbSB1cHdhcmRzCisgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4geworICAgICAgICBmb3IgKGxldCB0IG9mIHRhcmdldHMpCisgICAgICAgICAg
dC5zdHlsZS53aWR0aCA9ICIxMzBweCI7CisgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChi
Mik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgImIyIG1vdmVkIHVwd2FyZHMi
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgYTIpOworICAgICAg
fQorICAgIH0sCisgICAgeyAvLyByZXNpemUgYWxsLCBtb3ZlIGRvbSBkb3dud2FyZHMKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2YgdGFyZ2V0cykKKyAg
ICAgICAgICB0LnN0eWxlLndpZHRoID0gIjEzMHB4IjsKKyAgICAgICAgYTIuYXBwZW5kQ2hpbGQo
YjIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJiMiBtb3ZlZCBkb3dud2Fy
ZHMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgYjIpOworICAg
ICAgICBhMS5hcHBlbmRDaGlsZChhMik7CisgICAgICB9CisgICAgfSwKKyAgXSk7CisgIHJldHVy
biBoZWxwZXIuc3RhcnQoKTsKK30KKworbGV0IGd1YXJkOwordGVzdChfID0+IHsKKyAgYXNzZXJ0
X293bl9wcm9wZXJ0eSh3aW5kb3csICJSZXNpemVPYnNlcnZlciIpOworICBndWFyZCA9IGFzeW5j
X3Rlc3QoJ2d1YXJkJyk7Cit9LCAiUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQiKQorCit0ZXN0
MCgpCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QxKCk7IH0pCisgIC50aGVuKCgpID0+IHsg
cmV0dXJuIHRlc3QyKCk7IH0pCisgIC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9KTsKKwor
PC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hN2VhMzI3
OTFjYjAwNjkzZjM3OTRhMjNkMzI4NGE5MjY3OWM1MmZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
aWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzAgQEAKKworRkFJTCBp
ZGxfdGVzdCBzZXR1cCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJHb3QgYW4gZXJyb3IgYmVmb3JlIHBhcnNpbmcgYW55IG5hbWVkIGRlZmluaXRp
b246IFVucmVjb2duaXNlZCB0b2tlbnMsIGxpbmUgMSAodG9rZW5zOiAie1wiZXJyb3JcIjoge1wi
bWVzc2FnZVwiIikKK1sKKyAgICB7CisgICAgICAgICJ0eXBlIjogInsiLAorICAgICAgICAidmFs
dWUiOiAieyIsCisgICAgICAgICJ0cml2aWEiOiAiIgorICAgIH0sCisgICAgeworICAgICAgICAi
dHlwZSI6ICJzdHJpbmciLAorICAgICAgICAidmFsdWUiOiAiXCJlcnJvclwiIiwKKyAgICAgICAg
InRyaXZpYSI6ICIiCisgICAgfSwKKyAgICB7CisgICAgICAgICJ0eXBlIjogIjoiLAorICAgICAg
ICAidmFsdWUiOiAiOiIsCisgICAgICAgICJ0cml2aWEiOiAiIgorICAgIH0sCisgICAgeworICAg
ICAgICAidHlwZSI6ICJ7IiwKKyAgICAgICAgInZhbHVlIjogInsiLAorICAgICAgICAidHJpdmlh
IjogIiAiCisgICAgfSwKKyAgICB7CisgICAgICAgICJ0eXBlIjogInN0cmluZyIsCisgICAgICAg
ICJ2YWx1ZSI6ICJcIm1lc3NhZ2VcIiIsCisgICAgICAgICJ0cml2aWEiOiAiIgorICAgIH0KK10i
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNz
LndpbmRvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0MTUxZDZiNjc0ZGUyYjkwNWZjZTg3YzEzOWQxMzRh
ZTg1YzhkM2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5odG1sCkBA
IC0wLDAgKzEsMiBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0
IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+Cis8IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpSZXNpemVPYnNlcnZlckVuYWJsZWQ9dHJ1ZSBd
IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5l
c3Mud2luZG93LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTkyYWYy
ZTBjMDc5MTk3NDU3ZTA5MWQ4NGRmZGIzNzQxNzAzMzk1ZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L2lkbGhhcm5lc3Mud2luZG93LmpzCkBAIC0wLDAgKzEsMzcgQEAKKy8vIE1FVEE6IHNjcmlwdD0v
cmVzb3VyY2VzL1dlYklETFBhcnNlci5qcworLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZXMvaWRs
aGFybmVzcy5qcworLy8gTUVUQTogc2NyaXB0PXJlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpz
CisKKyd1c2Ugc3RyaWN0JzsKKworLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9SZXNpemVPYnNl
cnZlci8KKworaWRsX3Rlc3QoCisgIFsnUmVzaXplT2JzZXJ2ZXInXSwKKyAgWydkb20nLCAnZ2Vv
bWV0cnknXSwKKyAgYXN5bmMgaWRsX2FycmF5ID0+IHsKKyAgICBpZGxfYXJyYXkuYWRkX29iamVj
dHMoeworICAgICAgUmVzaXplT2JzZXJ2ZXI6IFsnb2JzZXJ2ZXInXSwKKyAgICAgIFJlc2l6ZU9i
c2VydmVyRW50cnk6IFsnZW50cnknXSwKKyAgICB9KTsKKworICAgIGNvbnN0IGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
ZGl2KTsKKyAgICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgICAiUmVz
aXplT2JzZXJ2ZXJFbnRyeSBjcmVhdG9yIiwKKyAgICAgIFsKKyAgICAgICAgeworICAgICAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgICAgICBzZWxmLm9ic2VydmVyID0gb2JzZXJ2
ZXI7CisgICAgICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRpdik7CisgICAgICAgICAgICBkaXYu
c3R5bGUud2lkdGggPSAiNXB4IjsKKyAgICAgICAgICB9LAorICAgICAgICAgIG5vdGlmeTogZW50
cmllcyA9PiB7CisgICAgICAgICAgICBzZWxmLmVudHJ5ID0gZW50cmllc1swXTsKKyAgICAgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgNSwgInRhcmdl
dCB3aWR0aCIpOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgXSk7CisgICAgYXdhaXQg
aGVscGVyLnN0YXJ0KCk7CisgIH0KKyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvbm90aWZ5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTMyNzg0MWRiNmY5NmU4
NDE5ZDM5OTIxZjUxN2JkNzQxODFjMDI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTA6IFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgorUmVzaXpl
T2JzZXJ2ZXIgdGVzdHMKKwordDEKK3QyCit0MyBpbmxpbmUKKworSGFybmVzcyBFcnJvciAoRkFJ
TCksIG1lc3NhZ2UgPSBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXpl
T2JzZXJ2ZXIKKworRkFJTCBSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCBhc3NlcnRfb3duX3By
b3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXIiIG1pc3NpbmcKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvbm90aWZ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnkuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTAz
OGEzY2I2OGJhMGU0ODY0NDE2ZWE4ODFhYWMwMjQzZjhkZTFiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvbm90aWZ5Lmh0bWwKQEAgLTAsMCArMSwzNTEgQEAKKzwhZG9jdHlwZSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9ic2VydmVyRW5hYmxlZD10cnVl
IF0gLS0+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGU+CisgIGRpdiB7CisgICAgYm9yZGVyOiAxcHggZG90dGVkIGdyYXkKKyAgfQorICAu
dHJhbnNmb3JtIHsKKyAgICB0cmFuc2Zvcm06IHNjYWxlKDIsMikgcm90YXRlKDkwZGVnKQorICB9
Cis8L3N0eWxlPgorPHA+UmVzaXplT2JzZXJ2ZXIgdGVzdHM8L3A+Cis8ZGl2IGlkPSJ0YXJnZXQx
IiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDEKKyAgPGRpdiBpZD0idGFyZ2V0
MiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQyCisgICAgPGRpdiBpZD0idGFy
Z2V0MyIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQzCisgICAgICA8c3BhbiBp
ZD0iaW5saW5lIj5pbmxpbmU8L3NwYW4+CisgICAgPC9kaXY+CisgIDwvZGl2PgorPC9kaXY+Cis8
ZGl2IGlkPSJhYnNvbHV0ZSIgc3R5bGU9IndpZHRoOjEwMC41cHg7aGVpZ2h0OjEwMC41cHg7cG9z
aXRpb246YWJzb2x1dGU7dG9wOjEwLjNweDtsZWZ0OjEwLjNweCI+PC9kaXY+Cis8c2NyaXB0Pgor
J3VzZSBzdHJpY3QnOworCitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0
MScpOworbGV0IHQyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDInKTsKK2xldCB0
MyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQzJyk7CitsZXQgYWJzID0gZG9jdW1l
bnQucXVlcnlTZWxlY3RvcignI2Fic29sdXRlJyk7CitsZXQgaW5saW5lID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignI2lubGluZScpOworCitmdW5jdGlvbiB0ZXN0MCgpIHsKKyAgbGV0IGhlbHBl
ciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogbm90aWZpY2F0aW9uIG9yZGVy
aW5nIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9i
c2VydmVyLm9ic2VydmUodDMpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjVweCI7
CisgICAgICAgIHQzLnN0eWxlLndpZHRoID0gIjVweCI7CisgICAgICAgIHQyLnN0eWxlLndpZHRo
ID0gIjVweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMywgIjMgcmVzaXplcyIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MywgIm9yZGVyaW5n
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sxXS50YXJnZXQsIHQyLCAib3JkZXJp
bmciKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzJdLnRhcmdldCwgdDEsICJvcmRl
cmluZyIpOworICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CisgICAgICAgIHQxLnN0eWxl
LndpZHRoID0gIjEwMHB4IjsKKyAgICAgICAgdDIuc3R5bGUud2lkdGggPSAiMTAwcHgiOworICAg
ICAgICB0My5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisgICAgICB9CisgICAgfQorICBdKTsKKyAg
cmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MSgpIHsKKyAgbGV0IGhl
bHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogZGlzcGxheTpub25lIHRy
aWdnZXJzIG5vdGlmaWNhdGlvbiIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERl
bGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgdDEuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICB0MS5zdHlsZS5k
aXNwbGF5ID0gIiI7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCisKK2Z1bmN0aW9uIHRlc3QyKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6
ZVRlc3RIZWxwZXIoCisgICAgInRlc3QyOiByZW1vdmUvYXBwZW5kQ2hpbGQgdHJpZ2dlciBub3Rp
ZmljYXRpb24iLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmll
cywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0
ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsgLy8gInJlbW92ZUNoaWxkIHRyaWdnZXJzIG5vdGlm
aWNhdGlvbiIKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQxLnBhcmVudE5v
ZGUucmVtb3ZlQ2hpbGQodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQx
KTsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsgLy8gImFwcGVuZENoaWxkIHRyaWdnZXJzIG5vdGlmaWNhdGlvbiIsCisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSkKKyAgICAgIH0KKyAg
ICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKKworZnVuY3Rpb24gdGVz
dDMoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDM6
IGRpbWVuc2lvbnMgbWF0Y2giLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxlLndpZHRo
ID0gIjIwMC41cHgiOworICAgICAgICB0MS5zdHlsZS5oZWlnaHQgPSAiMTAwcHgiOworICAgICAg
ICB0MS5zdHlsZS5wYWRkaW5nTGVmdCA9ICIyMHB4IjsKKyAgICAgICAgdDEuc3R5bGUucGFkZGlu
Z1RvcCA9ICIxMHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZl
cikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QubGVm
dCwyMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC50b3As
MTApOworICAgICAgICBhc3NlcnRfYmV0d2Vlbl9pbmNsdXNpdmUoZW50cmllc1swXS5jb250ZW50
UmVjdC53aWR0aCwgMjAwLjQsIDIwMC42LCAid2lkdGggaXMgbm90IHJvdW5kZWQiKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTAwKTsKKyAg
ICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0
aW9uIHRlc3Q0KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAg
InRlc3Q0OiB0cmFuc2Zvcm0gZG8gbm90IGNhdXNlIG5vdGlmaWNhdGlvbnMiLAorICBbCisgICAg
eworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0
Mik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgcmV0dXJuIHRydWU7IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdDIuY2xhc3NMaXN0LmFk
ZCgidHJhbnNmb3JtIik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgidHJhbnNmb3JtIG11c3Qgbm90IHRy
aWdnZXIgbm90aWZpY2F0aW9ucyIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6ICgpID0+IHsK
KyAgICAgICAgdDIuY2xhc3NMaXN0LnJlbW92ZSgidHJhbnNmb3JtIik7CisgICAgICB9CisgICAg
fQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NSgp
IHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0NTogbW92
aW5nIGFuIGVsZW1lbnQgZG9lcyBub3QgdHJpZ2dlciBub3RpZmljYXRpb25zIiwKKyAgWworICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUo
YWJzKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwK
KyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBhYnMuc3R5bGUudG9w
ID0gIjIwLjMzcHgiOworICAgICAgICBhYnMuc3R5bGUubGVmdCA9ICIyMC4zM3B4IjsKKyAgICAg
IH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3Nl
cnRfdW5yZWFjaGVkKCJtb3ZlbWVudCBzaG91bGQgbm90IGNhdXNlIHJlc2l6ZSBub3RpZmljYXRp
b25zIik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgfQorICAgIH0K
KyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDYoKSB7
CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDY6IGlubGlu
ZSBlbGVtZW50IGRvZXMgbm90IG5vdGlmeSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2Jz
ZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGlubGluZSk7CisgICAgICAgIG9i
c2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI2NnB4IjsKKyAg
ICAgICAgaW5saW5lLnN0eWxlLndpZHRoID0gIjY2cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEsICJpbmxpbmUgZWxlbWVudHMgbXVzdCBub3QgdHJpZ2dlciBub3RpZmljYXRp
b25zIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQxLCAiaW5s
aW5lIGVsZW1lbnRzIG11c3Qgbm90IHRyaWdnZXIgbm90aWZpY2F0aW9ucyIpOworICAgICAgICBy
ZXR1cm4gdHJ1ZTsgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7IC8v
ICJpbmxpbmUgZWxlbWVudCB0aGF0IGJlY29tZXMgYmxvY2sgc2hvdWxkIG5vdGlmeSIsCisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBpbmxpbmUuc3R5bGUuZGlzcGxheSA9ICJi
bG9jayI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgaW5saW5lKTsKKyAgICAg
IH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9u
IHRlc3Q3KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRl
c3Q3OiB1bm9ic2VydmUgaW5zaWRlIG5vdGlmeSBjYWxsYmFjayIsCisgIFsKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiNzc3cHgiOwor
ICAgICAgICB0Mi5zdHlsZS53aWR0aCA9ICI3NzdweCI7CisgICAgICAgIG9ic2VydmVyLnVub2Jz
ZXJ2ZSh0MSk7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAg
ICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJvbmx5IHQyIGlzIG9ic2VydmVkIik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQyLCAib25seSB0MiBpcyBvYnNlcnZl
ZCIpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30K
KworZnVuY3Rpb24gdGVzdDgoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBl
cigKKyAgICAidGVzdDg6IG9ic2VydmUgaW5zaWRlIG5vdGlmeSBjYWxsYmFjayIsCisgIFsKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgICAgdDIuc3R5bGUud2lkdGggPSAi
ODg4cHgiOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiBpcyBvYnNlcnZlZCIpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MiwgIm9ubHkgdDIgaXMgb2JzZXJ2ZWQi
KTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3Q5KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIo
CisgICAgInRlc3Q5OiBkaXNjb25uZWN0IGluc2lkZSBub3RpZnkgY2FsbGJhY2siLAorICBbCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsK
KyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiOTk5cHgiOworICAgICAgICBvYnNlcnZlci5kaXNj
b25uZWN0KCk7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAg
ICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF91
bnJlYWNoZWQoInRoZXJlIHNob3VsZCBiZSBubyBub3RpZmljYXRpb25zIGFmdGVyIGRpc2Nvbm5l
Y3QiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7CisgICAgICB9CisgICAgfQor
ICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MTAoKSB7
CisgIHZhciBwYXJlbnQgPSB0MS5wYXJlbnROb2RlOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6
ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMDogZWxlbWVudCBub3RpZmllcyB3aGVuIHBhcmVudCBy
ZW1vdmVkIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodDMpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVw
CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICB0MS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQxKTsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwg
dDMpOworICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQodDEpOworICAgICAgfQorICAgIH0KKyAg
XSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworbGV0IGd1YXJkOwordGVzdChfID0+
IHsKKyAgYXNzZXJ0X293bl9wcm9wZXJ0eSh3aW5kb3csICJSZXNpemVPYnNlcnZlciIpOworICBn
dWFyZCA9IGFzeW5jX3Rlc3QoJ2d1YXJkJyk7Cit9LCAiUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50
ZWQiKQorCit0ZXN0MCgpCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QxKCk7IH0pCisgIC50
aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QyKCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRl
c3QzKCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q0KCk7IH0pCisgIC50aGVuKCgp
ID0+IHsgcmV0dXJuIHRlc3Q1KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q2KCk7
IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q3KCk7IH0pCisgIC50aGVuKCgpID0+IHsg
cmV0dXJuIHRlc3Q4KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q5KCk7IH0pCisg
IC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QxMCgpOyB9KQorICAudGhlbigoKSA9PiB7IGd1YXJk
LmRvbmUoKTsgfSk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTAwM2UwNmQzNTM3
NTEwYTg2NTljNmI0YjQzNGNkNzAxODIzN2VjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTA6
IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgorUmVz
aXplT2JzZXJ2ZXIgdGVzdHMKKwordDEKK3QyCisgCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIgaW1w
bGVtZW50ZWQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9i
c2VydmVyIiBtaXNzaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2Vy
dmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mYzQ1OTJkNDU5NDZjMTliZmE4MmU3YTZkNzBhODgyZDAwYjI5
ZThjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCkBAIC0wLDAgKzEsMjA3IEBA
Cis8IWRvY3R5cGUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpS
ZXNpemVPYnNlcnZlckVuYWJsZWQ9dHJ1ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6
ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0PgorPHA+UmVzaXplT2JzZXJ2ZXIgdGVzdHM8L3A+Cis8
ZGl2IGlkPSJ0YXJnZXQxIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDE8L2Rp
dj4KKzxkaXYgaWQ9InRhcmdldDIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50
MjwvZGl2PgorPGltZyBpZD0idGFyZ2V0MyIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBw
eDsiPgorPGlmcmFtZSBzcmM9Ii4vcmVzb3VyY2VzL2lmcmFtZS5odG1sIiB3aWR0aD0iMzAwcHgi
IGhlaWdodD0iMTAwcHgiIHN0eWxlPSJkaXNwbGF5OmJsb2NrIj48L2lmcmFtZT4KKzxzY3JpcHQ+
CisndXNlIHN0cmljdCc7CisKK2xldCB0MSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJn
ZXQxJyk7CitsZXQgdDIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MicpOworCisv
LyBhbGxvdyB1bmNhdWdodCBleGNlcHRpb24gYmVjYXVzZSBSZXNpemVPYnNlcnZlciBwb3N0cyBl
eGNlcHRpb25zCisvLyB0byB3aW5kb3cgZXJyb3IgaGFuZGxlciB3aGVuIGxpbWl0IGlzIGV4Y2Vl
ZGVkLgorc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZX0pOworCitmdW5jdGlv
biB0ZXN0MCgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0
ZXN0MDogc2ltcGxlIG9ic2VydmF0aW9uIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHls
ZS53aWR0aCA9ICI1cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZp
Y2F0aW9uIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQxLCAi
dGFyZ2V0IGlzIHQxIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50
UmVjdC53aWR0aCwgNSwgInRhcmdldCB3aWR0aCIpOworICAgICAgfQorICAgIH0KKyAgXSk7Cisg
IHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEoKSB7CisgIGxldCBo
ZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE6IG11bHRpcGxlIG9ic2Vy
dmF0aW9uIG9uIHNhbWUgZWxlbWVudCB0cmlnZ2VyIG9ubHkgb25lIiwKKyAgWworICAgIHsKKyAg
ICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOwor
ICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAi
MTBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmljYXRpb24iKTsK
KyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1
bmN0aW9uIHRlc3QyKCkgeworICB0ZXN0KCgpID0+IHsKKyAgICAgIGFzc2VydF90aHJvd3Moe25h
bWU6ICJUeXBlRXJyb3IifSwgXz0+IHsKKyAgICAgICAgbGV0IHJvID0gbmV3IFJlc2l6ZU9ic2Vy
dmVyKCgpID0+IHt9KTsKKyAgICAgICAgcm8ub2JzZXJ2ZSh7fSk7CisgICAgICB9KTsKKyAgICB9
LAorICAgICJ0ZXN0MjogdGhyb3cgZXhjZXB0aW9uIHdoZW4gb2JzZXJ2aW5nIG5vbi1lbGVtZW50
IgorICApOworICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Qz
KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QzOiBk
aXNjb25uZWN0IHN0b3BzIGFsbCBub3RpZmljYXRpb25zIiwgWworICAgIHsKKyAgICAgIHNldHVw
OiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICBv
YnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOworICAg
ICAgICB0MS5zdHlsZS53aWR0aCA9ICIzMHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVu
dHJpZXMgPT4geworICAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgibm8gZW50cmllcyBzaG91bGQg
YmUgb2JzZXJ2ZWQiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7CisgICAgICAg
IC8vIGV4cGVjdGVkCisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0NCgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVU
ZXN0SGVscGVyKAorICAgICJ0ZXN0NDogdW5vYnNlcnZlIHRhcmdldCBzdG9wcyBub3RpZmljYXRp
b25zLCB1bm9ic2VydmUgbm9uLW9ic2VydmVkIGRvZXMgbm90aGluZyIsIFsKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAgIG9ic2VydmVyLnVub2JzZXJ2ZSh0
MSk7CisgICAgICAgIG9ic2VydmVyLnVub2JzZXJ2ZShkb2N1bWVudC5ib2R5KTsKKyAgICAgICAg
dDEuc3R5bGUud2lkdGggPSAiNDBweCI7CisgICAgICAgIHQyLnN0eWxlLndpZHRoID0gIjQwcHgi
OworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJvbmx5IHQyIik7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS50YXJnZXQsIHQyLCAidDIgd2FzIG9ic2VydmVkIik7CisgICAgICB9Cisg
ICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0
NSgpIHsKKyAgbGV0IHQzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDMnKTsKKyAg
dmFyIGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKCJ0ZXN0NTogb2JzZXJ2ZSBpbWciLFsK
KyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNl
cnZlKHQzKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgfQor
ICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdDMuc3R5
bGUud2lkdGggPSAiMTAwLjVweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwLjUpOworICAgICAg
fQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24g
dGVzdDYoKSB7CisgIGxldCByZXNvbHZlUHJvbWlzZTsKKyAgbGV0IHByb21pc2UgPSBuZXcgUHJv
bWlzZSgocmVzb2x2ZSkgPT4geworICAgIHJlc29sdmVQcm9taXNlID0gcmVzb2x2ZTsKKyAgfSk7
CisgIGxldCB0ZXN0ID0gYXN5bmNfdGVzdCgndGVzdDY6IGlmcmFtZSBub3RpZmljYXRpb25zJyk7
CisgIGxldCB0ZXN0UmVxdWVzdGVkID0gZmFsc2U7CisgIGxldCBpZnJhbWUgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCdpZnJhbWUnKTsKKyAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3Nh
Z2UnLCBldmVudCA9PiB7CisgICAgc3dpdGNoKGV2ZW50LmRhdGEpIHsKKyAgICBjYXNlICdyZWFk
eVRvVGVzdCc6CisgICAgICBpZiAoIXRlc3RSZXF1ZXN0ZWQpIHsKKyAgICAgICAgaWZyYW1lLmNv
bnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoJ3N0YXJ0VGVzdCcsICcqJyk7CisgICAgICAgIHRlc3RS
ZXF1ZXN0ZWQgPSB0cnVlOworICAgICAgfQorICAgIGJyZWFrOworICAgIGNhc2UgJ3N1Y2Nlc3Mn
OgorICAgIGNhc2UgJ2ZhaWwnOgorICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgo
KSA9PiB7CisgICAgICAgIHRlc3Quc3RlcCggKCkgPT4geworICAgICAgICAgIGFzc2VydF9lcXVh
bHMoZXZlbnQuZGF0YSwgJ3N1Y2Nlc3MnKTsKKyAgICAgICAgICB0ZXN0LmRvbmUoKTsKKyAgICAg
ICAgICByZXNvbHZlUHJvbWlzZSgpOworICAgICAgICB9KTsKKyAgICAgIH0pOworICAgIGJyZWFr
OworICAgIH0KKyAgfSwgZmFsc2UpOworICByZXR1cm4gcHJvbWlzZTsKK30KKworZnVuY3Rpb24g
dGVzdDcoKSB7CisgIGxldCBoYXJuZXNzVGVzdCA9IGFzeW5jX3Rlc3QoInRlc3Q3OiBjYWxsYmFj
ay50aGlzIik7CisgIGxldCByZXNvbHZlUHJvbWlzZTsKKyAgbGV0IHJvID0gbmV3IFJlc2l6ZU9i
c2VydmVyKCBmdW5jdGlvbihlbnRyaWVzLCBvYnMpICB7CisgICAgbGV0IGNhbGxiYWNrVGhpcyA9
IHRoaXM7CisgICAgcmVzb2x2ZVByb21pc2UoKTsKKyAgICBoYXJuZXNzVGVzdC5zdGVwKCgpID0+
IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoY2FsbGJhY2tUaGlzLCBybywgImNhbGxiYWNrLnRoaXMg
aXMgUmVzaXplT2JzZXJ2ZXIiKTsKKyAgICAgIGFzc2VydF9lcXVhbHMob2JzLCBybywgIjJuZCBh
cmd1bWVudCBpcyBSZXNpemVPYnNlcnZlciIpOworICAgICAgcm8uZGlzY29ubmVjdCgpOworICAg
ICAgLy8gZXZlcnkgcmVmZXJlbmNlIHRvIFJPIG11c3QgYmUgbnVsbCBiZWZvcmUgdGVzdCBjb21w
bGV0ZXMKKyAgICAgIC8vIHRvIGF2b2lkIHRyaWdnZXJpbmcgdGVzdCBsZWFrLWRldGVjdGlvbgor
ICAgICAgcm8gPSBudWxsOworICAgICAgY2FsbGJhY2tUaGlzID0gbnVsbDsKKyAgICAgIG9icyA9
IG51bGw7CisgICAgICBoYXJuZXNzVGVzdC5kb25lKCk7CisgICAgIH0pOworICAgIH0KKyAgKTsK
KyAgcm8ub2JzZXJ2ZSh0MSk7CisKKyAgcmV0dXJuIG5ldyBQcm9taXNlKCAocmVzb2x2ZSwgcmVq
ZWN0KSA9PiB7CisgICAgcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlOworICB9KTsKK30KKworbGV0
IGd1YXJkOwordGVzdChfID0+IHsKKyAgYXNzZXJ0X293bl9wcm9wZXJ0eSh3aW5kb3csICJSZXNp
emVPYnNlcnZlciIpOworICBndWFyZCA9IGFzeW5jX3Rlc3QoJ2d1YXJkJyk7Cit9LCAiUmVzaXpl
T2JzZXJ2ZXIgaW1wbGVtZW50ZWQiKQorCit0ZXN0MCgpCisgIC50aGVuKCgpID0+IHsgcmV0dXJu
IHRlc3QxKCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QyKCk7IH0pCisgIC50aGVu
KCgpID0+IHsgcmV0dXJuIHRlc3QzKCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q0
KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q1KCk7IH0pCisgIC50aGVuKCgpID0+
IHsgcmV0dXJuIHRlc3Q2KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q3KCk7IH0p
CisgIC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTE4MzE3YjUyMGI2OGNiZjkyYjA5ZTY3YTU3ZjFlY2QyNzI0Mzc0NwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9pZnJhbWUuaHRtbApAQCAtMCwwICsxLDM4IEBA
Cis8IWRvY3R5cGUgaHRtbD4KKzxoZWFkPgorICA8c2NyaXB0IHNyYz0iLi9yZXNpemVUZXN0SGVs
cGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxwPmlmcmFtZSB0ZXN0PC9wPgorPGRpdiBpZD0i
aXRhcmdldDEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MTwvZGl2PgorPHNj
cmlwdD4KKyd1c2Ugc3RyaWN0JzsKK2xldCB0MSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNp
dGFyZ2V0MScpOworZnVuY3Rpb24gdGVzdDAoKSB7CisgIGxldCB0aW1lb3V0SWQgPSB3aW5kb3cu
c2V0VGltZW91dCggKCkgPT4geworICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoJ2ZhaWwn
LCAnKicpOworICB9LCBSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQpOworICBsZXQgcm8gPSBuZXcg
UmVzaXplT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcykgeworICAgIHdpbmRvdy5jbGVhclRpbWVv
dXQodGltZW91dElkKTsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCdzdWNjZXNzJywg
JyonKTsKKyAgfSk7CisgIHJvLm9ic2VydmUodDEpOworfQorbGV0IHRlc3RTdGFydGVkID0gZmFs
c2U7Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGZ1bmN0aW9uKGV2KSB7Cisg
ICAgc3dpdGNoKGV2LmRhdGEpIHsKKyAgICAgICAgY2FzZSAnc3RhcnRUZXN0JzoKKyAgICAgICAg
ICB0ZXN0U3RhcnRlZCA9IHRydWU7CisgICAgICAgICAgdGVzdDAoKTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQorfSk7CisvLyBIb3cgZG9lcyBwYXJlbnQga25vdyB3ZSd2ZSBsb2FkZWQgcHJvYmxl
bSBpcyBzb2x2ZWQgYnkKKy8vIGJyb2FkY2FzdGluZyByZWFkeVRvVGVzdCBtZXNzYWdlIHJlcGVh
dGVkbHkgdW50aWwgdGVzdCBzdGFydHMuCitmdW5jdGlvbiBicm9hZGNhc3RSZWFkeSgpIHsKKyAg
aWYgKCF0ZXN0U3RhcnRlZCkgeworICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoJ3JlYWR5
VG9UZXN0JywgJyonKTsKKyAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGJyb2FkY2Fz
dFJlYWR5KTsKKyAgfQorfQorYnJvYWRjYXN0UmVhZHkoKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXpl
VGVzdEhlbHBlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MGM2ODFiZDkzMzM0NTUyOTE2NzExYmJiZTE2N2Jj
NGJkNTg4NDczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxw
ZXIuanMKQEAgLTAsMCArMSwxNDggQEAKKyd1c2Ugc3RyaWN0JzsKKworLyoqCisgIFJlc2l6ZVRl
c3RIZWxwZXIgaXMgYSBmcmFtZXdvcmsgdG8gdGVzdCBSZXNpemVPYnNlcnZlcgorICBub3RpZmlj
YXRpb25zLiBVc2UgaXQgdG8gbWFrZSBhc3NlcnRpb25zIGFib3V0IFJlc2l6ZU9ic2VydmVyRW50
cmllcy4KKyAgVGhpcyBmcmFtZXdvcmsgaXMgbmVlZGVkIGJlY2F1c2UgUmVzaXplT2JzZXJ2YXRp
b25zIGFyZQorICBkZWxpdmVyZWQgYXN5bmNocm9ub3VzbHkgaW5zaWRlIHRoZSBldmVudCBsb29w
LgorCisgIEZlYXR1cmVzOgorICAtIGNhbiBxdWV1ZSBtdWx0aXBsZSBub3RpZmljYXRpb24gc3Rl
cHMgaW4gYSB0ZXN0CisgIC0gaGFuZGxlcyB0aW1lb3V0cworICAtIHJldHVybnMgUHJvbWlzZSB0
aGF0IGlzIGZ1bGxmaWxsZWQgd2hlbiB0ZXN0IGNvbXBsZXRlcy4KKyAgICBVc2UgdG8gY2hhaW4g
dGVzdHMgKHNpbmNlIHBhcmFsbGVsIGFzeW5jIFJlc2l6ZU9ic2VydmVyIHRlc3RzCisgICAgd291
bGQgY29uZmxpY3QgaWYgcmV1c2luZyBzYW1lIERPTSBlbGVtZW50cykuCisKKyAgVXNhZ2U6CisK
KyAgY3JlYXRlIFJlc2l6ZVRlc3RIZWxwZXIgZm9yIGV2ZXJ5IHRlc3QuCisgIE1ha2UgYXNzZXJ0
aW9ucyBpbnNpZGUgbm90aWZ5LCB0aW1lb3V0IGNhbGxiYWNrcy4KKyAgU3RhcnQgdGVzdHMgd2l0
aCBoZWxwZXIuc3RhcnQoKQorICBDaGFpbiB0ZXN0cyB3aXRoIFByb21pc2VzLgorICBDb3VudHMg
YW5pbWF0aW9uIGZyYW1lcywgc2VlIHN0YXJ0Q291bnRpbmdSYWYKKyovCisKKy8qCisgIEBwYXJh
bSBuYW1lOiB0ZXN0IG5hbWUKKyAgQHBhcmFtIHN0ZXBzOgorICB7CisgICAgc2V0dXA6IGZ1bmN0
aW9uKFJlc2l6ZU9ic2VydmVyKSB7CisgICAgICAvLyBjYWxsZWQgYXQgdGhlIGJlZ2lubmluZyBv
ZiB0aGUgdGVzdCBzdGVwCisgICAgICAvLyB5b3VyIG9ic2VydmUvcmVzaXplIGNvZGUgZ29lcyBo
ZXJlCisgICAgfSwKKyAgICBub3RpZnk6IGZ1bmN0aW9uKGVudHJpZXMsIG9ic2VydmVyKSB7Cisg
ICAgICAvLyBSZXNpemVPYnNlcnZlciBjYWxsYmFjay4KKyAgICAgIC8vIE1ha2UgYXNzZXJ0aW9u
cyBoZXJlLgorICAgICAgLy8gUmV0dXJuIHRydWUgaWYgbmV4dCBzdGVwIHNob3VsZCBzdGFydCBv
biB0aGUgbmV4dCBldmVudCBsb29wLgorICAgIH0sCisgICAgdGltZW91dDogZnVuY3Rpb24oKSB7
CisgICAgICAvLyBEZWZpbmUgdGhpcyBpZiB5b3VyIHRlc3QgZXhwZWN0cyB0byB0aW1lIG91dC4K
KyAgICAgIC8vIElmIHVuZGVmaW5lZCwgdGltZW91dCBpcyBhc3NlcnRfdW5yZWFjaGVkLgorICAg
IH0KKyAgfQorKi8KK2Z1bmN0aW9uIFJlc2l6ZVRlc3RIZWxwZXIobmFtZSwgc3RlcHMpCit7Cisg
ICAgdGhpcy5fbmFtZSA9IG5hbWU7CisgICAgdGhpcy5fc3RlcHMgPSBzdGVwcyB8fCBbXTsKKyAg
ICB0aGlzLl9zdGVwSWR4ID0gLTE7CisgICAgdGhpcy5faGFybmVzc1Rlc3QgPSBudWxsOworICAg
IHRoaXMuX29ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMuX2hhbmRsZU5vdGlmaWNh
dGlvbi5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl90aW1lb3V0QmluZCA9IHRoaXMuX2hhbmRsZVRp
bWVvdXQuYmluZCh0aGlzKTsKKyAgICB0aGlzLl9uZXh0U3RlcEJpbmQgPSB0aGlzLl9uZXh0U3Rl
cC5iaW5kKHRoaXMpOworfQorCitSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQgPSAxMDA7CisKK1Jl
c2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlID0geworICBnZXQgX2N1cnJlbnRTdGVwKCkgeworICAg
IHJldHVybiB0aGlzLl9zdGVwc1t0aGlzLl9zdGVwSWR4XTsKKyAgfSwKKworICBfbmV4dFN0ZXA6
IGZ1bmN0aW9uKCkgeworICAgIGlmICgrK3RoaXMuX3N0ZXBJZHggPT0gdGhpcy5fc3RlcHMubGVu
Z3RoKQorICAgICAgcmV0dXJuIHRoaXMuX2RvbmUoKTsKKyAgICB0aGlzLl90aW1lb3V0SWQgPSB0
aGlzLl9oYXJuZXNzVGVzdC5zdGVwX3RpbWVvdXQoCisgICAgICB0aGlzLl90aW1lb3V0QmluZCwg
UmVzaXplVGVzdEhlbHBlci5USU1FT1VUKTsKKyAgICB0cnkgeworICAgICAgdGhpcy5fc3RlcHNb
dGhpcy5fc3RlcElkeF0uc2V0dXAodGhpcy5fb2JzZXJ2ZXIpOworICAgIH0KKyAgICBjYXRjaChl
cnIpIHsKKyAgICAgIHRoaXMuX2hhcm5lc3NUZXN0LnN0ZXAoKCkgPT4geworICAgICAgICBhc3Nl
cnRfdW5yZWFjaGVkKCJDYXVnaHQgYSB0aHJvdywgcG9zc2libGUgc3ludGF4IGVycm9yIik7Cisg
ICAgICB9KTsKKyAgICB9CisgIH0sCisKKyAgX2hhbmRsZU5vdGlmaWNhdGlvbjogZnVuY3Rpb24o
ZW50cmllcykgeworICAgIGlmICh0aGlzLl90aW1lb3V0SWQpIHsKKyAgICAgIHdpbmRvdy5jbGVh
clRpbWVvdXQodGhpcy5fdGltZW91dElkKTsKKyAgICAgIGRlbGV0ZSB0aGlzLl90aW1lb3V0SWQ7
CisgICAgfQorICAgIHRoaXMuX2hhcm5lc3NUZXN0LnN0ZXAoKCkgPT4geworICAgICAgbGV0IHJh
ZkRlbGF5ID0gdGhpcy5fY3VycmVudFN0ZXAubm90aWZ5KGVudHJpZXMsIHRoaXMuX29ic2VydmVy
KTsKKyAgICAgIGlmIChyYWZEZWxheSkKKyAgICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25G
cmFtZSh0aGlzLl9uZXh0U3RlcEJpbmQpOworICAgICAgZWxzZQorICAgICAgICB0aGlzLl9uZXh0
U3RlcCgpOworICAgIH0pOworICB9LAorCisgIF9oYW5kbGVUaW1lb3V0OiBmdW5jdGlvbigpIHsK
KyAgICBkZWxldGUgdGhpcy5fdGltZW91dElkOworICAgIHRoaXMuX2hhcm5lc3NUZXN0LnN0ZXAo
KCkgPT4geworICAgICAgaWYgKHRoaXMuX2N1cnJlbnRTdGVwLnRpbWVvdXQpIHsKKyAgICAgICAg
dGhpcy5fY3VycmVudFN0ZXAudGltZW91dCgpOworICAgICAgfQorICAgICAgZWxzZSB7CisgICAg
ICAgIGFzc2VydF91bnJlYWNoZWQoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBub3RpZmljYXRpb24u
ICgiICsgUmVzaXplVGVzdEhlbHBlci5USU1FT1VUICsgIm1zKSIpOworICAgICAgfQorICAgICAg
dGhpcy5fbmV4dFN0ZXAoKTsKKyAgICB9KTsKKyAgfSwKKworICBfZG9uZTogZnVuY3Rpb24oKSB7
CisgICAgdGhpcy5fb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgIGRlbGV0ZSB0aGlzLl9vYnNl
cnZlcjsKKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5kb25lKCk7CisgICAgaWYgKHRoaXMuX3JhZkNv
dW50UmVxdWVzdCkgeworICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuX3Jh
ZkNvdW50UmVxdWVzdCk7CisgICAgICBkZWxldGUgdGhpcy5fcmFmQ291bnRSZXF1ZXN0OworICAg
IH0KKyAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsgdGhpcy5fcmVzb2x2
ZVByb21pc2UoKTsgfSk7CisgIH0sCisKKyAgc3RhcnQ6IGZ1bmN0aW9uKCkgeworICAgIHRoaXMu
X2hhcm5lc3NUZXN0ID0gYXN5bmNfdGVzdCh0aGlzLl9uYW1lKTsKKyAgICB0aGlzLl9oYXJuZXNz
VGVzdC5zdGVwKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHModGhpcy5fc3RlcElkeCwgLTEs
ICJzdGFydCBjYW4gb25seSBiZSBjYWxsZWQgb25jZSIpOworICAgICAgdGhpcy5fbmV4dFN0ZXAo
KTsKKyAgICB9KTsKKyAgICByZXR1cm4gbmV3IFByb21pc2UoIChyZXNvbHZlLCByZWplY3QpID0+
IHsKKyAgICAgIHRoaXMuX3Jlc29sdmVQcm9taXNlID0gcmVzb2x2ZTsKKyAgICAgIHRoaXMuX3Jl
amVjdFByb21pc2UgPSByZWplY3Q7CisgICAgfSk7CisgIH0sCisKKyAgZ2V0IHJhZkNvdW50KCkg
eworICAgIGlmICghdGhpcy5fcmFmQ291bnRSZXF1ZXN0KQorICAgICAgdGhyb3cgInJBRiBjb3Vu
dCBpcyBub3QgYWN0aXZlIjsKKyAgICByZXR1cm4gdGhpcy5fcmFmQ291bnQ7CisgIH0sCisKKyAg
X2luY3JlbWVudFJhZjogZnVuY3Rpb24oKSB7CisgICAgaWYgKHRoaXMuX3JhZkNvdW50UmVxdWVz
dCkgeworICAgICAgdGhpcy5fcmFmQ291bnQrKzsKKyAgICAgIHRoaXMuX3JhZkNvdW50UmVxdWVz
dCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5faW5jcmVtZW50UmFmQmluZCk7
CisgICAgfQorICB9LAorCisgIHN0YXJ0Q291bnRpbmdSYWY6IGZ1bmN0aW9uKCkgeworICAgIGlm
ICh0aGlzLl9yYWZDb3VudFJlcXVlc3QpCisgICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJh
bWUodGhpcy5fcmFmQ291bnRSZXF1ZXN0KTsKKyAgICBpZiAoIXRoaXMuX2luY3JlbWVudFJhZkJp
bmQpCisgICAgICB0aGlzLl9pbmNyZW1lbnRSYWZCaW5kID0gdGhpcy5faW5jcmVtZW50UmFmLmJp
bmQodGhpcyk7CisgICAgdGhpcy5fcmFmQ291bnQgPSAwOworICAgIHRoaXMuX3JhZkNvdW50UmVx
dWVzdCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5faW5jcmVtZW50UmFmQmlu
ZCk7CisgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZjM3Y2VhNWZjMDY0YWRhNzlh
Y2VjMGRmM2MzOGYxNmZhYzAxMzgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3cz
Yy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1RoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9y
bS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0
cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBm
aWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVm
aXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgor
Tm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9pZnJh
bWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9zdmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kY2Y4
MzZlNWYyMGFhYTM4YjE3ZjMwZDRjYTJkYWFiNGVjYTAzMzMxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvc3ZnLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSA1MDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJlc2l6ZU9ic2VydmVy
CitSZXNpemVPYnNlcnZlciBzdmcgdGVzdHMKKworSGVyZSBpcyBhIHBhcmFncmFwaCB0aGF0IHJl
cXVpcmVzIHdvcmQgd3JhcAorCitzdmcgdGV4dCB0YWcKKworRkFJTCBSZXNpemVPYnNlcnZlciBp
bXBsZW1lbnRlZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXpl
T2JzZXJ2ZXIiIG1pc3NpbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40OWU1YzE5NTNlYzI3OGU5MjE3NjlkYzkyNDIwYzc5Y2Y3ZjAwMzQ0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwKQEAgLTAsMCArMSwzMzMgQEAKKzwhZG9jdHlw
ZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9ic2Vy
dmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8cD5SZXNpemVPYnNlcnZlciBzdmcgdGVzdHM8L3A+Cis8c3ZnIGhl
aWdodD0iNDMwIiB3aWR0aD0iNTAwIiA+CisgIDxjaXJjbGUgY3g9IjEwIiBjeT0iMTAiIHI9IjUi
IHN0eWxlPSJmaWxsOm9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEiIC8+CisgIDxl
bGxpcHNlIGN4PSIxMCIgY3k9IjMwIiByeD0iNSIgcnk9IjUiIHN0eWxlPSJmaWxsOm9yYW5nZTtz
dHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEiLz4KKyAgPGZvcmVpZ25PYmplY3QgY3k9IjUwIiB3
aWR0aD0iMTAwIiBoZWlnaHQ9IjIwIj4KKyAgICA8Ym9keT4KKyAgICAgIDxwPkhlcmUgaXMgYSBw
YXJhZ3JhcGggdGhhdCByZXF1aXJlcyB3b3JkIHdyYXA8L3A+CisgICAgPC9ib2R5PgorICA8L2Zv
cmVpZ25PYmplY3Q+CisgIDxpbWFnZSB4bGluazpocmVmPSIiIHg9IjAiIHk9IjEwMCIgaGVpZ2h0
PSIzMCIgd2lkdGg9IjEwMCIgLz4KKyAgPGxpbmUgeDE9IjAiIHkxPSI1MCIgeDI9IjIwIiB5Mj0i
NzAiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIvPgorICA8cGF0aCBkPSJNIDAgMTAw
IEwgMTAwIDEwMCBMIDUwIDE1MCB6IgorICAgICAgICBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tl
OmJsYWNrO3N0cm9rZS13aWR0aDoxIiAvPgorICA8cG9seWdvbiBwb2ludHM9IjAsMjAwIDEwMCwy
MDAgNTAsMjUwIiBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDox
IiAvPgorICA8cG9seWxpbmUgcG9pbnRzPSIwLDMwMCAxMDAsMzAwIDUwLDM1MCIgc3R5bGU9ImZp
bGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJva2Utd2lkdGg6MSIvPgorICA8cmVjdCB4PSIwIiB5
PSIzODAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgc3R5bGU9ImZpbGw6b3JhbmdlOyBzdHJva2U6
YmxhY2s7IHN0cm9rZS13aWR0aDoxIiAvPgorICA8dGV4dCB4PSIwIiB5PSI0MDAiIGZvbnQtc2l6
ZT0iMjAiPnN2ZyB0ZXh0IHRhZzwvdGV4dD4KKzwvc3ZnPgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0
JzsKKworc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZX0pOworCitmdW5jdGlv
biB0ZXN0MCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NpcmNs
ZScpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QwOiBv
YnNlcnZlIHN2ZzpjaXJjbGUiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5v
dGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8g
RGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2Jz
ZXJ2ZXIgPT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdyJywgMTApOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJl
dHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEoKSB7CisgIGxldCB0YXJn
ZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdlbGxpcHNlJyk7CisgIGxldCBoZWxwZXIgPSBu
ZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE6IG9ic2VydmUgc3ZnOmVsbGlwc2UiLAor
ICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIu
b2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2Vy
dmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAg
ICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0
YXJnZXQuc2V0QXR0cmlidXRlKCdyeCcsIDEwKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lndp
ZHRoLCAyMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5o
ZWlnaHQsIDEwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0
KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QyKCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignZm9yZWlnbk9iamVjdCcpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRl
c3RIZWxwZXIoCisgICAgInRlc3QyOiBvYnNlcnZlIHN2Zzpmb3JlaWduT2JqZWN0IiwKKyAgWwor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2Vy
dmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikg
PT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQor
ICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0
LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAyMDApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVu
dHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lk
dGgsIDIwMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5o
ZWlnaHQsIDIwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0
KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QzKCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignaW1hZ2UnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVy
KAorICAgICJ0ZXN0Mzogb2JzZXJ2ZSBzdmc6aW1hZ2UiLAorICBbCisgICAgeworICAgICAgc2V0
dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJl
dHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7Cisg
ICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdo
ZWlnaHQnLCA0MCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNDApOworICAg
ICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rp
b24gdGVzdDQoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdsaW5l
Jyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDQ6IG9i
c2VydmUgc3ZnOmxpbmUiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsK
KyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVs
YXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2
ZXIgPT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCd5MicsIDgwKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmNvbnRlbnRSZWN0LndpZHRoLCAyMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDMwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q1KCkgeworICBsZXQgdGFy
Z2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncGF0aCcpOworICBsZXQgaGVscGVyID0gbmV3
IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q1OiBvYnNlcnZlIHN2ZzpwYXRoIiwKKyAgWwor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2Vy
dmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikg
PT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQor
ICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0
LnNldEF0dHJpYnV0ZSgnZCcsICJNIDAgMTAwIEwgMTAwIDEwMCBMIDUwIDE2MCB6Iik7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNjApOworICAgICAgfQorICAgIH0KKyAgXSk7
CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDYoKSB7CisgIGxl
dCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdwb2x5Z29uJyk7CisgIGxldCBoZWxw
ZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDY6IG9ic2VydmUgc3ZnOnBhdGgi
LAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2
ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisg
ICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAg
ICB0YXJnZXQuc2V0QXR0cmlidXRlKCdwb2ludHMnLCAiMCwyMDAgMTAwLDIwMCA1MCwyNjAiKTsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAxMDApOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCA2MCk7CisgICAgICB9CisgICAgfQor
ICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NygpIHsK
KyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3BvbHlsaW5lJyk7CisgIGxl
dCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDc6IG9ic2VydmUgc3Zn
OnBvbHlsaW5lIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5l
eHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncG9pbnRzJywgIjAsMzAwIDEwMCwzMDAg
NTAsMzYwIik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNjApOworICAgICAg
fQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24g
dGVzdDgoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdyZWN0Jyk7
CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDg6IG9ic2Vy
dmUgc3ZnOnJlY3QiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkg
bmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCd3aWR0aCcsICIyMCIpOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMTApOworICAgICAgfQorICAgIH0KKyAgXSk7Cisg
IHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDkoKSB7CisgIGxldCB0
YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0ZXh0Jyk7CisgIGxldCBoZWxwZXIgPSBu
ZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDk6IG9ic2VydmUgc3ZnOnRleHQiLAorICBb
CisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2Jz
ZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVy
KSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9
CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0YXJn
ZXQuc2V0QXR0cmlidXRlKCdmb250LXNpemUnLCAiMjUiKTsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXMubGVuZ3RoLCAxKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0
YXJ0KCk7Cit9CisKKworZnVuY3Rpb24gdGVzdDEwKCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1l
bnQucXVlcnlTZWxlY3Rvcignc3ZnJyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhl
bHBlcigKKyAgICAidGVzdDEwOiBvYnNlcnZlIHN2ZzpzdmcsIHRvcC9sZWZ0IGlzIDAgZXZlbiB3
aXRoIHBhZGRpbmciLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5s
ZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qu
dG9wLCAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lmxl
ZnQsIDApOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsK
K30KKworbGV0IGd1YXJkOwordGVzdChfID0+IHsKKyAgYXNzZXJ0X293bl9wcm9wZXJ0eSh3aW5k
b3csICJSZXNpemVPYnNlcnZlciIpOworICBndWFyZCA9IGFzeW5jX3Rlc3QoJ2d1YXJkJyk7Cit9
LCAiUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQiKQorCit0ZXN0MCgpCisgIC50aGVuKCgpID0+
IHsgcmV0dXJuIHRlc3QxKCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QyKCk7IH0p
CisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QzKCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0
dXJuIHRlc3Q0KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q1KCk7IH0pCisgIC50
aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q2KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRl
c3Q3KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q4KCk7IH0pCisgIC50aGVuKCgp
ID0+IHsgcmV0dXJuIHRlc3Q5KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QxMCgp
OyB9KQorICAudGhlbigoKSA9PiB7IGd1YXJkLmRvbmUoKTsgfSk7CisKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci93M2MtaW1wb3J0LmxvZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NjQxZWVjMmM4ZTA5ZDE0MzNmN2YwNWU5ZDhiMjAyZmIzYzlkNWQ1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvdzNjLWltcG9ydC5sb2cKQEAgLTAsMCArMSwyMiBAQAorVGhlIHRlc3RzIGluIHRo
aXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBO
T1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0
ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20v
d2ViLXBsYXRmb3JtLXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBv
cnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJl
bW92ZSB0aGlzIGZpbGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcg
dmVuZG9yIHByZWZpeGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3Ig
cHJlZml4ZXM6CitOb25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvTUVU
QS55bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9ldmVudGxvb3AuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LmpzCisvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
bm90aWZ5Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360296</attachid>
            <date>2019-01-27 08:27:09 -0800</date>
            <delta_ts>2019-01-27 09:24:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193821-20190128002704.patch</filename>
            <type>text/plain</type>
            <size>111722</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
YzZmNjY0YjU2MDM1NjkyMDFjZTAxYmFhZGE2YjdmN2I1ZGVmYzQyLi5kMWYxNmQ1NzZmYjRjZTUz
Mjc5NGE5ZTEwNTA0ODBmYTQxZGY1MzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0wMS0yNyAgY2F0aGllIGNoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5j
b20+CisKKyAgICAgICAgSW1wb3J0IFJlc2l6ZSBPYnNlcnZlciB0ZXN0IGNhc2VzIGZyb20gV1BU
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODIx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yNyAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJbnRyb2R1Y2Ug
YSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE2NWFhNDBlOTlhMTg2
MzU3ZmQ4ZWZmNjgxMGNmNjNhOTIxMmU2OC4uYWI1MmMxMDUyMGE4ZDk1YWVkMTU1MTE0N2U1YTNj
MjQ5MDgzNDQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTAxLTI3ICBjYXRo
aWUgY2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBvcnQgUmVzaXpl
IE9ic2VydmVyIHRlc3QgY2FzZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2lu
ZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL25vdGlmeS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2
Zy5odG1sCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxOS0wMS0yNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgog
CiAgICAgICAgIEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwppbmRleCA4M2M1YzI2MDBmMWUyN2RjYWUxMTI1NjAwNWZiNjIzZDI0NWM1ZjNm
Li4xMmZjMDFkMmFlOGU0MTRjN2I4NjExZDNmZmVlZWI3Nzc4M2I5MDE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOS0wMS0yNyAgY2F0aGllIGNoZW4gIDxjYXRoaWVj
aGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wb3J0IFJlc2l6ZSBPYnNlcnZlciB0ZXN0IGNh
c2VzIGZyb20gV1BUcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0w
MS0yNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFY
OiBJbnRyb2R1Y2UgaXNvbGF0ZWQgYWNjZXNzaWJpbGl0eSB0cmVlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEwZDlk
MmNlMTIxYTE4MjEyOGFmM2M1MGI2MTVjZTlmZDFiZDkyMjQuLjNhNzY2YWI0ZTBmZTI0NTg3YWMy
MWQ5MGI2ZmY1MGVjMjMzYWNlNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDEt
MjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcG9y
dCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWc6CisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisK
IDIwMTktMDEtMjcgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBWDogSW50cm9kdWNlIGEgc3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCmluZGV4IDAwMzU2MWVhNzBkOTVhMTNlNjc1NDBkZjE3MTEwY2NiYzBl
MTIwMmIuLmVlZDZkZmQwOTRkY2VjODFiMjVmYWI0MzhjNmY4M2JmMjU2ZThiYzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOS0wMS0yNyAgY2F0aGll
IGNoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wb3J0IFJlc2l6ZSBP
YnNlcnZlciB0ZXN0IGNhc2VzIGZyb20gV1BUcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVu
Y2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgcmVzaXplT2JzZXJ2
ZXJFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldFJlc2l6ZU9ic2VydmVy
RW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVy
ZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE5LTAxLTI3ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFj
aEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmls
aXR5IHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwppbmRleCA1YWNhZGYxODU4ZWVjOTNm
ZTI1OTcwMGQ2Y2JjZGViOTBiOTJlNjE2Li5iMmZkOTgyOGJhMWU4MTZmMjZkNWQyOGM0ZGM4NTAz
ZDUzOGYyNGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAg
ICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJl
bmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNl
czo6cmVzaXplT2JzZXJ2ZXJFbmFibGVkKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRS
ZXNpemVPYnNlcnZlckVuYWJsZWQpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisgICAg
ICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0No
YW5nZWQpOgorCiAyMDE5LTAxLTI0ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255
LmNvbT4KIAogICAgICAgICBNb3ZlIEZpbGVTeXN0ZW0gdG8gV1RGCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggMjMwNjIzZTM1ZjdhNWE3MmM0N2VkOTE3MWZmZGFhMmZjNGFjZThhOS4uOTcz
MDYxMTZjNjM4ZDQ1NWFkYzQxMDI3OGFkNDZkMDgwODIxN2E1MiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtMzEyLDYgKzMxMiw4IEBAIEVOQUJMRV9RVU9UQSA9IDsKIAogRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IgPSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsKIAorRU5BQkxFX1JFU0la
RV9PQlNFUlZFUiA9IEVOQUJMRV9SRVNJWkVfT0JTRVJWRVI7CisKIEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZID0gOwogCiBFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTID0gRU5B
QkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUzsKQEAgLTQwOSw0ICs0MTEsNCBAQCBFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJ
Q0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRT
KSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
UkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRS
SUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01B
TkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09M
Qk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJF
QU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VM
RU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1J
U1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lO
VEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFC
TEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09O
VEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
RVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElP
Tl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExT
Q1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZ
KSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCAyMzA2MjNlMzVmN2E1YTcyYzQ3ZWQ5MTcxZmZkYWEyZmM0YWNlOGE5Li45NzMwNjExNmM2Mzhk
NDU1YWRjNDEwMjc4YWQ0NmQwODA4MjE3YTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMzEyLDYgKzMxMiw4
IEBAIEVOQUJMRV9RVU9UQSA9IDsKIAogRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IgPSBFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUjsKIAorRU5BQkxFX1JFU0laRV9PQlNFUlZFUiA9IEVOQUJMRV9SRVNJ
WkVfT0JTRVJWRVI7CisKIEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZID0gOwogCiBFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTID0gRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElT
VElDUzsKQEAgLTQwOSw0ICs0MTEsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
ID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFC
TEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19M
T09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJ
TkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09N
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NT
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
QVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRS
SUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9G
T1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJT
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9J
U09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNT
SU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJ
T05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQo
RU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVU
RSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdF
UikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlN
RU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZF
TlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0la
RV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElf
U1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
RUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvUEFML0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIzMDYyM2UzNWY3YTVh
NzJjNDdlZDkxNzFmZmRhYTJmYzRhY2U4YTkuLjk3MzA2MTE2YzYzOGQ0NTVhZGM0MTAyNzhhZDQ2
ZDA4MDgyMTdhNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTMxMiw2ICszMTIsOCBAQCBFTkFC
TEVfUVVPVEEgPSA7CiAKIEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SID0gRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1I7CiAKK0VOQUJMRV9SRVNJWkVfT0JTRVJWRVIgPSBFTkFCTEVfUkVTSVpFX09CU0VS
VkVSOworCiBFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSA9IDsKIAogRU5BQkxFX1JFU09V
UkNFX0xPQURfU1RBVElTVElDUyA9IEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1M7CkBA
IC00MDksNCArNDExLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExF
X1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRf
UEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFC
TEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NF
UlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9B
UElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQo
RU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJM
RV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklG
RVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
Q1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9E
QVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9J
TlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVT
KSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNU
SU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9B
UkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5B
QkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5B
QkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJW
RVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xP
QURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktF
UikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5H
X0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAk
KEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIzMDYyM2UzNWY3YTVhNzJjNDdlZDkxNzFmZmRhYTJm
YzRhY2U4YTkuLjk3MzA2MTE2YzYzOGQ0NTVhZGM0MTAyNzhhZDQ2ZDA4MDgyMTdhNTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtMzEyLDYgKzMxMiw4IEBAIEVOQUJMRV9RVU9UQSA9IDsKIAogRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IgPSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsKIAorRU5BQkxFX1JFU0laRV9P
QlNFUlZFUiA9IEVOQUJMRV9SRVNJWkVfT0JTRVJWRVI7CisKIEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZID0gOwogCiBFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTID0gRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUzsKQEAgLTQwOSw0ICs0MTEsNCBAQCBFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsK
IAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlf
SVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FU
SU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAk
KEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFH
X1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
SU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFC
TEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJV
VEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFH
RVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9Y
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0p
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZ
TUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VW
RU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1F
TlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VC
QVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQo
RU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9W
NCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NT
U19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJ
T05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVf
S0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVY
VCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9D
VVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQ
VFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNT
SU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FH
RV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAk
KEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggOWIwZWFjYWE5YjdhNzljMjFmZGE0MGRjYmQ2
YjdkY2M3N2RhZTczYy4uMzEzZWE2NjUxN2M1MTEzYzkxNTc3YjI0MjM4M2ZlYmNmNmRmZWJhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xMzgwLDYgKzEz
ODAsMTQgQEAgUHJvY2Vzc1N3YXBPbkNyb3NzU2l0ZU5hdmlnYXRpb25FbmFibGVkOgogICBjYXRl
Z29yeTogZXhwZXJpbWVudGFsCiAgIHdlYmNvcmVCaW5kaW5nOiBub25lCiAKK1Jlc2l6ZU9ic2Vy
dmVyRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNlCisgIGh1bWFu
UmVhZGFibGVOYW1lOiAiUmVzaXplIE9ic2VydmVyIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJFbmFibGUgUmVzaXplIE9ic2VydmVyIHN1cHBvcnQiCisgIGNhdGVnb3J5OiBleHBlcmlt
ZW50YWwKKyAgY29uZGl0aW9uOiBFTkFCTEUoUkVTSVpFX09CU0VSVkVSKQorCiAjIEZvciBpbnRl
cm5hbCBmZWF0dXJlczoKICMgVGhlIHR5cGUgc2hvdWxkIGJlIGJvb2xlYW4uCiAjIFlvdSBtdXN0
IHByb3ZpZGUgYSBodW1hblJlYWRhYmxlTmFtZSBhbmQgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9u
IGZvciBhbGwgZGVidWcgZmVhdHVyZXMuIFRoZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggMjMwNjIzZTM1ZjdhNWE3MmM0N2VkOTE3MWZmZGFhMmZjNGFjZThhOS4uOTczMDYxMTZj
NjM4ZDQ1NWFkYzQxMDI3OGFkNDZkMDgwODIxN2E1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTMxMiw2ICszMTIsOCBAQCBFTkFCTEVfUVVPVEEgPSA7CiAKIEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7CiAKK0VOQUJMRV9SRVNJWkVf
T0JTRVJWRVIgPSBFTkFCTEVfUkVTSVpFX09CU0VSVkVSOworCiBFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSA9IDsKIAogRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUyA9IEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1M7CkBAIC00MDksNCArNDExLDQgQEAgRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7
CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNB
VElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9F
VkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dF
QkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFM
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9D
U1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NS
RUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0
ZS5oCmluZGV4IDQ5ZDM0MmZmMmUyNzQwNGFlOGMyNjllMmI1YTk2MGEyNmRmM2I5ODAuLjg1MmJj
NjU2MGY4NzU5Yzk0YTEyNjJkZjAzZjdhYjRkMTE5OTcwMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aApAQCAtMjY1LDMgKzI2NSw0IEBACiAjZGVmaW5lIFdlYktpdFNlbGVjdGlvbkFjcm9zc1NoYWRv
d0JvdW5kYXJpZXNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFNlbGVjdGlvbkFjcm9zc1No
YWRvd0JvdW5kYXJpZXNFbmFibGVkIgogI2RlZmluZSBXZWJLaXRDU1NMb2dpY2FsRW5hYmxlZFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRDU1NMb2dpY2FsRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0QWRD
bGlja0F0dHJpYnV0aW9uRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRBZENsaWNrQXR0cmli
dXRpb25FbmFibGVkIgorI2RlZmluZSBXZWJLaXRSZXNpemVPYnNlcnZlckVuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggZTgwMmMwYTQ4Y2Rh
Y2Y4ZmMxOTNkZjY2ZjcxN2NhMDMxYzJlNjY2NC4uNDU1MTQzZGU4YTg0YWZhYWJkNzc2NzY1Yjlm
ZGUwNGYyYzJiZWZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzLm1tCkBAIC02OTMsNiArNjkzLDkgQEAgcHVibGljOgogICAgICAgICBA
Tk8sIFdlYktpdE1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAg
IEBOTywgV2ViS2l0RmV0Y2hBUElLZWVwQWxpdmVFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAg
ICAgQE5PLCBXZWJLaXRTZXJ2ZXJUaW1pbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKKyNpZiBFTkFC
TEUoUkVTSVpFX09CU0VSVkVSKQorICAgICAgICBATk8sIFdlYktpdFJlc2l6ZU9ic2VydmVyRW5h
YmxlZFByZWZlcmVuY2VLZXksCisjZW5kaWYKICAgICAgICAgbmlsXTsKIAogI2lmICFQTEFURk9S
TShJT1NfRkFNSUxZKQpAQCAtMzQwMSw2ICszNDA0LDE1IEBAIHN0YXRpYyBOU1N0cmluZyAqY2xh
c3NJQkNyZWF0b3JJRCA9IG5pbDsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5
OldlYktpdEFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAo
Qk9PTClyZXNpemVPYnNlcnZlckVuYWJsZWQKK3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1
ZUZvcktleTpXZWJLaXRSZXNpemVPYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwor
LSAodm9pZClzZXRSZXNpemVPYnNlcnZlckVuYWJsZWQ6KEJPT0wpZmxhZworeworICAgIFtzZWxm
IF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJl
ZmVyZW5jZUtleV07Cit9CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAo
V2ViSW50ZXJuYWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCA4ODIwZGIyNzAzZjdhYjg1OTcyNmU1YWM3
MWFkMWQ1OTVmMzhjMjgzLi40ODkzOGM3YzRlNWNiNzEyZTFlZDhkODZlMTJhYTk3MDgxMDVhOTAy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgKQEAgLTYxOSw2ICs2MTksNyBAQCBleHRlcm4gTlNTdHJpbmcgKldl
YlByZWZlcmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBXRUJLSVRf
REVQUgogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgbWVkaWFSZWNvcmRlckVuYWJsZWQ7CiBA
cHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhbGxvd0Nyb3NzT3JpZ2luU3VicmVzb3VyY2VzVG9B
c2tGb3JDcmVkZW50aWFsczsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHNvdXJjZUJ1ZmZl
ckNoYW5nZVR5cGVFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgcmVzaXplT2Jz
ZXJ2ZXJFbmFibGVkOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogQHByb3BlcnR5IChub25hdG9t
aWMpIEJPT0wgcXVpY2tMb29rRG9jdW1lbnRTYXZpbmdFbmFibGVkOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGVhZWY4ZmYxNjBmYjRlYjMwYTg5MGU2
YmNmNTNhZmRhNmFkNTUwMTcuLmJiZTU1Zjc4OTVjNDFkNDE1ZDE4NDZkOGNkM2YyZmMyZjA4N2I0
YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTMx
OTIsNiArMzE5MiwxMCBAQCBzdGF0aWMgYm9vbCBuZWVkc1NlbGZSZXRhaW5XaGlsZUxvYWRpbmdR
dWlyaygpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRT
ZXJ2ZXJUaW1pbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBzZXJ2ZXJUaW1pbmdFbmFibGVkXSk7CiAK
ICAgICBzZXR0aW5ncy5zZXRTZWxlY3Rpb25BY3Jvc3NTaGFkb3dCb3VuZGFyaWVzRW5hYmxlZChw
cmVmZXJlbmNlcy5zZWxlY3Rpb25BY3Jvc3NTaGFkb3dCb3VuZGFyaWVzRW5hYmxlZCk7CisKKyNp
ZiBFTkFCTEUoUkVTSVpFX09CU0VSVkVSKQorICAgIHNldHRpbmdzLnNldFJlc2l6ZU9ic2VydmVy
RW5hYmxlZChbcHJlZmVyZW5jZXMgcmVzaXplT2JzZXJ2ZXJFbmFibGVkXSk7CisjZW5kaWYKIH0K
IAogc3RhdGljIGlubGluZSBJTVAgZ2V0TWV0aG9kKGlkIG8sIFNFTCBzKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmlkbCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwKaW5kZXggMTk4ODJjZGQwZjBjNmQ3NGU1YmQyN2E3MjUwN2U5ZGM3NTY3ZThm
MS4uZWQ4YjFjY2FhOWRjMzkwNTE4M2RhNzAxNTcwNWQzOWMxMTdhYTM1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRl
LmlkbAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaWRsCkBAIC0yMzgsNCArMjM4LDYgQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJl
bmNlc1ByaXZhdGU3IDogSVdlYlByZWZlcmVuY2VzUHJpdmF0ZTYKIHsKICAgICBIUkVTVUxUIGNy
b3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKiBl
bmFibGVkKTsKICAgICBIUkVTVUxUIHNldENyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVu
YWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgcmVzaXplT2JzZXJ2ZXJFbmFi
bGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOworICAgIEhSRVNVTFQgc2V0UmVzaXplT2JzZXJ2ZXJF
bmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggOTQwZDVjZjU1ZDEzYmU1Nzg3
YTY4ZDFiNDMwNmVkYzA4Y2ZlOTI0Ni4uZjk0MjFhYjJiZjhkNWJhZTcxZGQ5ZDE3OWUzODQ1NDBm
MTJkMDhhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmgKQEAgLTIwNiwzICsyMDYsNCBAQAogCiAjZGVmaW5lIFdlYktpdENTU09N
Vmlld1Njcm9sbGluZ0FQSUVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRDU1NPTVZpZXdTY3Jv
bGxpbmdBUElFbmFibGVkIgogCisjZGVmaW5lIFdlYktpdFJlc2l6ZU9ic2VydmVyRW5hYmxlZFBy
ZWZlcmVuY2VLZXkgQCJXZWJLaXRSZXNpemVPYnNlcnZlckVuYWJsZWQiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggMDI1YzIwYmVhMjM4Y2Q2YTQ5NWEy
NTBmNmM1NTBjYTdmNTI3OWQ2OS4uM2RlODU0MTczMmNmZGRiOGI2ZTg0ZWUxYzc2MzQxN2MxOGEz
MWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcApAQCAt
MzI5LDYgKzMyOSw4IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2V0
dGluZ3MoKQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktp
dENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZh
bHNlKTsKIAorICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRS
ZXNpemVPYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwog
ICAgIGRlZmF1bHRTZXR0aW5ncyA9IGRlZmF1bHRzOwogfQogCkBAIC0yMjYwLDMgKzIyNjIsMjUg
QEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0U2VydmVyVGltaW5nRW5hYmxlZChCT09MIGVu
YWJsZWQpCiAgICAgc2V0Qm9vbFZhbHVlKFdlYktpdFNlcnZlclRpbWluZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5LCBlbmFibGVkKTsKICAgICByZXR1cm4gU19PSzsKIH0KKworSFJFU1VMVCBXZWJQcmVm
ZXJlbmNlczo6cmVzaXplT2JzZXJ2ZXJFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7Cisj
aWYgRU5BQkxFKFJFU0laRV9PQlNFUlZFUikKKyAgICBpZiAoIWVuYWJsZWQpCisgICAgICAgIHJl
dHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoV2ViS2l0UmVz
aXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7CisjZWxz
ZQorICAgIHJldHVybiBFX05PVElNUEw7CisjZW5kaWYKK30KKworSFJFU1VMVCBXZWJQcmVmZXJl
bmNlczo6c2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyNpZiBFTkFC
TEUoUkVTSVpFX09CU0VSVkVSKQorICAgIHNldEJvb2xWYWx1ZShXZWJLaXRSZXNpemVPYnNlcnZl
ckVuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKKyNlbHNl
CisgICAgcmV0dXJuIEVfTk9USU1QTDsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlByZWZlcmVuY2VzLmgKaW5kZXggMjkwNmIzNmIxODhjOWQ4OTIyOTRiY2RlZGYyYTZjMjUx
ZGU4YmI0Ni4uNmViYTE3YzNlODc2NTk1YTlmMGI0OTFhOGVjYmVmMGM3NjYzMzI3MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0yODMsNiArMjgzLDggQEAg
cHVibGljOgogICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU3CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGNyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJs
ZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkKEJPT0wpOworICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZXNpemVPYnNlcnZlckVuYWJsZWQoX091dF8g
Qk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRSZXNpemVP
YnNlcnZlckVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVmZXJlbmNlcwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IGUzMzEwNjNhMGJmMGViZDgyMDA5MTUwNDA3NjI2
ZGU5YTE0MGU1MmYuLmRlYjEwODI3MmQ2MjQ2NmJmMzAyMmY0YTE0OGZhYTc3ZTg2YzdkZDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC01NTk5LDYgKzU1OTksMTMgQEAgSFJF
U1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoSVdlYk5vdGlmaWNhdGlvbiog
bm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTZXJ2ZXJUaW1pbmdFbmFibGVkKCEhZW5hYmxlZCk7
CiAKKyNpZiBFTkFCTEUoUkVTSVpFX09CU0VSVkVSKQorICAgIGhyID0gcHJlZnNQcml2YXRlLT5y
ZXNpemVPYnNlcnZlckVuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAg
ICAgICByZXR1cm4gaHI7CisgICAgc2V0dGluZ3Muc2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKCEh
ZW5hYmxlZCk7CisjZW5kaWYKKwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UKaW5kZXggZjcwYjgxNzMxMjI0NDA4MGEzOGIxNmM3YThhY2I4ZjE1MTFkZjgy
Yi4uY2UyYmM5ZTEwODMzMTM3NWZjY2JhMWQ2NzIyYmI4Y2ZlMjVlNzM0NyAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJL
aXRGZWF0dXJlcy5jbWFrZQpAQCAtMTgzLDYgKzE4Myw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05f
QkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCAiVG9nZ2xlIHB1YmxpYyBzdWZmaXggbGlzdCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9RVU9UQSAiVG9nZ2xlIFF1b3RhIHN1cHBvcnQiIFBS
SVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SICJUb2dnbGUgcmVtb3RlIGluc3BlY3RvciBzdXBwb3J0IiBQUklWQVRFIE9OKQorICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIgIkVuYWJsZSBSZXNpemUg
T2JzZXJ2ZXIgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSAiVG9nZ2xlIHJlc29sdXRpb24gbWVkaWEgcXVl
cnkgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUyAiVG9nZ2xlIHJlc291cmNlIGxvYWQgc3RhdGlzdGlj
cyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UgIlRvZ2dsZSByZXNvdXJjZSB1c2FnZSBzdXBwb3J0IiBQUklWQVRFIE9G
RikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBk
MGI5NjcyMjMzY2Y4Mjc4YmMyZWI2YzczMzU3MjU4OTVmYjhiNGRkLi44ZjA4MjFlZDNlZWQyMGEx
OWI1OThhN2E2ZGIyMzFhMjQwMjNiYmFkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBj
aGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2Jz
ZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAg
ICAgICAoVGVzdE9wdGlvbnM6OlRlc3RPcHRpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9UZXN0T3B0aW9ucy5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5
LTAxLTI3ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAg
QVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3RPcHRpb25zLmNwcAppbmRleCBjOTI2NjEyYjFiMTYwNGE4M2NlMjYwM2JjZGE4OGNlMzk4
M2QzNThlLi44MjE1NDE3YTkyNDVjNzhlNDkyNTY1MGZmZmYyNzhjM2RlYWQ4N2M3IDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCkBAIC0xMTEsNiArMTExLDggQEAgVGVzdE9wdGlv
bnM6OlRlc3RPcHRpb25zKGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXRoT3JVUkwsIGNvbnN0IHN0ZDo6
c3RyaW5nJiBhYnNvbHUKICAgICAgICAgICAgIGVuYWJsZUNTU0xvZ2ljYWwgPSBwYXJzZUJvb2xl
YW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImludGVy
bmFsOkFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQiKQogICAgICAgICAgICAgYWRDbGlja0F0dHJp
YnV0aW9uRW5hYmxlZCA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CisgICAg
ICAgIGVsc2UgaWYgKGtleSA9PSAiZW5hYmxlUmVzaXplT2JzZXJ2ZXIiKQorICAgICAgICAgICAg
ZW5hYmxlUmVzaXplT2JzZXJ2ZXIgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUp
OwogICAgICAgICBwYWlyU3RhcnQgPSBwYWlyRW5kICsgMTsKICAgICB9CiB9CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE9wdGlvbnMuaAppbmRleCBjMjdlODQyYTQ4ZjU3YWM4MGY1ZjA0YmJiNWU2YTkyYWQx
MDVkODFkLi5kODg1ZWRiZGViMDZhOGJiNjdmNGEwMWJhZjJiMmJjNTNmYzRjN2QxIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgc3RydWN0IFRlc3RPcHRp
b25zIHsKICAgICBib29sIGVuYWJsZVdlYkdQVSB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVD
U1NMb2dpY2FsIHsgZmFsc2UgfTsKICAgICBib29sIGFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQg
eyBmYWxzZSB9OworICAgIGJvb2wgZW5hYmxlUmVzaXplT2JzZXJ2ZXIgeyBmYWxzZSB9OwogICAg
IHN0ZDo6c3RyaW5nIGpzY09wdGlvbnM7CiAKICAgICBUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0
cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgYWJzb2x1dGVQYXRoKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBkM2Y1OGM3N2QyOWY0
ZGVkOGU5ZDQ0OWY4OGY0YTM1MDFmZDEyZDRlLi5lNjZjMDVmM2ZkMWQzZjczNzIzMmFiNmUzMTIz
Mjc5YzQ0NzY2ZWE4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCkBAIC0xMDEyLDYgKzEwMTIsNyBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0Zv
clRlc3RPcHRpb25zKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQogICAgIHByZWZlcmVuY2Vz
LndlYkdQVUVuYWJsZWQgPSBvcHRpb25zLmVuYWJsZVdlYkdQVTsKICAgICBwcmVmZXJlbmNlcy5D
U1NMb2dpY2FsRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlQ1NTTG9naWNhbDsKICAgICBwcmVmZXJl
bmNlcy5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkID0gb3B0aW9ucy5hZENsaWNrQXR0cmlidXRp
b25FbmFibGVkOworICAgIHByZWZlcmVuY2VzLnJlc2l6ZU9ic2VydmVyRW5hYmxlZCA9IG9wdGlv
bnMuZW5hYmxlUmVzaXplT2JzZXJ2ZXI7CiB9CiAKIC8vIENhbGxlZCBvbmNlIG9uIER1bXBSZW5k
ZXJUcmVlIHN0YXJ0dXAuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVh
dHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5k
ZXggYzMzNTAzM2MyOWVjNDIzYWNhZGRlZDMxOGM2Yzc5ZjA1ZDMzYzM2Ny4uOWQzMmRmYWFmZmNk
M2EzZDk2NjA3NGM5ZjcyYjQ4OTE2YTNjNjcyNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9G
ZWF0dXJlTGlzdC5wbQpAQCAtMTQyLDYgKzE0Miw3IEBAIG15ICgKICAgICAkcXVvdGFTdXBwb3J0
LAogICAgICRyZWdpc3RlclByb3RvY29sSGFuZGxlclN1cHBvcnQsCiAgICAgJHJlbW90ZUluc3Bl
Y3RvclN1cHBvcnQsCisgICAgJHJlc2l6ZU9ic2VydmVyU3VwcG9ydCwKICAgICAkcmVzb2x1dGlv
bk1lZGlhUXVlcnlTdXBwb3J0LAogICAgICRyZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3VwcG9ydCwK
ICAgICAkcmVzb3VyY2VVc2FnZVN1cHBvcnQsCkBAIC00NjQsNiArNDY1LDkgQEAgbXkgQGZlYXR1
cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJyZW1vdGUtaW5zcGVjdG9yIiwgZGVzYyA9PiAiVG9n
Z2xlIHJlbW90ZSBpbnNwZWN0b3Igc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SIiwgdmFsdWUgPT4gXCRyZW1vdGVJbnNwZWN0b3JTdXBwb3J0IH0sCiAK
KyAgICB7IG9wdGlvbiA9PiAicmVzaXplLW9ic2VydmVyIiwgZGVzYyA9PiAiRW5hYmxlIFJlc2l6
ZSBPYnNlcnZlciBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1JFU0laRV9PQlNF
UlZFUiIsIHZhbHVlID0+IFwkcmVzaXplT2JzZXJ2ZXJTdXBwb3J0IH0sCisKICAgICB7IG9wdGlv
biA9PiAicmVzb2x1dGlvbi1tZWRpYS1xdWVyeSIsIGRlc2MgPT4gIlRvZ2dsZSByZXNvbHV0aW9u
IG1lZGlhIHF1ZXJ5IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSIsIHZhbHVlID0+IFwkcmVzb2x1dGlvbk1lZGlhUXVlcnlTdXBwb3J0IH0s
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIzMDYyM2UzNWY3YTVhNzJjNDdlZDkxNzFmZmRh
YTJmYzRhY2U4YTkuLjk3MzA2MTE2YzYzOGQ0NTVhZGM0MTAyNzhhZDQ2ZDA4MDgyMTdhNTIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMzEyLDYgKzMxMiw4IEBAIEVOQUJMRV9RVU9UQSA9IDsK
IAogRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IgPSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsKIAor
RU5BQkxFX1JFU0laRV9PQlNFUlZFUiA9IEVOQUJMRV9SRVNJWkVfT0JTRVJWRVI7CisKIEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZID0gOwogCiBFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTID0gRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUzsKQEAgLTQwOSw0ICs0MTEs
NCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xP
T1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1Mp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZB
U1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZWMwNTc0MTJjZTM2OGJkNzQwMzZmZjE0
MzZjNmE1Y2FmNDQ5YzdhZi4uMGJhZjJlNTBiMzcxMjQ3M2QyMWZiM2Q4YjhiMjFiZTllZjE4Mzgw
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTkt
MDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIElt
cG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBl
Y3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL01FVEEueW1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5k
b3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanM6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9ub3RpZnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2Vz
L2lmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzOiBBZGRlZC4KKyAgICAgICAg
KFJlc2l6ZVRlc3RIZWxwZXIpOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUu
Z2V0IF9jdXJyZW50U3RlcCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5f
bmV4dFN0ZXApOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuX2hhbmRsZU5v
dGlmaWNhdGlvbik6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5faGFuZGxl
VGltZW91dCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5fZG9uZSk6Cisg
ICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5zdGFydCk6CisgICAgICAgIChSZXNp
emVUZXN0SGVscGVyLnByb3RvdHlwZS5nZXQgcmFmQ291bnQpOgorICAgICAgICAoUmVzaXplVGVz
dEhlbHBlci5wcm90b3R5cGUuX2luY3JlbWVudFJhZik6CisgICAgICAgIChSZXNpemVUZXN0SGVs
cGVyLnByb3RvdHlwZS5zdGFydENvdW50aW5nUmFmKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L3N2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAxOS0wMS0yNCAgQ2hhcmxlcyBWYXph
YyAgPGN2YXphY0Bha2FtYWkuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBQZXJmb3JtYW5jZU9i
c2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggZDZl
ZTk0MTIxY2Q2YThiNTk1YWMzMmM1NmIyOTMyZjA5NTI4MTczMy4uM2EwZGVmNjZiMGNkYjljMzRh
ZGEzN2ExOGMzMTA4ZWY2MDJjZjcyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTI5Niw2
ICsyOTYsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVtb3RlLXBsYXliYWNrIjogInNr
aXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2siOiAic2tp
cCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyIjogInNraXAiLCAK
KyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci8iOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmciOiAiaW1wb3J0IiwgCiAgICAg
IndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9zY3JlZW4tb3JpZW50YXRpb24iOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
TUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9NRVRBLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjY2ODU2MjJiMmFiMmUyNmNjNjMz
MGY5ODEzMGJlNWQ0MzAxYjAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvTUVUQS55bWwKQEAgLTAs
MCArMSw0IEBACitzcGVjOiBodHRwczovL3dpY2cuZ2l0aHViLmlvL1Jlc2l6ZU9ic2VydmVyLwor
c3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBhdG90aWMKKyAgLSBkaG9sYmVydApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvZXZlbnRsb29wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2IyMzEwNjY0MDc3YzQ3NzdkNDE3MTIyMTU0NTMyMzU5OTNjMjE4MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBA
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBSZXNpemVPYnNlcnZlcgorUmVzaXplT2JzZXJ2ZXIgbm90aWZpY2F0aW9uIGV2ZW50
IGxvb3AgdGVzdHMKKwordDEKKworRkFJTCBSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXIiIG1pc3Np
bmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MjJkNzI0YTE5YjNkYjIwYTIxZWYyNGFiOTg1ZDg0YjdlMzViOWU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKQEAgLTAsMCArMSwyNTkgQEAKKzwhZG9j
dHlwZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9i
c2VydmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVzaXplVGVzdEhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIGRpdiB7CisgICAgYm9yZGVyOiAxcHggZG90
dGVkIGdyYXkKKyAgfQorPC9zdHlsZT4KKzxwPlJlc2l6ZU9ic2VydmVyIG5vdGlmaWNhdGlvbiBl
dmVudCBsb29wIHRlc3RzPC9wPgorPGRpdiBpZD0idGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4
O2hlaWdodDoxMDBweDsiPnQxCis8L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgIDxkaXYg
aWQ9ImExIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4Ij4KKyAgICA8ZGl2IGlkPSJh
MiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+CisgICAgPC9kaXY+CisgIDwvZGl2
PgorICA8ZGl2IGlkPSJiMSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+CisgICAg
PGRpdiBpZD0iYjIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPgorICAgIDwvZGl2
PgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworbGV0IHQxID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDEnKTsKKworLy8gYWxsb3cgdW5jYXVnaHQg
ZXhjZXB0aW9uIGJlY2F1c2UgUmVzaXplT2JzZXJ2ZXIgcG9zdHMgZXhjZXB0aW9ucworLy8gdG8g
d2luZG93IGVycm9yIGhhbmRsZXIgd2hlbiBsaW1pdCBpcyBleGNlZWRlZC4KKy8vIFRoaXMgY29k
ZXBhdGggaXMgdGVzdGVkIGluIHRoaXMgZmlsZS4KKworc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4
Y2VwdGlvbjogdHJ1ZX0pOworCitmdW5jdGlvbiB0ZW1wbGF0ZSgpIHsKKyAgbGV0IGhlbHBlciA9
IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogdGl0bGUiLAorICBbCisgICAgewor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQg
c3RlcAorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30K
KwordmFyIG9uRXJyb3JDYWxsZWQgPSBmYWxzZTsKKword2luZG93Lm9uZXJyb3IgPSBlcnIgPT4g
eworICBvbkVycm9yQ2FsbGVkID0gdHJ1ZTsKK30KKworZnVuY3Rpb24gdGVzdDAoKSB7CisKKyAg
bGV0IGRpdnMgPSBbdDFdOworICBsZXQgckFGID0gMDsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNp
emVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogbXVsdGlwbGUgbm90aWZpY2F0aW9ucyBpbnNpZGUg
c2FtZSBldmVudCBsb29wIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIG9uRXJyb3JDYWxsZWQgPSBmYWxzZTsKKyAgICAgICAgbGV0IHQyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGxldCB0MyA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICB0Mi5hcHBlbmRDaGlsZCh0Myk7CisgICAgICAgIHQx
LmFwcGVuZENoaWxkKHQyKTsKKyAgICAgICAgZGl2cy5wdXNoKHQyKTsKKyAgICAgICAgZGl2cy5w
dXNoKHQzKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQzKTsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiMyBub3RpZmljYXRpb25zIik7CisgICAgICB9CisgICAg
fSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBoZWxwZXIuc3Rh
cnRDb3VudGluZ1JhZigpOworICAgICAgICBkaXZzLmZvckVhY2goIGVsID0+IHsgZWwuc3R5bGUu
d2lkdGggPSAiMTAxcHgiO30pOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIC8vIHQxIGlzIG5vdCBkZWxpdmVyZWQKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwgIjIgbm90aWZpY2F0aW9ucyIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3VudCwgMCwgInN0aWxsIGluIHNhbWUgbG9vcCIp
OworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgZGl2cy5mb3JFYWNoKCBlbCA9PiB7IGVsLnN0eWxlLndpZHRoID0gIjEwMnB4Ijt9KTsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBub3RpZmljYXRpb25zIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoaGVscGVyLnJhZkNvdW50LCAwLCAic2FtZSBsb29wIik7Cisg
ICAgICB9CisgICAgfSwKKyAgICB7IC8vIHQxIGFuZCB0MiBnZXQgbm90aWZpZWQKKyAgICAgIHNl
dHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2Jz
ZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwgIjIg
bm90aWZpY2F0aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3VudCwg
MSwgIm5ldyBsb29wIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMob25FcnJvckNhbGxlZCwgdHJ1
ZSwgImVycm9yIHdhcyBmaXJlZCIpOworICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7Cisg
ICAgICAgIHdoaWxlICh0MS5jaGlsZE5vZGVzLmxlbmd0aCA+IDApCisgICAgICAgICAgdDEucmVt
b3ZlQ2hpbGQodDEuY2hpbGROb2Rlc1swXSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0
dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MSgpIHsKKworICB2YXIgcmVz
aXplcnMgPSBbdDFdOworICAvLyBUZXN0aW5nIGRlcHRocyBvZiBzaGFkb3cgcm9vdHMKKyAgLy8g
RE9NOiB0MSA8LSB0MiA8LSB0MyA8LXNoYWRvdy0gdDQgPC0gdDUKKyAgbGV0IGhlbHBlciA9IG5l
dyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogZGVwdGhzIG9mIHNoYWRvdyByb290cyIs
CisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvbkVycm9y
Q2FsbGVkID0gZmFsc2U7CisgICAgICAgIGxldCB0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOworICAgICAgICB0MS5hcHBlbmRDaGlsZCh0Mik7CisgICAgICAgIHJlc2l6ZXJzLnB1
c2godDIpOworICAgICAgICBsZXQgdDMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
KyAgICAgICAgcmVzaXplcnMucHVzaCh0Myk7CisgICAgICAgIHQyLmFwcGVuZENoaWxkKHQzKTsK
KyAgICAgICAgbGV0IHNoYWRvdyA9IHQzLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9KTsK
KyAgICAgICAgbGV0IHQ0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAg
IHJlc2l6ZXJzLnB1c2godDQpOworICAgICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQodDQpOworICAg
ICAgICBsZXQgdDUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgcmVz
aXplcnMucHVzaCh0NSk7CisgICAgICAgIHQ0LmFwcGVuZENoaWxkKHQ1KTsKKyAgICAgICAgcmVz
aXplcnMuZm9yRWFjaCggZWwgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbCkgKTsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCA1LCAiYWxsIGVudHJpZXMgcmVzaXplZCIpOworICAgICAgfQor
ICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVzaXpl
cnMuZm9yRWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTExcHgiICk7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgNCwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAgICB9
LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHJlc2l6ZXJzLmZv
ckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExMnB4IiApOworICAgICAgfSwKKyAgICAg
IG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllcy5sZW5ndGgsIDMsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9CisgICAgfSwKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICByZXNpemVycy5mb3JFYWNo
KCBlbCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTNweCIgKTsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXMubGVuZ3RoLCAyLCAiZGVwdGggbGltaXRlZCIpOworICAgICAgfQorICAgIH0sCisgICAgewor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVzaXplcnMuZm9yRWFjaCggZWwg
PT4gZWwuc3R5bGUud2lkdGggPSAiMTE0cHgiICk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxl
bmd0aCwgMSwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgNCwg
ImxpbWl0IG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhvbkVycm9yQ2Fs
bGVkLCB0cnVlLCAiYnJlYWNoZWQgbGltaXQiKTsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVj
dCgpOworICAgICAgICB0MS5yZW1vdmVDaGlsZCh0MS5maXJzdENoaWxkKTsKKyAgICAgIH0KKyAg
ICB9LAorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0
MigpIHsKKyAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb250YWlu
ZXInKTsKKyAgbGV0IGExID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2ExJyk7CisgIGxldCBh
MiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhMicpOworICBsZXQgYjEgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCcjYjEnKTsKKyAgbGV0IGIyID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
I2IyJyk7CisgIGxldCB0YXJnZXRzID0gW2ExLCBhMiwgYjEsIGIyXTsKKworICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QyOiBtb3ZlIHRhcmdldCBpbiBkb20g
d2hpbGUgaW5zaWRlIGV2ZW50IGxvb3AiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBkZWxheSBuZXh0IG9ic2VydmF0aW9u
CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSB0aGVtIGFsbAorICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAgICAgICAg
IHQuc3R5bGUud2lkdGggPSAiMTEwcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IHRhcmdldHMubGVuZ3RoLCAiYWxsIHRhcmdldHMgb2JzZXJ2ZWQiKTsKKyAgICAgIH0KKyAgICB9
LAorICAgIHsgLy8gcmVzaXplIGFsbCwgbW92ZSBkb20gdXB3YXJkcworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAgICAgICAgIHQu
c3R5bGUud2lkdGggPSAiMTMwcHgiOworICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoYjIp
OworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJiMiBtb3ZlZCB1cHdhcmRzIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGEyKTsKKyAgICAgIH0K
KyAgICB9LAorICAgIHsgLy8gcmVzaXplIGFsbCwgbW92ZSBkb20gZG93bndhcmRzCisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBmb3IgKGxldCB0IG9mIHRhcmdldHMpCisgICAg
ICAgICAgdC5zdHlsZS53aWR0aCA9ICIxMzBweCI7CisgICAgICAgIGEyLmFwcGVuZENoaWxkKGIy
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiYjIgbW92ZWQgZG93bndhcmRz
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGIyKTsKKyAgICAg
ICAgYTEuYXBwZW5kQ2hpbGQoYTIpOworICAgICAgfQorICAgIH0sCisgIF0pOworICByZXR1cm4g
aGVscGVyLnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9v
d25fcHJvcGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190
ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAo
KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJl
dHVybiB0ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7IGd1YXJkLmRvbmUoKTsgfSk7CisKKzwv
c2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTdlYTMyNzkx
Y2IwMDY5M2YzNzk0YTIzZDMyODRhOTI2NzljNTJmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lk
bGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMwIEBACisKK0ZBSUwgaWRs
X3Rlc3Qgc2V0dXAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9u
OiBVbnJlY29nbmlzZWQgdG9rZW5zLCBsaW5lIDEgKHRva2VuczogIntcImVycm9yXCI6IHtcIm1l
c3NhZ2VcIiIpCitbCisgICAgeworICAgICAgICAidHlwZSI6ICJ7IiwKKyAgICAgICAgInZhbHVl
IjogInsiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAgICAgICAgInR5
cGUiOiAic3RyaW5nIiwKKyAgICAgICAgInZhbHVlIjogIlwiZXJyb3JcIiIsCisgICAgICAgICJ0
cml2aWEiOiAiIgorICAgIH0sCisgICAgeworICAgICAgICAidHlwZSI6ICI6IiwKKyAgICAgICAg
InZhbHVlIjogIjoiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAgICAg
ICAgInR5cGUiOiAieyIsCisgICAgICAgICJ2YWx1ZSI6ICJ7IiwKKyAgICAgICAgInRyaXZpYSI6
ICIgIgorICAgIH0sCisgICAgeworICAgICAgICAidHlwZSI6ICJzdHJpbmciLAorICAgICAgICAi
dmFsdWUiOiAiXCJtZXNzYWdlXCIiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9CitdIgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53
aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDE1MWQ2YjY3NGRlMmI5MDVmY2U4N2MxMzlkMTM0YWU4
NWM4ZDNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRtbApAQCAt
MCwwICsxLDIgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBp
bmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgorPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVzaXplT2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNz
LndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5MmFmMmUw
YzA3OTE5NzQ1N2UwOTFkODRkZmRiMzc0MTcwMzM5NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9p
ZGxoYXJuZXNzLndpbmRvdy5qcwpAQCAtMCwwICsxLDM3IEBACisvLyBNRVRBOiBzY3JpcHQ9L3Jl
c291cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lkbGhh
cm5lc3MuanMKKy8vIE1FVEE6IHNjcmlwdD1yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwor
CisndXNlIHN0cmljdCc7CisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vUmVzaXplT2JzZXJ2
ZXIvCisKK2lkbF90ZXN0KAorICBbJ1Jlc2l6ZU9ic2VydmVyJ10sCisgIFsnZG9tJywgJ2dlb21l
dHJ5J10sCisgIGFzeW5jIGlkbF9hcnJheSA9PiB7CisgICAgaWRsX2FycmF5LmFkZF9vYmplY3Rz
KHsKKyAgICAgIFJlc2l6ZU9ic2VydmVyOiBbJ29ic2VydmVyJ10sCisgICAgICBSZXNpemVPYnNl
cnZlckVudHJ5OiBbJ2VudHJ5J10sCisgICAgfSk7CisKKyAgICBjb25zdCBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRp
dik7CisgICAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICAgIlJlc2l6
ZU9ic2VydmVyRW50cnkgY3JlYXRvciIsCisgICAgICBbCisgICAgICAgIHsKKyAgICAgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICAgICAgc2VsZi5vYnNlcnZlciA9IG9ic2VydmVy
OworICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkaXYpOworICAgICAgICAgICAgZGl2LnN0
eWxlLndpZHRoID0gIjVweCI7CisgICAgICAgICAgfSwKKyAgICAgICAgICBub3RpZnk6IGVudHJp
ZXMgPT4geworICAgICAgICAgICAgc2VsZi5lbnRyeSA9IGVudHJpZXNbMF07CisgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDUsICJ0YXJnZXQg
d2lkdGgiKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIF0pOworICAgIGF3YWl0IGhl
bHBlci5zdGFydCgpOworICB9CispOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL25vdGlmeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUzMjc4NDFkYjZmOTZlODQx
OWQzOTkyMWY1MTdiZDc0MTgxYzAyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUwOiBSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6ZU9i
c2VydmVyIHRlc3RzCisKK3QxCit0MgordDMgaW5saW5lCisKK0hhcm5lc3MgRXJyb3IgKEZBSUwp
LCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJlc2l6ZU9i
c2VydmVyCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmVyIiBtaXNzaW5nCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL25vdGlmeS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjEwMzhh
M2NiNjhiYTBlNDg2NDQxNmVhODgxYWFjMDI0M2Y4ZGUxYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L25vdGlmeS5odG1sCkBAIC0wLDAgKzEsMzUxIEBACis8IWRvY3R5cGUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpSZXNpemVPYnNlcnZlckVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorICBkaXYgeworICAgIGJvcmRlcjogMXB4IGRvdHRlZCBncmF5CisgIH0KKyAgLnRy
YW5zZm9ybSB7CisgICAgdHJhbnNmb3JtOiBzY2FsZSgyLDIpIHJvdGF0ZSg5MGRlZykKKyAgfQor
PC9zdHlsZT4KKzxwPlJlc2l6ZU9ic2VydmVyIHRlc3RzPC9wPgorPGRpdiBpZD0idGFyZ2V0MSIg
c3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxCisgIDxkaXYgaWQ9InRhcmdldDIi
IHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MgorICAgIDxkaXYgaWQ9InRhcmdl
dDMiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MworICAgICAgPHNwYW4gaWQ9
ImlubGluZSI+aW5saW5lPC9zcGFuPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvZGl2PgorPGRp
diBpZD0iYWJzb2x1dGUiIHN0eWxlPSJ3aWR0aDoxMDAuNXB4O2hlaWdodDoxMDAuNXB4O3Bvc2l0
aW9uOmFic29sdXRlO3RvcDoxMC4zcHg7bGVmdDoxMC4zcHgiPjwvZGl2PgorPHNjcmlwdD4KKyd1
c2Ugc3RyaWN0JzsKKworbGV0IHQxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDEn
KTsKK2xldCB0MiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQyJyk7CitsZXQgdDMg
PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MycpOworbGV0IGFicyA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJyNhYnNvbHV0ZScpOworbGV0IGlubGluZSA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJyNpbmxpbmUnKTsKKworZnVuY3Rpb24gdGVzdDAoKSB7CisgIGxldCBoZWxwZXIg
PSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IG5vdGlmaWNhdGlvbiBvcmRlcmlu
ZyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQzKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI1cHgiOwor
ICAgICAgICB0My5zdHlsZS53aWR0aCA9ICI1cHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0aCA9
ICI1cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDMsICIzIHJlc2l6ZXMiKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDMsICJvcmRlcmluZyIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMV0udGFyZ2V0LCB0MiwgIm9yZGVyaW5n
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1syXS50YXJnZXQsIHQxLCAib3JkZXJp
bmciKTsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgICAgICB0MS5zdHlsZS53
aWR0aCA9ICIxMDBweCI7CisgICAgICAgIHQyLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgICAg
ICAgdDMuc3R5bGUud2lkdGggPSAiMTAwcHgiOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJl
dHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEoKSB7CisgIGxldCBoZWxw
ZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE6IGRpc3BsYXk6bm9uZSB0cmln
Z2VycyBub3RpZmljYXRpb24iLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxh
eSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIHQxLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAgICB9LAorICAg
ICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgdDEuc3R5bGUuZGlz
cGxheSA9ICIiOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQo
KTsKK30KKworCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVU
ZXN0SGVscGVyKAorICAgICJ0ZXN0MjogcmVtb3ZlL2FwcGVuZENoaWxkIHRyaWdnZXIgbm90aWZp
Y2F0aW9uIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVw
CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vICJyZW1vdmVDaGlsZCB0cmlnZ2VycyBub3RpZmlj
YXRpb24iCisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0MS5wYXJlbnROb2Rl
LnJlbW92ZUNoaWxkKHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSk7
CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAg
fSwKKyAgICB7IC8vICJhcHBlbmRDaGlsZCB0cmlnZ2VycyBub3RpZmljYXRpb24iLAorICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0
MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDEpCisgICAgICB9CisgICAg
fQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCisKK2Z1bmN0aW9uIHRlc3Qz
KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QzOiBk
aW1lbnNpb25zIG1hdGNoIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9
ICIyMDAuNXB4IjsKKyAgICAgICAgdDEuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAgICAgICAg
dDEuc3R5bGUucGFkZGluZ0xlZnQgPSAiMjBweCI7CisgICAgICAgIHQxLnN0eWxlLnBhZGRpbmdU
b3AgPSAiMTBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQs
MjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QudG9wLDEw
KTsKKyAgICAgICAgYXNzZXJ0X2JldHdlZW5faW5jbHVzaXZlKGVudHJpZXNbMF0uY29udGVudFJl
Y3Qud2lkdGgsIDIwMC40LCAyMDAuNiwgIndpZHRoIGlzIG5vdCByb3VuZGVkIik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwMCk7CisgICAg
ICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlv
biB0ZXN0NCgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0
ZXN0NDogdHJhbnNmb3JtIGRvIG5vdCBjYXVzZSBub3RpZmljYXRpb25zIiwKKyAgWworICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIp
OworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAg
ICAgIHJldHVybiB0cnVlOyAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQyLmNsYXNzTGlzdC5hZGQo
InRyYW5zZm9ybSIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVy
KSA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoInRyYW5zZm9ybSBtdXN0IG5vdCB0cmln
Z2VyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7Cisg
ICAgICAgIHQyLmNsYXNzTGlzdC5yZW1vdmUoInRyYW5zZm9ybSIpOworICAgICAgfQorICAgIH0K
KyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDUoKSB7
CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDU6IG1vdmlu
ZyBhbiBlbGVtZW50IGRvZXMgbm90IHRyaWdnZXIgbm90aWZpY2F0aW9ucyIsCisgIFsKKyAgICB7
CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGFi
cyk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgcmV0dXJuIHRydWU7IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgYWJzLnN0eWxlLnRvcCA9
ICIyMC4zM3B4IjsKKyAgICAgICAgYWJzLnN0eWxlLmxlZnQgPSAiMjAuMzNweCI7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X3VucmVhY2hlZCgibW92ZW1lbnQgc2hvdWxkIG5vdCBjYXVzZSByZXNpemUgbm90aWZpY2F0aW9u
cyIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6ICgpID0+IHsKKyAgICAgIH0KKyAgICB9Cisg
IF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q2KCkgewor
ICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q2OiBpbmxpbmUg
ZWxlbWVudCBkb2VzIG5vdCBub3RpZnkiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShpbmxpbmUpOworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiNjZweCI7CisgICAg
ICAgIGlubGluZS5zdHlsZS53aWR0aCA9ICI2NnB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMu
bGVuZ3RoLCAxLCAiaW5saW5lIGVsZW1lbnRzIG11c3Qgbm90IHRyaWdnZXIgbm90aWZpY2F0aW9u
cyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSwgImlubGlu
ZSBlbGVtZW50cyBtdXN0IG5vdCB0cmlnZ2VyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgcmV0
dXJuIHRydWU7IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeyAvLyAi
aW5saW5lIGVsZW1lbnQgdGhhdCBiZWNvbWVzIGJsb2NrIHNob3VsZCBub3RpZnkiLAorICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgaW5saW5lLnN0eWxlLmRpc3BsYXkgPSAiYmxv
Y2siOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGlubGluZSk7CisgICAgICB9
CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0
ZXN0NygpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0
NzogdW5vYnNlcnZlIGluc2lkZSBub3RpZnkgY2FsbGJhY2siLAorICBbCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjc3N3B4IjsKKyAg
ICAgICAgdDIuc3R5bGUud2lkdGggPSAiNzc3cHgiOworICAgICAgICBvYnNlcnZlci51bm9ic2Vy
dmUodDEpOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiBpcyBvYnNlcnZlZCIpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MiwgIm9ubHkgdDIgaXMgb2JzZXJ2ZWQi
KTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3Q4KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIo
CisgICAgInRlc3Q4OiBvYnNlcnZlIGluc2lkZSBub3RpZnkgY2FsbGJhY2siLAorICBbCisgICAg
eworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0
MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAgIHQyLnN0eWxlLndpZHRoID0gIjg4
OHB4IjsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0K
KyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAg
ICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzLmxlbmd0aCwgMSwgIm9ubHkgdDIgaXMgb2JzZXJ2ZWQiKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDIsICJvbmx5IHQyIGlzIG9ic2VydmVkIik7
CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitm
dW5jdGlvbiB0ZXN0OSgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAor
ICAgICJ0ZXN0OTogZGlzY29ubmVjdCBpbnNpZGUgbm90aWZ5IGNhbGxiYWNrIiwKKyAgWworICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUo
dDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjk5OXB4IjsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29u
bmVjdCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfdW5y
ZWFjaGVkKCJ0aGVyZSBzaG91bGQgYmUgbm8gbm90aWZpY2F0aW9ucyBhZnRlciBkaXNjb25uZWN0
Iik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgfQorICAgIH0KKyAg
XSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEwKCkgewor
ICB2YXIgcGFyZW50ID0gdDEucGFyZW50Tm9kZTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVU
ZXN0SGVscGVyKAorICAgICJ0ZXN0MTA6IGVsZW1lbnQgbm90aWZpZXMgd2hlbiBwYXJlbnQgcmVt
b3ZlZCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBv
YnNlcnZlci5vYnNlcnZlKHQzKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBv
YnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAor
ICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAg
ICAgdDEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
Lmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQz
KTsKKyAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHQxKTsKKyAgICAgIH0KKyAgICB9CisgIF0p
OworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7
CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3Vh
cmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVk
IikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhl
bigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0
MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NCgpOyB9KQorICAudGhlbigoKSA9
PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NigpOyB9
KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NygpOyB9KQorICAudGhlbigoKSA9PiB7IHJl
dHVybiB0ZXN0OCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0OSgpOyB9KQorICAu
dGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MTAoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5k
b25lKCk7IH0pOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvb2JzZXJ2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzUwMDNlMDZkMzUzNzUx
MGE4NjU5YzZiNGI0MzRjZDcwMTgyMzdlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUwOiBS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6
ZU9ic2VydmVyIHRlc3RzCisKK3QxCit0MgorIAorCitGQUlMIFJlc2l6ZU9ic2VydmVyIGltcGxl
bWVudGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNl
cnZlciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmM0NTkyZDQ1OTQ2YzE5YmZhODJlN2E2ZDcwYTg4MmQwMGIyOWU4
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbApAQCAtMCwwICsxLDIwNyBAQAor
PCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVz
aXplT2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZXNpemVU
ZXN0SGVscGVyLmpzIj48L3NjcmlwdD4KKzxwPlJlc2l6ZU9ic2VydmVyIHRlc3RzPC9wPgorPGRp
diBpZD0idGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxPC9kaXY+
Cis8ZGl2IGlkPSJ0YXJnZXQyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDI8
L2Rpdj4KKzxpbWcgaWQ9InRhcmdldDMiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7
Ij4KKzxpZnJhbWUgc3JjPSIuL3Jlc291cmNlcy9pZnJhbWUuaHRtbCIgd2lkdGg9IjMwMHB4IiBo
ZWlnaHQ9IjEwMHB4IiBzdHlsZT0iZGlzcGxheTpibG9jayI+PC9pZnJhbWU+Cis8c2NyaXB0Pgor
J3VzZSBzdHJpY3QnOworCitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0
MScpOworbGV0IHQyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDInKTsKKworLy8g
YWxsb3cgdW5jYXVnaHQgZXhjZXB0aW9uIGJlY2F1c2UgUmVzaXplT2JzZXJ2ZXIgcG9zdHMgZXhj
ZXB0aW9ucworLy8gdG8gd2luZG93IGVycm9yIGhhbmRsZXIgd2hlbiBsaW1pdCBpcyBleGNlZWRl
ZC4KK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rpb24g
dGVzdDAoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVz
dDA6IHNpbXBsZSBvYnNlcnZhdGlvbiIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2
ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUu
d2lkdGggPSAiNXB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBwZW5kaW5nIG5vdGlmaWNh
dGlvbiIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSwgInRh
cmdldCBpcyB0MSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJl
Y3Qud2lkdGgsIDUsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICBsZXQgaGVs
cGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBtdWx0aXBsZSBvYnNlcnZh
dGlvbiBvbiBzYW1lIGVsZW1lbnQgdHJpZ2dlciBvbmx5IG9uZSIsCisgIFsKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjEw
cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7Cisg
ICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5j
dGlvbiB0ZXN0MigpIHsKKyAgdGVzdCgoKSA9PiB7CisgICAgICBhc3NlcnRfdGhyb3dzKHtuYW1l
OiAiVHlwZUVycm9yIn0sIF89PiB7CisgICAgICAgIGxldCBybyA9IG5ldyBSZXNpemVPYnNlcnZl
cigoKSA9PiB7fSk7CisgICAgICAgIHJvLm9ic2VydmUoe30pOworICAgICAgfSk7CisgICAgfSwK
KyAgICAidGVzdDI6IHRocm93IGV4Y2VwdGlvbiB3aGVuIG9ic2VydmluZyBub24tZWxlbWVudCIK
KyAgKTsKKyAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOworfQorCitmdW5jdGlvbiB0ZXN0Mygp
IHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MzogZGlz
Y29ubmVjdCBzdG9wcyBhbGwgbm90aWZpY2F0aW9ucyIsIFsKKyAgICB7CisgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAg
ICAgdDEuc3R5bGUud2lkdGggPSAiMzBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRy
aWVzID0+IHsKKyAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIm5vIGVudHJpZXMgc2hvdWxkIGJl
IG9ic2VydmVkIik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgICAv
LyBleHBlY3RlZAorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQo
KTsKK30KKworZnVuY3Rpb24gdGVzdDQoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVz
dEhlbHBlcigKKyAgICAidGVzdDQ6IHVub2JzZXJ2ZSB0YXJnZXQgc3RvcHMgbm90aWZpY2F0aW9u
cywgdW5vYnNlcnZlIG5vbi1vYnNlcnZlZCBkb2VzIG5vdGhpbmciLCBbCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci51bm9ic2VydmUodDEp
OworICAgICAgICBvYnNlcnZlci51bm9ic2VydmUoZG9jdW1lbnQuYm9keSk7CisgICAgICAgIHQx
LnN0eWxlLndpZHRoID0gIjQwcHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0aCA9ICI0MHB4IjsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiIpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXNbMF0udGFyZ2V0LCB0MiwgInQyIHdhcyBvYnNlcnZlZCIpOworICAgICAgfQorICAg
IH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDUo
KSB7CisgIGxldCB0MyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQzJyk7CisgIHZh
ciBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigidGVzdDU6IG9ic2VydmUgaW1nIixbCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0Myk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQzLnN0eWxl
LndpZHRoID0gIjEwMC41cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMC41KTsKKyAgICAgIH0K
KyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRl
c3Q2KCkgeworICBsZXQgcmVzb2x2ZVByb21pc2U7CisgIGxldCBwcm9taXNlID0gbmV3IFByb21p
c2UoKHJlc29sdmUpID0+IHsKKyAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7CisgIH0pOwor
ICBsZXQgdGVzdCA9IGFzeW5jX3Rlc3QoJ3Rlc3Q2OiBpZnJhbWUgbm90aWZpY2F0aW9ucycpOwor
ICBsZXQgdGVzdFJlcXVlc3RlZCA9IGZhbHNlOworICBsZXQgaWZyYW1lID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignaWZyYW1lJyk7CisgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdl
JywgZXZlbnQgPT4geworICAgIHN3aXRjaChldmVudC5kYXRhKSB7CisgICAgY2FzZSAncmVhZHlU
b1Rlc3QnOgorICAgICAgaWYgKCF0ZXN0UmVxdWVzdGVkKSB7CisgICAgICAgIGlmcmFtZS5jb250
ZW50V2luZG93LnBvc3RNZXNzYWdlKCdzdGFydFRlc3QnLCAnKicpOworICAgICAgICB0ZXN0UmVx
dWVzdGVkID0gdHJ1ZTsKKyAgICAgIH0KKyAgICBicmVhazsKKyAgICBjYXNlICdzdWNjZXNzJzoK
KyAgICBjYXNlICdmYWlsJzoKKyAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkg
PT4geworICAgICAgICB0ZXN0LnN0ZXAoICgpID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGV2ZW50LmRhdGEsICdzdWNjZXNzJyk7CisgICAgICAgICAgdGVzdC5kb25lKCk7CisgICAgICAg
ICAgcmVzb2x2ZVByb21pc2UoKTsKKyAgICAgICAgfSk7CisgICAgICB9KTsKKyAgICBicmVhazsK
KyAgICB9CisgIH0sIGZhbHNlKTsKKyAgcmV0dXJuIHByb21pc2U7Cit9CisKK2Z1bmN0aW9uIHRl
c3Q3KCkgeworICBsZXQgaGFybmVzc1Rlc3QgPSBhc3luY190ZXN0KCJ0ZXN0NzogY2FsbGJhY2su
dGhpcyIpOworICBsZXQgcmVzb2x2ZVByb21pc2U7CisgIGxldCBybyA9IG5ldyBSZXNpemVPYnNl
cnZlciggZnVuY3Rpb24oZW50cmllcywgb2JzKSAgeworICAgIGxldCBjYWxsYmFja1RoaXMgPSB0
aGlzOworICAgIHJlc29sdmVQcm9taXNlKCk7CisgICAgaGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7
CisgICAgICBhc3NlcnRfZXF1YWxzKGNhbGxiYWNrVGhpcywgcm8sICJjYWxsYmFjay50aGlzIGlz
IFJlc2l6ZU9ic2VydmVyIik7CisgICAgICBhc3NlcnRfZXF1YWxzKG9icywgcm8sICIybmQgYXJn
dW1lbnQgaXMgUmVzaXplT2JzZXJ2ZXIiKTsKKyAgICAgIHJvLmRpc2Nvbm5lY3QoKTsKKyAgICAg
IC8vIGV2ZXJ5IHJlZmVyZW5jZSB0byBSTyBtdXN0IGJlIG51bGwgYmVmb3JlIHRlc3QgY29tcGxl
dGVzCisgICAgICAvLyB0byBhdm9pZCB0cmlnZ2VyaW5nIHRlc3QgbGVhay1kZXRlY3Rpb24KKyAg
ICAgIHJvID0gbnVsbDsKKyAgICAgIGNhbGxiYWNrVGhpcyA9IG51bGw7CisgICAgICBvYnMgPSBu
dWxsOworICAgICAgaGFybmVzc1Rlc3QuZG9uZSgpOworICAgICB9KTsKKyAgICB9CisgICk7Cisg
IHJvLm9ic2VydmUodDEpOworCisgIHJldHVybiBuZXcgUHJvbWlzZSggKHJlc29sdmUsIHJlamVj
dCkgPT4geworICAgIHJlc29sdmVQcm9taXNlID0gcmVzb2x2ZTsKKyAgfSk7Cit9CisKK2xldCBn
dWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVzaXpl
T2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9i
c2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7IHJldHVybiB0
ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhlbigo
KSA9PiB7IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NCgp
OyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAudGhlbigoKSA9PiB7
IHJldHVybiB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NygpOyB9KQor
ICAudGhlbigoKSA9PiB7IGd1YXJkLmRvbmUoKTsgfSk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUxODMxN2I1MjBiNjhjYmY5MmIwOWU2N2E1N2YxZWNkMjcyNDM3NDcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzOCBAQAor
PCFkb2N0eXBlIGh0bWw+Cis8aGVhZD4KKyAgPHNjcmlwdCBzcmM9Ii4vcmVzaXplVGVzdEhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8cD5pZnJhbWUgdGVzdDwvcD4KKzxkaXYgaWQ9Iml0
YXJnZXQxIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDE8L2Rpdj4KKzxzY3Jp
cHQ+CisndXNlIHN0cmljdCc7CitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaXRh
cmdldDEnKTsKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgdGltZW91dElkID0gd2luZG93LnNl
dFRpbWVvdXQoICgpID0+IHsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCdmYWlsJywg
JyonKTsKKyAgfSwgUmVzaXplVGVzdEhlbHBlci5USU1FT1VUKTsKKyAgbGV0IHJvID0gbmV3IFJl
c2l6ZU9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAgICB3aW5kb3cuY2xlYXJUaW1lb3V0
KHRpbWVvdXRJZCk7CisgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgnc3VjY2VzcycsICcq
Jyk7CisgIH0pOworICByby5vYnNlcnZlKHQxKTsKK30KK2xldCB0ZXN0U3RhcnRlZCA9IGZhbHNl
Oword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihldikgeworICAg
IHN3aXRjaChldi5kYXRhKSB7CisgICAgICAgIGNhc2UgJ3N0YXJ0VGVzdCc6CisgICAgICAgICAg
dGVzdFN0YXJ0ZWQgPSB0cnVlOworICAgICAgICAgIHRlc3QwKCk7CisgICAgICAgIGJyZWFrOwor
ICAgIH0KK30pOworLy8gSG93IGRvZXMgcGFyZW50IGtub3cgd2UndmUgbG9hZGVkIHByb2JsZW0g
aXMgc29sdmVkIGJ5CisvLyBicm9hZGNhc3RpbmcgcmVhZHlUb1Rlc3QgbWVzc2FnZSByZXBlYXRl
ZGx5IHVudGlsIHRlc3Qgc3RhcnRzLgorZnVuY3Rpb24gYnJvYWRjYXN0UmVhZHkoKSB7CisgIGlm
ICghdGVzdFN0YXJ0ZWQpIHsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCdyZWFkeVRv
VGVzdCcsICcqJyk7CisgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShicm9hZGNhc3RS
ZWFkeSk7CisgIH0KK30KK2Jyb2FkY2FzdFJlYWR5KCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRl
c3RIZWxwZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBjNjgxYmQ5MzMzNDU1MjkxNjcxMWJiYmUxNjdiYzRi
ZDU4ODQ3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVy
LmpzCkBAIC0wLDAgKzEsMTQ4IEBACisndXNlIHN0cmljdCc7CisKKy8qKgorICBSZXNpemVUZXN0
SGVscGVyIGlzIGEgZnJhbWV3b3JrIHRvIHRlc3QgUmVzaXplT2JzZXJ2ZXIKKyAgbm90aWZpY2F0
aW9ucy4gVXNlIGl0IHRvIG1ha2UgYXNzZXJ0aW9ucyBhYm91dCBSZXNpemVPYnNlcnZlckVudHJp
ZXMuCisgIFRoaXMgZnJhbWV3b3JrIGlzIG5lZWRlZCBiZWNhdXNlIFJlc2l6ZU9ic2VydmF0aW9u
cyBhcmUKKyAgZGVsaXZlcmVkIGFzeW5jaHJvbm91c2x5IGluc2lkZSB0aGUgZXZlbnQgbG9vcC4K
KworICBGZWF0dXJlczoKKyAgLSBjYW4gcXVldWUgbXVsdGlwbGUgbm90aWZpY2F0aW9uIHN0ZXBz
IGluIGEgdGVzdAorICAtIGhhbmRsZXMgdGltZW91dHMKKyAgLSByZXR1cm5zIFByb21pc2UgdGhh
dCBpcyBmdWxsZmlsbGVkIHdoZW4gdGVzdCBjb21wbGV0ZXMuCisgICAgVXNlIHRvIGNoYWluIHRl
c3RzIChzaW5jZSBwYXJhbGxlbCBhc3luYyBSZXNpemVPYnNlcnZlciB0ZXN0cworICAgIHdvdWxk
IGNvbmZsaWN0IGlmIHJldXNpbmcgc2FtZSBET00gZWxlbWVudHMpLgorCisgIFVzYWdlOgorCisg
IGNyZWF0ZSBSZXNpemVUZXN0SGVscGVyIGZvciBldmVyeSB0ZXN0LgorICBNYWtlIGFzc2VydGlv
bnMgaW5zaWRlIG5vdGlmeSwgdGltZW91dCBjYWxsYmFja3MuCisgIFN0YXJ0IHRlc3RzIHdpdGgg
aGVscGVyLnN0YXJ0KCkKKyAgQ2hhaW4gdGVzdHMgd2l0aCBQcm9taXNlcy4KKyAgQ291bnRzIGFu
aW1hdGlvbiBmcmFtZXMsIHNlZSBzdGFydENvdW50aW5nUmFmCisqLworCisvKgorICBAcGFyYW0g
bmFtZTogdGVzdCBuYW1lCisgIEBwYXJhbSBzdGVwczoKKyAgeworICAgIHNldHVwOiBmdW5jdGlv
bihSZXNpemVPYnNlcnZlcikgeworICAgICAgLy8gY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcgb2Yg
dGhlIHRlc3Qgc3RlcAorICAgICAgLy8geW91ciBvYnNlcnZlL3Jlc2l6ZSBjb2RlIGdvZXMgaGVy
ZQorICAgIH0sCisgICAgbm90aWZ5OiBmdW5jdGlvbihlbnRyaWVzLCBvYnNlcnZlcikgeworICAg
ICAgLy8gUmVzaXplT2JzZXJ2ZXIgY2FsbGJhY2suCisgICAgICAvLyBNYWtlIGFzc2VydGlvbnMg
aGVyZS4KKyAgICAgIC8vIFJldHVybiB0cnVlIGlmIG5leHQgc3RlcCBzaG91bGQgc3RhcnQgb24g
dGhlIG5leHQgZXZlbnQgbG9vcC4KKyAgICB9LAorICAgIHRpbWVvdXQ6IGZ1bmN0aW9uKCkgewor
ICAgICAgLy8gRGVmaW5lIHRoaXMgaWYgeW91ciB0ZXN0IGV4cGVjdHMgdG8gdGltZSBvdXQuCisg
ICAgICAvLyBJZiB1bmRlZmluZWQsIHRpbWVvdXQgaXMgYXNzZXJ0X3VucmVhY2hlZC4KKyAgICB9
CisgIH0KKyovCitmdW5jdGlvbiBSZXNpemVUZXN0SGVscGVyKG5hbWUsIHN0ZXBzKQoreworICAg
IHRoaXMuX25hbWUgPSBuYW1lOworICAgIHRoaXMuX3N0ZXBzID0gc3RlcHMgfHwgW107CisgICAg
dGhpcy5fc3RlcElkeCA9IC0xOworICAgIHRoaXMuX2hhcm5lc3NUZXN0ID0gbnVsbDsKKyAgICB0
aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcih0aGlzLl9oYW5kbGVOb3RpZmljYXRp
b24uYmluZCh0aGlzKSk7CisgICAgdGhpcy5fdGltZW91dEJpbmQgPSB0aGlzLl9oYW5kbGVUaW1l
b3V0LmJpbmQodGhpcyk7CisgICAgdGhpcy5fbmV4dFN0ZXBCaW5kID0gdGhpcy5fbmV4dFN0ZXAu
YmluZCh0aGlzKTsKK30KKworUmVzaXplVGVzdEhlbHBlci5USU1FT1VUID0gMTAwOworCitSZXNp
emVUZXN0SGVscGVyLnByb3RvdHlwZSA9IHsKKyAgZ2V0IF9jdXJyZW50U3RlcCgpIHsKKyAgICBy
ZXR1cm4gdGhpcy5fc3RlcHNbdGhpcy5fc3RlcElkeF07CisgIH0sCisKKyAgX25leHRTdGVwOiBm
dW5jdGlvbigpIHsKKyAgICBpZiAoKyt0aGlzLl9zdGVwSWR4ID09IHRoaXMuX3N0ZXBzLmxlbmd0
aCkKKyAgICAgIHJldHVybiB0aGlzLl9kb25lKCk7CisgICAgdGhpcy5fdGltZW91dElkID0gdGhp
cy5faGFybmVzc1Rlc3Quc3RlcF90aW1lb3V0KAorICAgICAgdGhpcy5fdGltZW91dEJpbmQsIFJl
c2l6ZVRlc3RIZWxwZXIuVElNRU9VVCk7CisgICAgdHJ5IHsKKyAgICAgIHRoaXMuX3N0ZXBzW3Ro
aXMuX3N0ZXBJZHhdLnNldHVwKHRoaXMuX29ic2VydmVyKTsKKyAgICB9CisgICAgY2F0Y2goZXJy
KSB7CisgICAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0
X3VucmVhY2hlZCgiQ2F1Z2h0IGEgdGhyb3csIHBvc3NpYmxlIHN5bnRheCBlcnJvciIpOworICAg
ICAgfSk7CisgICAgfQorICB9LAorCisgIF9oYW5kbGVOb3RpZmljYXRpb246IGZ1bmN0aW9uKGVu
dHJpZXMpIHsKKyAgICBpZiAodGhpcy5fdGltZW91dElkKSB7CisgICAgICB3aW5kb3cuY2xlYXJU
aW1lb3V0KHRoaXMuX3RpbWVvdXRJZCk7CisgICAgICBkZWxldGUgdGhpcy5fdGltZW91dElkOwor
ICAgIH0KKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgIGxldCByYWZE
ZWxheSA9IHRoaXMuX2N1cnJlbnRTdGVwLm5vdGlmeShlbnRyaWVzLCB0aGlzLl9vYnNlcnZlcik7
CisgICAgICBpZiAocmFmRGVsYXkpCisgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWUodGhpcy5fbmV4dFN0ZXBCaW5kKTsKKyAgICAgIGVsc2UKKyAgICAgICAgdGhpcy5fbmV4dFN0
ZXAoKTsKKyAgICB9KTsKKyAgfSwKKworICBfaGFuZGxlVGltZW91dDogZnVuY3Rpb24oKSB7Cisg
ICAgZGVsZXRlIHRoaXMuX3RpbWVvdXRJZDsKKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgp
ID0+IHsKKyAgICAgIGlmICh0aGlzLl9jdXJyZW50U3RlcC50aW1lb3V0KSB7CisgICAgICAgIHRo
aXMuX2N1cnJlbnRTdGVwLnRpbWVvdXQoKTsKKyAgICAgIH0KKyAgICAgIGVsc2UgeworICAgICAg
ICBhc3NlcnRfdW5yZWFjaGVkKCJUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZpY2F0aW9uLiAo
IiArIFJlc2l6ZVRlc3RIZWxwZXIuVElNRU9VVCArICJtcykiKTsKKyAgICAgIH0KKyAgICAgIHRo
aXMuX25leHRTdGVwKCk7CisgICAgfSk7CisgIH0sCisKKyAgX2RvbmU6IGZ1bmN0aW9uKCkgewor
ICAgIHRoaXMuX29ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICBkZWxldGUgdGhpcy5fb2JzZXJ2
ZXI7CisgICAgdGhpcy5faGFybmVzc1Rlc3QuZG9uZSgpOworICAgIGlmICh0aGlzLl9yYWZDb3Vu
dFJlcXVlc3QpIHsKKyAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWZD
b3VudFJlcXVlc3QpOworICAgICAgZGVsZXRlIHRoaXMuX3JhZkNvdW50UmVxdWVzdDsKKyAgICB9
CisgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7IHRoaXMuX3Jlc29sdmVQ
cm9taXNlKCk7IH0pOworICB9LAorCisgIHN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9o
YXJuZXNzVGVzdCA9IGFzeW5jX3Rlc3QodGhpcy5fbmFtZSk7CisgICAgdGhpcy5faGFybmVzc1Rl
c3Quc3RlcCgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHRoaXMuX3N0ZXBJZHgsIC0xLCAi
c3RhcnQgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UiKTsKKyAgICAgIHRoaXMuX25leHRTdGVwKCk7
CisgICAgfSk7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKCAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7
CisgICAgICB0aGlzLl9yZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7CisgICAgICB0aGlzLl9yZWpl
Y3RQcm9taXNlID0gcmVqZWN0OworICAgIH0pOworICB9LAorCisgIGdldCByYWZDb3VudCgpIHsK
KyAgICBpZiAoIXRoaXMuX3JhZkNvdW50UmVxdWVzdCkKKyAgICAgIHRocm93ICJyQUYgY291bnQg
aXMgbm90IGFjdGl2ZSI7CisgICAgcmV0dXJuIHRoaXMuX3JhZkNvdW50OworICB9LAorCisgIF9p
bmNyZW1lbnRSYWY6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9yYWZDb3VudFJlcXVlc3Qp
IHsKKyAgICAgIHRoaXMuX3JhZkNvdW50Kys7CisgICAgICB0aGlzLl9yYWZDb3VudFJlcXVlc3Qg
PSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3JlbWVudFJhZkJpbmQpOwor
ICAgIH0KKyAgfSwKKworICBzdGFydENvdW50aW5nUmFmOiBmdW5jdGlvbigpIHsKKyAgICBpZiAo
dGhpcy5fcmFmQ291bnRSZXF1ZXN0KQorICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1l
KHRoaXMuX3JhZkNvdW50UmVxdWVzdCk7CisgICAgaWYgKCF0aGlzLl9pbmNyZW1lbnRSYWZCaW5k
KQorICAgICAgdGhpcy5faW5jcmVtZW50UmFmQmluZCA9IHRoaXMuX2luY3JlbWVudFJhZi5iaW5k
KHRoaXMpOworICAgIHRoaXMuX3JhZkNvdW50ID0gMDsKKyAgICB0aGlzLl9yYWZDb3VudFJlcXVl
c3QgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3JlbWVudFJhZkJpbmQp
OworICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9y
ZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWYzN2NlYTVmYzA2NGFkYTc5YWNl
YzBkZjNjMzhmMTZmYWMwMTM4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2Mt
aW1wb3J0LmxvZwpAQCAtMCwwICsxLDE4IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0t
dGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1l
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
c3ZnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGNmODM2
ZTVmMjBhYWEzOGIxN2YzMGQ0Y2EyZGFhYjRlY2EwMzMzMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L3N2Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
NTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgor
UmVzaXplT2JzZXJ2ZXIgc3ZnIHRlc3RzCisKK0hlcmUgaXMgYSBwYXJhZ3JhcGggdGhhdCByZXF1
aXJlcyB3b3JkIHdyYXAKKworc3ZnIHRleHQgdGFnCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIgaW1w
bGVtZW50ZWQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9i
c2VydmVyIiBtaXNzaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDllNWMxOTUzZWMyNzhlOTIxNzY5ZGM5MjQyMGM3OWNmN2YwMDM0NAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1sCkBAIC0wLDAgKzEsMzMzIEBACis8IWRvY3R5cGUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpSZXNpemVPYnNlcnZl
ckVuYWJsZWQ9dHJ1ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIu
anMiPjwvc2NyaXB0PgorPHA+UmVzaXplT2JzZXJ2ZXIgc3ZnIHRlc3RzPC9wPgorPHN2ZyBoZWln
aHQ9IjQzMCIgd2lkdGg9IjUwMCIgPgorICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjEwIiByPSI1IiBz
dHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIiAvPgorICA8ZWxs
aXBzZSBjeD0iMTAiIGN5PSIzMCIgcng9IjUiIHJ5PSI1IiBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ry
b2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIi8+CisgIDxmb3JlaWduT2JqZWN0IGN5PSI1MCIgd2lk
dGg9IjEwMCIgaGVpZ2h0PSIyMCI+CisgICAgPGJvZHk+CisgICAgICA8cD5IZXJlIGlzIGEgcGFy
YWdyYXBoIHRoYXQgcmVxdWlyZXMgd29yZCB3cmFwPC9wPgorICAgIDwvYm9keT4KKyAgPC9mb3Jl
aWduT2JqZWN0PgorICA8aW1hZ2UgeGxpbms6aHJlZj0iIiB4PSIwIiB5PSIxMDAiIGhlaWdodD0i
MzAiIHdpZHRoPSIxMDAiIC8+CisgIDxsaW5lIHgxPSIwIiB5MT0iNTAiIHgyPSIyMCIgeTI9Ijcw
IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiLz4KKyAgPHBhdGggZD0iTSAwIDEwMCBM
IDEwMCAxMDAgTCA1MCAxNTAgeiIKKyAgICAgICAgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpi
bGFjaztzdHJva2Utd2lkdGg6MSIgLz4KKyAgPHBvbHlnb24gcG9pbnRzPSIwLDIwMCAxMDAsMjAw
IDUwLDI1MCIgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJva2Utd2lkdGg6MSIg
Lz4KKyAgPHBvbHlsaW5lIHBvaW50cz0iMCwzMDAgMTAwLDMwMCA1MCwzNTAiIHN0eWxlPSJmaWxs
Om9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEiLz4KKyAgPHJlY3QgeD0iMCIgeT0i
MzgwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHN0eWxlPSJmaWxsOm9yYW5nZTsgc3Ryb2tlOmJs
YWNrOyBzdHJva2Utd2lkdGg6MSIgLz4KKyAgPHRleHQgeD0iMCIgeT0iNDAwIiBmb250LXNpemU9
IjIwIj5zdmcgdGV4dCB0YWc8L3RleHQ+Cis8L3N2Zz4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7
CisKK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rpb24g
dGVzdDAoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdjaXJjbGUn
KTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogb2Jz
ZXJ2ZSBzdmc6Y2lyY2xlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERl
bGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncicsIDEwKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1
cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICBsZXQgdGFyZ2V0
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZWxsaXBzZScpOworICBsZXQgaGVscGVyID0gbmV3
IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBvYnNlcnZlIHN2ZzplbGxpcHNlIiwKKyAg
WworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9i
c2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZl
cikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFy
Z2V0LnNldEF0dHJpYnV0ZSgncngnLCAxMCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0
aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0
aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVp
Z2h0LCAxMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgp
OworfQorCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ2ZvcmVpZ25PYmplY3QnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0
SGVscGVyKAorICAgICJ0ZXN0Mjogb2JzZXJ2ZSBzdmc6Zm9yZWlnbk9iamVjdCIsCisgIFsKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5z
ZXRBdHRyaWJ1dGUoJ3dpZHRoJywgMjAwKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3Ro
LCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRo
LCAyMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVp
Z2h0LCAyMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgp
OworfQorCitmdW5jdGlvbiB0ZXN0MygpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ2ltYWdlJyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigK
KyAgICAidGVzdDM6IG9ic2VydmUgc3ZnOmltYWdlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVw
OiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAg
IH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1
cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnaGVp
Z2h0JywgNDApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDQwKTsKKyAgICAg
IH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9u
IHRlc3Q0KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGluZScp
OworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q0OiBvYnNl
cnZlIHN2ZzpsaW5lIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5
IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVy
ID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgneTInLCA4MCk7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5jb250ZW50UmVjdC53aWR0aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uY29udGVudFJlY3QuaGVpZ2h0LCAzMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0
dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NSgpIHsKKyAgbGV0IHRhcmdl
dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3BhdGgnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBS
ZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0NTogb2JzZXJ2ZSBzdmc6cGF0aCIsCisgIFsKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5z
ZXRBdHRyaWJ1dGUoJ2QnLCAiTSAwIDEwMCBMIDEwMCAxMDAgTCA1MCAxNjAgeiIpOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOwor
ICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q2KCkgeworICBsZXQg
dGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncG9seWdvbicpOworICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q2OiBvYnNlcnZlIHN2ZzpwYXRoIiwK
KyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAg
ICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAg
dGFyZ2V0LnNldEF0dHJpYnV0ZSgncG9pbnRzJywgIjAsMjAwIDEwMCwyMDAgNTAsMjYwIik7Cisg
ICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNjApOworICAgICAgfQorICAgIH0KKyAg
XSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDcoKSB7Cisg
IGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdwb2x5bGluZScpOworICBsZXQg
aGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q3OiBvYnNlcnZlIHN2Zzpw
b2x5bGluZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0
IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3BvaW50cycsICIwLDMwMCAxMDAsMzAwIDUw
LDM2MCIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYwKTsKKyAgICAgIH0K
KyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRl
c3Q4KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncmVjdCcpOwor
ICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q4OiBvYnNlcnZl
IHN2ZzpyZWN0IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5l
eHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAiMjAiKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmNvbnRlbnRSZWN0LndpZHRoLCAyMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q5KCkgeworICBsZXQgdGFy
Z2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGV4dCcpOworICBsZXQgaGVscGVyID0gbmV3
IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q5OiBvYnNlcnZlIHN2Zzp0ZXh0IiwKKyAgWwor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2Vy
dmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikg
PT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQor
ICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0
LnNldEF0dHJpYnV0ZSgnZm9udC1zaXplJywgIjI1Iik7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
Lmxlbmd0aCwgMSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCisKK2Z1bmN0aW9uIHRlc3QxMCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxw
ZXIoCisgICAgInRlc3QxMDogb2JzZXJ2ZSBzdmc6c3ZnLCB0b3AvbGVmdCBpcyAwIGV2ZW4gd2l0
aCBwYWRkaW5nIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LnRv
cCwgMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5sZWZ0
LCAwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9
CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93
LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwg
IlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7
IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQor
ICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVy
biB0ZXN0NCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAudGhl
bigoKSA9PiB7IHJldHVybiB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0
NygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0OCgpOyB9KQorICAudGhlbigoKSA9
PiB7IHJldHVybiB0ZXN0OSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MTAoKTsg
fSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOworCis8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTY0MWVlYzJjOGUwOWQxNDMzZjdmMDVlOWQ4YjIwMmZiM2M5ZDVkNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAKK1RoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL01FVEEu
eW1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5qcworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25v
dGlmeS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwKZGlmZiAtLWdpdCBhL0No
YW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhNjliN2JhMDIxZTAxMTljZDZjMjY0MzczOTk2MDQw
NDA3MmMwZjUwLi45YzRmMWVmYTg2NjJiZDZkZDY3MDU4OWUzNDA2MmQ0MmYyOWZhZjIxIDEwMDY0
NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTkt
MDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIElt
cG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlOgorCiAyMDE5LTAxLTI0ICBHdWlsbGF1bWUgRW1vbnQgIDxndWlqZW1vbnRA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbSlNDXSBSZWVuYWJsZSBiYXNlbGluZSBKSVQgb24gbWlw
cwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360297</attachid>
            <date>2019-01-27 09:24:36 -0800</date>
            <delta_ts>2019-01-27 22:50:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193821-20190128012432.patch</filename>
            <type>text/plain</type>
            <size>112179</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
YzZmNjY0YjU2MDM1NjkyMDFjZTAxYmFhZGE2YjdmN2I1ZGVmYzQyLi5kMWYxNmQ1NzZmYjRjZTUz
Mjc5NGE5ZTEwNTA0ODBmYTQxZGY1MzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0wMS0yNyAgY2F0aGllIGNoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5j
b20+CisKKyAgICAgICAgSW1wb3J0IFJlc2l6ZSBPYnNlcnZlciB0ZXN0IGNhc2VzIGZyb20gV1BU
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODIx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yNyAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJbnRyb2R1Y2Ug
YSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE2NWFhNDBlOTlhMTg2
MzU3ZmQ4ZWZmNjgxMGNmNjNhOTIxMmU2OC4uMTE0NzdhYzc5NTU4ZmQwMWRmYjUyYzliMGYxNWIy
NGZjNTM1YWYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTAxLTI3ICBjYXRo
aWUgY2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBvcnQgUmVzaXpl
IE9ic2VydmVyIHRlc3QgY2FzZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2lu
ZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL25vdGlmeS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2
Zy5odG1sCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlhbWw6CisKIDIwMTktMDEtMjcgIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogSW50cm9kdWNlIGEg
c3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggODNjNWMyNjAw
ZjFlMjdkY2FlMTEyNTYwMDVmYjYyM2QyNDVjNWYzZi4uMTJmYzAxZDJhZThlNDE0YzdiODYxMWQz
ZmZlZWViNzc3ODNiOTAxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMjcgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogSW50cm9kdWNlIGlzb2xhdGVkIGFjY2Vz
c2liaWxpdHkgdHJlZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxMGQ5ZDJjZTEyMWExODIxMjhhZjNjNTBiNjE1Y2U5
ZmQxYmQ5MjI0Li4zYTc2NmFiNGUwZmUyNDU4N2FjMjFkOTBiNmZmNTBlYzIzM2FjZTU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTI3ICBjYXRoaWUgY2hlbiAgPGNhdGhpZWNo
ZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBvcnQgUmVzaXplIE9ic2VydmVyIHRlc3QgY2Fz
ZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTM4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAq
IFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDE5LTAxLTI3ICBDaHJpcyBGbGVpemFj
aCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRp
YyBhY2Nlc3NpYmlsaXR5IHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCAwMDM1
NjFlYTcwZDk1YTEzZTY3NTQwZGYxNzExMGNjYmMwZTEyMDJiLi5lZWQ2ZGZkMDk0ZGNlYzgxYjI1
ZmFiNDM4YzZmODNiZjI1NmU4YmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEu
Y29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQ
VHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzgy
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHJlc2l6ZU9ic2VydmVyRW5hYmxlZF0pOgorICAgICAgICAoLVtX
ZWJQcmVmZXJlbmNlcyBzZXRSZXNpemVPYnNlcnZlckVuYWJsZWQ6XSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxOS0w
MS0yNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFY
OiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cKaW5kZXggNWFjYWRmMTg1OGVlYzkzZmUyNTk3MDBkNmNiY2RlYjkwYjkyZTYxNi4u
YjJmZDk4MjhiYTFlODE2ZjI2ZDVkMjhjNGRjODUwM2Q1MzhmMjRjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAxLTI3ICBjYXRoaWUgY2hlbiAg
PGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBvcnQgUmVzaXplIE9ic2VydmVy
IHRlc3QgY2FzZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTM4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6Cisg
ICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVy
ZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2V0
dGluZ3MpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnJlc2l6ZU9ic2VydmVyRW5hYmxlZCk6
CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKToKKyAg
ICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAg
ICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAxOS0wMS0yNCAgUm9z
cyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgTW92ZSBGaWxl
U3lzdGVtIHRvIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIzMDYyM2UzNWY3YTVh
NzJjNDdlZDkxNzFmZmRhYTJmYzRhY2U4YTkuLjk3MzA2MTE2YzYzOGQ0NTVhZGM0MTAyNzhhZDQ2
ZDA4MDgyMTdhNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTMxMiw2ICszMTIsOCBA
QCBFTkFCTEVfUVVPVEEgPSA7CiAKIEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SID0gRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1I7CiAKK0VOQUJMRV9SRVNJWkVfT0JTRVJWRVIgPSBFTkFCTEVfUkVTSVpF
X09CU0VSVkVSOworCiBFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSA9IDsKIAogRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUyA9IEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJ
Q1M7CkBAIC00MDksNCArNDExLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9
IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9P
UCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFT
VF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVU
SE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAk
KEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9O
X01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NV
UFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
S0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVO
VF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5U
UykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVf
T0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNF
X1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RS
RUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VC
R1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMjMwNjIzZTM1ZjdhNWE3MmM0N2VkOTE3
MWZmZGFhMmZjNGFjZThhOS4uOTczMDYxMTZjNjM4ZDQ1NWFkYzQxMDI3OGFkNDZkMDgwODIxN2E1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTMxMiw2ICszMTIsOCBAQCBFTkFCTEVfUVVPVEEgPSA7CiAKIEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7CiAKK0VOQUJM
RV9SRVNJWkVfT0JTRVJWRVIgPSBFTkFCTEVfUkVTSVpFX09CU0VSVkVSOworCiBFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSA9IDsKIAogRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElD
UyA9IEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1M7CkBAIC00MDksNCArNDExLDQgQEAg
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJM
RV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dS
QURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9L
RVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9U
T0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklE
RU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VC
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9f
VVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJ
VF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9V
U0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9W
QVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVO
VF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCAyMzA2MjNlMzVmN2E1YTcyYzQ3ZWQ5MTcxZmZkYWEyZmM0YWNlOGE5
Li45NzMwNjExNmM2MzhkNDU1YWRjNDEwMjc4YWQ0NmQwODA4MjE3YTUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC0zMTIsNiArMzEyLDggQEAgRU5BQkxFX1FVT1RBID0gOwogCiBFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUiA9IEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SOwogCitFTkFCTEVfUkVTSVpF
X09CU0VSVkVSID0gRU5BQkxFX1JFU0laRV9PQlNFUlZFUjsKKwogRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkgPSA7CiAKIEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MgPSBFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTOwpAQCAtNDA5LDQgKzQxMSw0IEBAIEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
OwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElD
QVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
Q1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNT
QUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFND
UkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLnlhbWwKaW5kZXggY2E0YzU3Yzg2OWY0OTUwODgxYmE4NDBkOGJiNjQ5MTAyZWIzMjU3
ZS4uMjFmNjA1OGU1Mzc2YTQyMzEwNWZlODJhNGQxZWM2ZjQxZjk0M2RiYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MueWFtbApAQCAtNzk2LDMgKzc5Niw3IEBAIGVkaXRhYmxlSW1hZ2VzRW5hYmxl
ZDoKIAogYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKKworcmVz
aXplT2JzZXJ2ZXJFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogUkVT
SVpFX09CU0VSVkVSCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAyMzA2MjNlMzVmN2E1YTcyYzQ3ZWQ5MTcxZmZkYWEy
ZmM0YWNlOGE5Li45NzMwNjExNmM2MzhkNDU1YWRjNDEwMjc4YWQ0NmQwODA4MjE3YTUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTMxMiw2ICszMTIsOCBAQCBFTkFCTEVfUVVPVEEgPSA7CiAKIEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7CiAKK0VOQUJMRV9SRVNJWkVf
T0JTRVJWRVIgPSBFTkFCTEVfUkVTSVpFX09CU0VSVkVSOworCiBFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSA9IDsKIAogRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUyA9IEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1M7CkBAIC00MDksNCArNDExLDQgQEAgRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7
CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNB
VElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9F
VkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dF
QkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFM
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9D
U1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NS
RUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDliMGVhY2FhOWI3YTc5YzIxZmRhNDBkY2Jk
NmI3ZGNjNzdkYWU3M2MuLjMxM2VhNjY1MTdjNTExM2M5MTU3N2IyNDIzODNmZWJjZjZkZmViYTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTM4MCw2ICsx
MzgwLDE0IEBAIFByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZpZ2F0aW9uRW5hYmxlZDoKICAgY2F0
ZWdvcnk6IGV4cGVyaW1lbnRhbAogICB3ZWJjb3JlQmluZGluZzogbm9uZQogCitSZXNpemVPYnNl
cnZlckVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1h
blJlYWRhYmxlTmFtZTogIlJlc2l6ZSBPYnNlcnZlciIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0
aW9uOiAiRW5hYmxlIFJlc2l6ZSBPYnNlcnZlciBzdXBwb3J0IgorICBjYXRlZ29yeTogZXhwZXJp
bWVudGFsCisgIGNvbmRpdGlvbjogRU5BQkxFKFJFU0laRV9PQlNFUlZFUikKKwogIyBGb3IgaW50
ZXJuYWwgZmVhdHVyZXM6CiAjIFRoZSB0eXBlIHNob3VsZCBiZSBib29sZWFuLgogIyBZb3UgbXVz
dCBwcm92aWRlIGEgaHVtYW5SZWFkYWJsZU5hbWUgYW5kIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
biBmb3IgYWxsIGRlYnVnIGZlYXR1cmVzLiBUaGV5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CmluZGV4IDIzMDYyM2UzNWY3YTVhNzJjNDdlZDkxNzFmZmRhYTJmYzRhY2U4YTkuLjk3MzA2MTE2
YzYzOGQ0NTVhZGM0MTAyNzhhZDQ2ZDA4MDgyMTdhNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC0zMTIsNiArMzEyLDggQEAgRU5BQkxFX1FVT1RBID0gOwogCiBFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUiA9IEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SOwogCitFTkFCTEVfUkVTSVpF
X09CU0VSVkVSID0gRU5BQkxFX1JFU0laRV9PQlNFUlZFUjsKKwogRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkgPSA7CiAKIEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MgPSBFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTOwpAQCAtNDA5LDQgKzQxMSw0IEBAIEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
OwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElD
QVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
Q1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNT
QUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFND
UkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAppbmRleCA0OWQzNDJmZjJlMjc0MDRhZThjMjY5ZTJiNWE5NjBhMjZkZjNiOTgwLi44NTJi
YzY1NjBmODc1OWM5NGExMjYyZGYwM2Y3YWI0ZDExOTk3MDM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmgKQEAgLTI2NSwzICsyNjUsNCBAQAogI2RlZmluZSBXZWJLaXRTZWxlY3Rpb25BY3Jvc3NTaGFk
b3dCb3VuZGFyaWVzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRTZWxlY3Rpb25BY3Jvc3NT
aGFkb3dCb3VuZGFyaWVzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0Q1NTTG9naWNhbEVuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTTG9naWNhbEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEFk
Q2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWRDbGlja0F0dHJp
YnV0aW9uRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdFJlc2l6ZU9ic2VydmVyRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IGU4MDJjMGE0OGNk
YWNmOGZjMTkzZGY2NmY3MTdjYTAzMWMyZTY2NjQuLjQ1NTE0M2RlOGE4NGFmYWFiZDc3Njc2NWI5
ZmRlMDRmMmMyYmVmZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNjkzLDYgKzY5Myw5IEBAIHB1YmxpYzoKICAgICAgICAg
QE5PLCBXZWJLaXRNZWRpYUNhcGFiaWxpdGllc0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAg
ICBATk8sIFdlYktpdEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAg
ICAgIEBOTywgV2ViS2l0U2VydmVyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCisjaWYgRU5B
QkxFKFJFU0laRV9PQlNFUlZFUikKKyAgICAgICAgQE5PLCBXZWJLaXRSZXNpemVPYnNlcnZlckVu
YWJsZWRQcmVmZXJlbmNlS2V5LAorI2VuZGlmCiAgICAgICAgIG5pbF07CiAKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKQEAgLTM0MDEsNiArMzQwNCwxNSBAQCBzdGF0aWMgTlNTdHJpbmcgKmNs
YXNzSUJDcmVhdG9ySUQgPSBuaWw7CiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktl
eTpXZWJLaXRBZENsaWNrQXR0cmlidXRpb25FbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKKy0g
KEJPT0wpcmVzaXplT2JzZXJ2ZXJFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFs
dWVGb3JLZXk6V2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisK
Ky0gKHZvaWQpc2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkOihCT09MKWZsYWcKK3sKKyAgICBbc2Vs
ZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFJlc2l6ZU9ic2VydmVyRW5hYmxlZFBy
ZWZlcmVuY2VLZXldOworfQogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMg
KFdlYkludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggODgyMGRiMjcwM2Y3YWI4NTk3MjZlNWFj
NzFhZDFkNTk1ZjM4YzI4My4uNDg5MzhjN2M0ZTVjYjcxMmUxZWQ4ZDg2ZTEyYWE5NzA4MTA1YTkw
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC02MTksNiArNjE5LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lU
X0RFUFIKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG1lZGlhUmVjb3JkZXJFbmFibGVkOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dDcm9zc09yaWdpblN1YnJlc291cmNlc1Rv
QXNrRm9yQ3JlZGVudGlhbHM7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBzb3VyY2VCdWZm
ZXJDaGFuZ2VUeXBlRW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHJlc2l6ZU9i
c2VydmVyRW5hYmxlZDsKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIHF1aWNrTG9va0RvY3VtZW50U2F2aW5nRW5hYmxlZDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBlYWVmOGZmMTYwZmI0ZWIzMGE4OTBl
NmJjZjUzYWZkYTZhZDU1MDE3Li5iYmU1NWY3ODk1YzQxZDQxNWQxODQ2ZDhjZDNmMmZjMmYwODdi
NGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0z
MTkyLDYgKzMxOTIsMTAgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5n
UXVpcmsoKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0
U2VydmVyVGltaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgc2VydmVyVGltaW5nRW5hYmxlZF0pOwog
CiAgICAgc2V0dGluZ3Muc2V0U2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmllc0VuYWJsZWQo
cHJlZmVyZW5jZXMuc2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmllc0VuYWJsZWQpOworCisj
aWYgRU5BQkxFKFJFU0laRV9PQlNFUlZFUikKKyAgICBzZXR0aW5ncy5zZXRSZXNpemVPYnNlcnZl
ckVuYWJsZWQoW3ByZWZlcmVuY2VzIHJlc2l6ZU9ic2VydmVyRW5hYmxlZF0pOworI2VuZGlmCiB9
CiAKIHN0YXRpYyBpbmxpbmUgSU1QIGdldE1ldGhvZChpZCBvLCBTRUwgcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0
ZS5pZGwgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaWRsCmluZGV4IDE5ODgyY2RkMGYwYzZkNzRlNWJkMjdhNzI1MDdlOWRjNzU2N2U4
ZjEuLmVkOGIxY2NhYTlkYzM5MDUxODNkYTcwMTU3MDVkMzljMTE3YWEzNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0
ZS5pZGwKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbApAQCAtMjM4LDQgKzIzOCw2IEBAIGludGVyZmFjZSBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlNyA6IElXZWJQcmVmZXJlbmNlc1ByaXZhdGU2CiB7CiAgICAgSFJFU1VMVCBj
cm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCog
ZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRF
bmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHJlc2l6ZU9ic2VydmVyRW5h
YmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldFJlc2l6ZU9ic2VydmVy
RW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDk0MGQ1Y2Y1NWQxM2JlNTc4
N2E2OGQxYjQzMDZlZGMwOGNmZTkyNDYuLmY5NDIxYWIyYmY4ZDViYWU3MWRkOWQxNzllMzg0NTQw
ZjEyZDA4YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oCkBAIC0yMDYsMyArMjA2LDQgQEAKIAogI2RlZmluZSBXZWJLaXRDU1NP
TVZpZXdTY3JvbGxpbmdBUElFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0Q1NTT01WaWV3U2Ny
b2xsaW5nQVBJRW5hYmxlZCIKIAorI2RlZmluZSBXZWJLaXRSZXNpemVPYnNlcnZlckVuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IDAyNWMyMGJlYTIzOGNkNmE0OTVh
MjUwZjZjNTUwY2E3ZjUyNzlkNjkuLjNkZTg1NDE3MzJjZmRkYjhiNmU4NGVlMWM3NjM0MTdjMThh
MzFlNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2Vz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKQEAg
LTMyOSw2ICszMjksOCBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNl
dHRpbmdzKCkKIAogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJL
aXRDU1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5G
YWxzZSk7CiAKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CisK
ICAgICBkZWZhdWx0U2V0dGluZ3MgPSBkZWZhdWx0czsKIH0KIApAQCAtMjI2MCwzICsyMjYyLDI1
IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFNlcnZlclRpbWluZ0VuYWJsZWQoQk9PTCBl
bmFibGVkKQogICAgIHNldEJvb2xWYWx1ZShXZWJLaXRTZXJ2ZXJUaW1pbmdFbmFibGVkUHJlZmVy
ZW5jZUtleSwgZW5hYmxlZCk7CiAgICAgcmV0dXJuIFNfT0s7CiB9CisKK0hSRVNVTFQgV2ViUHJl
ZmVyZW5jZXM6OnJlc2l6ZU9ic2VydmVyRW5hYmxlZChfT3V0XyBCT09MKiBlbmFibGVkKQorewor
I2lmIEVOQUJMRShSRVNJWkVfT0JTRVJWRVIpCisgICAgaWYgKCFlbmFibGVkKQorICAgICAgICBy
ZXR1cm4gRV9QT0lOVEVSOworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdFJl
c2l6ZU9ic2VydmVyRW5hYmxlZFByZWZlcmVuY2VLZXkpOworICAgIHJldHVybiBTX09LOworI2Vs
c2UKKyAgICByZXR1cm4gRV9OT1RJTVBMOworI2VuZGlmCit9CisKK0hSRVNVTFQgV2ViUHJlZmVy
ZW5jZXM6OnNldFJlc2l6ZU9ic2VydmVyRW5hYmxlZChCT09MIGVuYWJsZWQpCit7CisjaWYgRU5B
QkxFKFJFU0laRV9PQlNFUlZFUikKKyAgICBzZXRCb29sVmFsdWUoV2ViS2l0UmVzaXplT2JzZXJ2
ZXJFbmFibGVkUHJlZmVyZW5jZUtleSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7CisjZWxz
ZQorICAgIHJldHVybiBFX05PVElNUEw7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dp
bi9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IDI5MDZiMzZiMTg4YzlkODkyMjk0YmNkZWRmMmE2YzI1
MWRlOGJiNDYuLjZlYmExN2MzZTg3NjU5NWE5ZjBiNDkxYThlY2JlZjBjNzY2MzMyNzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaApAQCAtMjgzLDYgKzI4Myw4IEBA
IHB1YmxpYzoKICAgICAvLyBJV2ViUHJlZmVyZW5jZXNQcml2YXRlNwogICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFi
bGVkKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
c2V0Q3Jvc3NPcmlnaW5XaW5kb3dQb2xpY3lTdXBwb3J0RW5hYmxlZChCT09MKTsKKyAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgcmVzaXplT2JzZXJ2ZXJFbmFibGVkKF9PdXRf
IEJPT0wqKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0UmVzaXpl
T2JzZXJ2ZXJFbmFibGVkKEJPT0wpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAppbmRleCBlMzMxMDYzYTBiZjBlYmQ4MjAwOTE1MDQwNzYy
NmRlOWExNDBlNTJmLi5kZWIxMDgyNzJkNjI0NjZiZjMwMjJmNGExNDhmYWE3N2U4NmM3ZGQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcApAQCAtNTU5OSw2ICs1NTk5LDEzIEBAIEhS
RVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKElXZWJOb3RpZmljYXRpb24q
IG5vdGlmaWNhdGlvbikKICAgICAgICAgcmV0dXJuIGhyOwogICAgIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0U2VydmVyVGltaW5nRW5hYmxlZCghIWVuYWJsZWQp
OwogCisjaWYgRU5BQkxFKFJFU0laRV9PQlNFUlZFUikKKyAgICBociA9IHByZWZzUHJpdmF0ZS0+
cmVzaXplT2JzZXJ2ZXJFbmFibGVkKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAg
ICAgICAgcmV0dXJuIGhyOworICAgIHNldHRpbmdzLnNldFJlc2l6ZU9ic2VydmVyRW5hYmxlZCgh
IWVuYWJsZWQpOworI2VuZGlmCisKICAgICByZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCmluZGV4IGY3MGI4MTczMTIyNDQwODBhMzhiMTZjN2E4YWNiOGYxNTExZGY4
MmIuLmNlMmJjOWUxMDgzMzEzNzVmY2NiYTFkNjcyMmJiOGNmZTI1ZTczNDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2Vi
S2l0RmVhdHVyZXMuY21ha2UKQEAgLTE4Myw2ICsxODMsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9O
X0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QgIlRvZ2dsZSBwdWJsaWMgc3VmZml4IGxpc3Qgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUVVPVEEgIlRvZ2dsZSBRdW90YSBzdXBwb3J0IiBQ
UklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUiAiVG9nZ2xlIHJlbW90ZSBpbnNwZWN0b3Igc3VwcG9ydCIgUFJJVkFURSBPTikKKyAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUkVTSVpFX09CU0VSVkVSICJFbmFibGUgUmVzaXpl
IE9ic2VydmVyIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkgIlRvZ2dsZSByZXNvbHV0aW9uIG1lZGlhIHF1
ZXJ5IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MgIlRvZ2dsZSByZXNvdXJjZSBsb2FkIHN0YXRpc3Rp
Y3Mgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1JFU09VUkNFX1VTQUdFICJUb2dnbGUgcmVzb3VyY2UgdXNhZ2Ugc3VwcG9ydCIgUFJJVkFURSBP
RkYpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
ZDBiOTY3MjIzM2NmODI3OGJjMmViNmM3MzM1NzI1ODk1ZmI4YjRkZC4uOGYwODIxZWQzZWVkMjBh
MTliNTk4YTdhNmRiMjMxYTI0MDIzYmJhZCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE5LTAxLTI3ICBjYXRoaWUg
Y2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBvcnQgUmVzaXplIE9i
c2VydmVyIHRlc3QgY2FzZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAg
ICAgICAgKFRlc3RPcHRpb25zOjpUZXN0T3B0aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvVGVzdE9wdGlvbnMuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW06CisgICAgICAgIChzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisgICAgICAgICogVGVz
dFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAx
OS0wMS0yNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAg
IEFYOiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9UZXN0T3B0aW9ucy5jcHAKaW5kZXggYzkyNjYxMmIxYjE2MDRhODNjZTI2MDNiY2RhODhjZTM5
ODNkMzU4ZS4uODIxNTQxN2E5MjQ1Yzc4ZTQ5MjU2NTBmZmZmMjc4YzNkZWFkODdjNyAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcApAQCAtMTExLDYgKzExMSw4IEBAIFRlc3RPcHRp
b25zOjpUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6
OnN0cmluZyYgYWJzb2x1CiAgICAgICAgICAgICBlbmFibGVDU1NMb2dpY2FsID0gcGFyc2VCb29s
ZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJpbnRl
cm5hbDpBZENsaWNrQXR0cmlidXRpb25FbmFibGVkIikKICAgICAgICAgICAgIGFkQ2xpY2tBdHRy
aWJ1dGlvbkVuYWJsZWQgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOworICAg
ICAgICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZVJlc2l6ZU9ic2VydmVyIikKKyAgICAgICAgICAg
IGVuYWJsZVJlc2l6ZU9ic2VydmVyID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVl
KTsKICAgICAgICAgcGFpclN0YXJ0ID0gcGFpckVuZCArIDE7CiAgICAgfQogfQpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL1Rlc3RPcHRpb25zLmgKaW5kZXggYzI3ZTg0MmE0OGY1N2FjODBmNWYwNGJiYjVlNmE5MmFk
MTA1ZDgxZC4uZDg4NWVkYmRlYjA2YThiYjY3ZjRhMDFiYWYyYjJiYzUzZmM0YzdkMSAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCkBAIC00Niw2ICs0Niw3IEBAIHN0cnVjdCBUZXN0T3B0
aW9ucyB7CiAgICAgYm9vbCBlbmFibGVXZWJHUFUgeyBmYWxzZSB9OwogICAgIGJvb2wgZW5hYmxl
Q1NTTG9naWNhbCB7IGZhbHNlIH07CiAgICAgYm9vbCBhZENsaWNrQXR0cmlidXRpb25FbmFibGVk
IHsgZmFsc2UgfTsKKyAgICBib29sIGVuYWJsZVJlc2l6ZU9ic2VydmVyIHsgZmFsc2UgfTsKICAg
ICBzdGQ6OnN0cmluZyBqc2NPcHRpb25zOwogCiAgICAgVGVzdE9wdGlvbnMoY29uc3Qgc3RkOjpz
dHJpbmcmIHBhdGhPclVSTCwgY29uc3Qgc3RkOjpzdHJpbmcmIGFic29sdXRlUGF0aCk7CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KaW5kZXggZDNmNThjNzdkMjlm
NGRlZDhlOWQ0NDlmODhmNGEzNTAxZmQxMmQ0ZS4uZTY2YzA1ZjNmZDFkM2Y3MzcyMzJhYjZlMzEy
MzI3OWM0NDc2NmVhOCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbQpAQCAtMTAxMiw2ICsxMDEyLDcgQEAgc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5jZXNG
b3JUZXN0T3B0aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykKICAgICBwcmVmZXJlbmNl
cy53ZWJHUFVFbmFibGVkID0gb3B0aW9ucy5lbmFibGVXZWJHUFU7CiAgICAgcHJlZmVyZW5jZXMu
Q1NTTG9naWNhbEVuYWJsZWQgPSBvcHRpb25zLmVuYWJsZUNTU0xvZ2ljYWw7CiAgICAgcHJlZmVy
ZW5jZXMuYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZCA9IG9wdGlvbnMuYWRDbGlja0F0dHJpYnV0
aW9uRW5hYmxlZDsKKyAgICBwcmVmZXJlbmNlcy5yZXNpemVPYnNlcnZlckVuYWJsZWQgPSBvcHRp
b25zLmVuYWJsZVJlc2l6ZU9ic2VydmVyOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1wUmVu
ZGVyVHJlZSBzdGFydHVwLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0Zl
YXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmlu
ZGV4IGMzMzUwMzNjMjllYzQyM2FjYWRkZWQzMThjNmM3OWYwNWQzM2MzNjcuLjlkMzJkZmFhZmZj
ZDNhM2Q5NjYwNzRjOWY3MmI0ODkxNmEzYzY3MjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KQEAgLTE0Miw2ICsxNDIsNyBAQCBteSAoCiAgICAgJHF1b3RhU3VwcG9y
dCwKICAgICAkcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXJTdXBwb3J0LAogICAgICRyZW1vdGVJbnNw
ZWN0b3JTdXBwb3J0LAorICAgICRyZXNpemVPYnNlcnZlclN1cHBvcnQsCiAgICAgJHJlc29sdXRp
b25NZWRpYVF1ZXJ5U3VwcG9ydCwKICAgICAkcmVzb3VyY2VMb2FkU3RhdGlzdGljc1N1cHBvcnQs
CiAgICAgJHJlc291cmNlVXNhZ2VTdXBwb3J0LApAQCAtNDY0LDYgKzQ2NSw5IEBAIG15IEBmZWF0
dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAicmVtb3RlLWluc3BlY3RvciIsIGRlc2MgPT4gIlRv
Z2dsZSByZW1vdGUgaW5zcGVjdG9yIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUiIsIHZhbHVlID0+IFwkcmVtb3RlSW5zcGVjdG9yU3VwcG9ydCB9LAog
CisgICAgeyBvcHRpb24gPT4gInJlc2l6ZS1vYnNlcnZlciIsIGRlc2MgPT4gIkVuYWJsZSBSZXNp
emUgT2JzZXJ2ZXIgc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9SRVNJWkVfT0JT
RVJWRVIiLCB2YWx1ZSA9PiBcJHJlc2l6ZU9ic2VydmVyU3VwcG9ydCB9LAorCiAgICAgeyBvcHRp
b24gPT4gInJlc29sdXRpb24tbWVkaWEtcXVlcnkiLCBkZXNjID0+ICJUb2dnbGUgcmVzb2x1dGlv
biBtZWRpYSBxdWVyeSBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkiLCB2YWx1ZSA9PiBcJHJlc29sdXRpb25NZWRpYVF1ZXJ5U3VwcG9ydCB9
LAogCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAyMzA2MjNlMzVmN2E1YTcyYzQ3ZWQ5MTcxZmZk
YWEyZmM0YWNlOGE5Li45NzMwNjExNmM2MzhkNDU1YWRjNDEwMjc4YWQ0NmQwODA4MjE3YTUyIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTMxMiw2ICszMTIsOCBAQCBFTkFCTEVfUVVPVEEgPSA7
CiAKIEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7CiAK
K0VOQUJMRV9SRVNJWkVfT0JTRVJWRVIgPSBFTkFCTEVfUkVTSVpFX09CU0VSVkVSOworCiBFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSA9IDsKIAogRU5BQkxFX1JFU09VUkNFX0xPQURfU1RB
VElTVElDUyA9IEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1M7CkBAIC00MDksNCArNDEx
LDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NP
TklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlC
T0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RP
TV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9N
QUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJF
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04p
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9B
RF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VS
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFC
TEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
VklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElD
UykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9S
VEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdf
QVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19M
T09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJ
TkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09N
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NT
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
QVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRS
SUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9G
T1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElD
UykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNf
RUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJM
RV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJN
RVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGVjMDU3NDEyY2UzNjhiZDc0MDM2ZmYx
NDM2YzZhNWNhZjQ0OWM3YWYuLjBiYWYyZTUwYjM3MTI0NzNkMjFmYjNkOGI4YjIxYmU5ZWYxODM4
MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE5
LTAxLTI3ICBjYXRoaWUgY2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJ
bXBvcnQgUmVzaXplIE9ic2VydmVyIHRlc3QgY2FzZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4MjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9NRVRBLnltbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9ldmVudGxvb3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2lu
ZG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LmpzOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlm
eS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvbm90aWZ5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNl
cy9pZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qczogQWRkZWQuCisgICAgICAg
IChSZXNpemVUZXN0SGVscGVyKToKKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBl
LmdldCBfY3VycmVudFN0ZXApOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUu
X25leHRTdGVwKToKKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlLl9oYW5kbGVO
b3RpZmljYXRpb24pOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuX2hhbmRs
ZVRpbWVvdXQpOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuX2RvbmUpOgor
ICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuc3RhcnQpOgorICAgICAgICAoUmVz
aXplVGVzdEhlbHBlci5wcm90b3R5cGUuZ2V0IHJhZkNvdW50KToKKyAgICAgICAgKFJlc2l6ZVRl
c3RIZWxwZXIucHJvdG90eXBlLl9pbmNyZW1lbnRSYWYpOgorICAgICAgICAoUmVzaXplVGVzdEhl
bHBlci5wcm90b3R5cGUuc3RhcnRDb3VudGluZ1JhZik6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2c6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9zdmcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisKIDIwMTktMDEtMjQgIENoYXJsZXMgVmF6
YWMgIDxjdmF6YWNAYWthbWFpLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgUGVyZm9ybWFuY2VP
YnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbiBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCmluZGV4IGQ2
ZWU5NDEyMWNkNmE4YjU5NWFjMzJjNTZiMjkzMmYwOTUyODE3MzMuLjNhMGRlZjY2YjBjZGI5YzM0
YWRhMzdhMThjMzEwOGVmNjAyY2Y3MmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCkBAIC0yOTYs
NiArMjk2LDcgQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3JlbW90ZS1wbGF5YmFjayI6ICJz
a2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXF1ZXN0aWRsZWNhbGxiYWNrIjogInNr
aXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlciI6ICJza2lwIiwg
CisgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvIjogImltcG9ydCIsIAog
ICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nIjogImltcG9ydCIsIAogICAg
ICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2VzIjogImltcG9ydCIsIAogICAgICJ3ZWItcGxh
dGZvcm0tdGVzdHMvc2NyZWVuLW9yaWVudGF0aW9uIjogInNraXAiLCAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L01FVEEueW1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNpemUtb2JzZXJ2ZXIvTUVUQS55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY2Njg1NjIyYjJhYjJlMjZjYzYz
MzBmOTgxMzBiZTVkNDMwMWIwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sCkBAIC0w
LDAgKzEsNCBAQAorc3BlYzogaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9SZXNpemVPYnNlcnZlci8K
K3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0gYXRvdGljCisgIC0gZGhvbGJlcnQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdiMjMxMDY2NDA3N2M0Nzc3ZDQxNzEyMjE1NDUzMjM1OTkzYzIxODMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBA
QAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6ZU9ic2VydmVyIG5vdGlmaWNhdGlvbiBldmVu
dCBsb29wIHRlc3RzCisKK3QxCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmVyIiBtaXNz
aW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjIyZDcyNGExOWIzZGIyMGEyMWVmMjRhYjk4NWQ4NGI3ZTM1YjllNQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sCkBAIC0wLDAgKzEsMjU5IEBACis8IWRv
Y3R5cGUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpSZXNpemVP
YnNlcnZlckVuYWJsZWQ9dHJ1ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRlc3RI
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorICBkaXYgeworICAgIGJvcmRlcjogMXB4IGRv
dHRlZCBncmF5CisgIH0KKzwvc3R5bGU+Cis8cD5SZXNpemVPYnNlcnZlciBub3RpZmljYXRpb24g
ZXZlbnQgbG9vcCB0ZXN0czwvcD4KKzxkaXYgaWQ9InRhcmdldDEiIHN0eWxlPSJ3aWR0aDoxMDBw
eDtoZWlnaHQ6MTAwcHg7Ij50MQorPC9kaXY+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICA8ZGl2
IGlkPSJhMSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+CisgICAgPGRpdiBpZD0i
YTIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPgorICAgIDwvZGl2PgorICA8L2Rp
dj4KKyAgPGRpdiBpZD0iYjEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPgorICAg
IDxkaXYgaWQ9ImIyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4Ij4KKyAgICA8L2Rp
dj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK2xldCB0MSA9
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQxJyk7CisKKy8vIGFsbG93IHVuY2F1Z2h0
IGV4Y2VwdGlvbiBiZWNhdXNlIFJlc2l6ZU9ic2VydmVyIHBvc3RzIGV4Y2VwdGlvbnMKKy8vIHRv
IHdpbmRvdyBlcnJvciBoYW5kbGVyIHdoZW4gbGltaXQgaXMgZXhjZWVkZWQuCisvLyBUaGlzIGNv
ZGVwYXRoIGlzIHRlc3RlZCBpbiB0aGlzIGZpbGUuCisKK3NldHVwKHthbGxvd191bmNhdWdodF9l
eGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rpb24gdGVtcGxhdGUoKSB7CisgIGxldCBoZWxwZXIg
PSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IHRpdGxlIiwKKyAgWworICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0
IHN0ZXAKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9
CisKK3ZhciBvbkVycm9yQ2FsbGVkID0gZmFsc2U7CisKK3dpbmRvdy5vbmVycm9yID0gZXJyID0+
IHsKKyAgb25FcnJvckNhbGxlZCA9IHRydWU7Cit9CisKK2Z1bmN0aW9uIHRlc3QwKCkgeworCisg
IGxldCBkaXZzID0gW3QxXTsKKyAgbGV0IHJBRiA9IDA7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVz
aXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IG11bHRpcGxlIG5vdGlmaWNhdGlvbnMgaW5zaWRl
IHNhbWUgZXZlbnQgbG9vcCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICBvbkVycm9yQ2FsbGVkID0gZmFsc2U7CisgICAgICAgIGxldCB0MiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICBsZXQgdDMgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgdDIuYXBwZW5kQ2hpbGQodDMpOworICAgICAgICB0
MS5hcHBlbmRDaGlsZCh0Mik7CisgICAgICAgIGRpdnMucHVzaCh0Mik7CisgICAgICAgIGRpdnMu
cHVzaCh0Myk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICBvYnNlcnZl
ci5vYnNlcnZlKHQyKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMywgIjMgbm90aWZpY2F0aW9ucyIpOworICAgICAgfQorICAg
IH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgaGVscGVyLnN0
YXJ0Q291bnRpbmdSYWYoKTsKKyAgICAgICAgZGl2cy5mb3JFYWNoKCBlbCA9PiB7IGVsLnN0eWxl
LndpZHRoID0gIjEwMXB4Ijt9KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBv
YnNlcnZlcikgPT4geworICAgICAgICAvLyB0MSBpcyBub3QgZGVsaXZlcmVkCisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDIsICIyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhoZWxwZXIucmFmQ291bnQsIDAsICJzdGlsbCBpbiBzYW1lIGxvb3Ai
KTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7Cisg
ICAgICAgIGRpdnMuZm9yRWFjaCggZWwgPT4geyBlbC5zdHlsZS53aWR0aCA9ICIxMDJweCI7fSk7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgbm90aWZpY2F0aW9ucyIpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3VudCwgMCwgInNhbWUgbG9vcCIpOwor
ICAgICAgfQorICAgIH0sCisgICAgeyAvLyB0MSBhbmQgdDIgZ2V0IG5vdGlmaWVkCisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDIsICIy
IG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhoZWxwZXIucmFmQ291bnQs
IDEsICJuZXcgbG9vcCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKG9uRXJyb3JDYWxsZWQsIHRy
dWUsICJlcnJvciB3YXMgZmlyZWQiKTsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwor
ICAgICAgICB3aGlsZSAodDEuY2hpbGROb2Rlcy5sZW5ndGggPiAwKQorICAgICAgICAgIHQxLnJl
bW92ZUNoaWxkKHQxLmNoaWxkTm9kZXNbMF0pOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJl
dHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEoKSB7CisKKyAgdmFyIHJl
c2l6ZXJzID0gW3QxXTsKKyAgLy8gVGVzdGluZyBkZXB0aHMgb2Ygc2hhZG93IHJvb3RzCisgIC8v
IERPTTogdDEgPC0gdDIgPC0gdDMgPC1zaGFkb3ctIHQ0IDwtIHQ1CisgIGxldCBoZWxwZXIgPSBu
ZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE6IGRlcHRocyBvZiBzaGFkb3cgcm9vdHMi
LAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb25FcnJv
ckNhbGxlZCA9IGZhbHNlOworICAgICAgICBsZXQgdDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKTsKKyAgICAgICAgdDEuYXBwZW5kQ2hpbGQodDIpOworICAgICAgICByZXNpemVycy5w
dXNoKHQyKTsKKyAgICAgICAgbGV0IHQzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisgICAgICAgIHJlc2l6ZXJzLnB1c2godDMpOworICAgICAgICB0Mi5hcHBlbmRDaGlsZCh0Myk7
CisgICAgICAgIGxldCBzaGFkb3cgPSB0My5hdHRhY2hTaGFkb3coeyBtb2RlOiAib3BlbiIgfSk7
CisgICAgICAgIGxldCB0NCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAg
ICByZXNpemVycy5wdXNoKHQ0KTsKKyAgICAgICAgc2hhZG93LmFwcGVuZENoaWxkKHQ0KTsKKyAg
ICAgICAgbGV0IHQ1ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIHJl
c2l6ZXJzLnB1c2godDUpOworICAgICAgICB0NC5hcHBlbmRDaGlsZCh0NSk7CisgICAgICAgIHJl
c2l6ZXJzLmZvckVhY2goIGVsID0+IG9ic2VydmVyLm9ic2VydmUoZWwpICk7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgNSwgImFsbCBlbnRyaWVzIHJlc2l6ZWQiKTsKKyAgICAgIH0K
KyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHJlc2l6
ZXJzLmZvckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExMXB4IiApOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDQsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9CisgICAg
fSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICByZXNpemVycy5m
b3JFYWNoKCBlbCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTJweCIgKTsKKyAgICAgIH0sCisgICAg
ICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXMubGVuZ3RoLCAzLCAiZGVwdGggbGltaXRlZCIpOworICAgICAgfQorICAgIH0sCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVzaXplcnMuZm9yRWFj
aCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTEzcHgiICk7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzLmxlbmd0aCwgMiwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHJlc2l6ZXJzLmZvckVhY2goIGVs
ID0+IGVsLnN0eWxlLndpZHRoID0gIjExNHB4IiApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5s
ZW5ndGgsIDEsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDQs
ICJsaW1pdCBub3RpZmljYXRpb25zIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMob25FcnJvckNh
bGxlZCwgdHJ1ZSwgImJyZWFjaGVkIGxpbWl0Iik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5l
Y3QoKTsKKyAgICAgICAgdDEucmVtb3ZlQ2hpbGQodDEuZmlyc3RDaGlsZCk7CisgICAgICB9Cisg
ICAgfSwKKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVz
dDIoKSB7CisgIGxldCBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjY29udGFp
bmVyJyk7CisgIGxldCBhMSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhMScpOworICBsZXQg
YTIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYTInKTsKKyAgbGV0IGIxID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignI2IxJyk7CisgIGxldCBiMiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Io
JyNiMicpOworICBsZXQgdGFyZ2V0cyA9IFthMSwgYTIsIGIxLCBiMl07CisKKyAgbGV0IGhlbHBl
ciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MjogbW92ZSB0YXJnZXQgaW4gZG9t
IHdoaWxlIGluc2lkZSBldmVudCBsb29wIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2YgdGFyZ2V0cykKKyAgICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2Vy
dmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gZGVsYXkgbmV4dCBvYnNlcnZhdGlv
bgorICAgICAgfQorICAgIH0sCisgICAgeyAvLyByZXNpemUgdGhlbSBhbGwKKyAgICAgIHNldHVw
OiBvYnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2YgdGFyZ2V0cykKKyAgICAgICAg
ICB0LnN0eWxlLndpZHRoID0gIjExMHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3Ro
LCB0YXJnZXRzLmxlbmd0aCwgImFsbCB0YXJnZXRzIG9ic2VydmVkIik7CisgICAgICB9CisgICAg
fSwKKyAgICB7IC8vIHJlc2l6ZSBhbGwsIG1vdmUgZG9tIHVwd2FyZHMKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIGZvciAobGV0IHQgb2YgdGFyZ2V0cykKKyAgICAgICAgICB0
LnN0eWxlLndpZHRoID0gIjEzMHB4IjsKKyAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGIy
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiYjIgbW92ZWQgdXB3YXJkcyIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCBhMik7CisgICAgICB9
CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSBhbGwsIG1vdmUgZG9tIGRvd253YXJkcworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAg
ICAgICAgIHQuc3R5bGUud2lkdGggPSAiMTMwcHgiOworICAgICAgICBhMi5hcHBlbmRDaGlsZChi
Mik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgImIyIG1vdmVkIGRvd253YXJk
cyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCBiMik7CisgICAg
ICAgIGExLmFwcGVuZENoaWxkKGEyKTsKKyAgICAgIH0KKyAgICB9LAorICBdKTsKKyAgcmV0dXJu
IGhlbHBlci5zdGFydCgpOworfQorCitsZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3NlcnRf
b3duX3Byb3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5bmNf
dGVzdCgnZ3VhcmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rlc3Qw
KCkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBy
ZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOworCis8
L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3ctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3ZWEzMjc5
MWNiMDA2OTNmMzc5NGEyM2QzMjg0YTkyNjc5YzUyZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9p
ZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMCBAQAorCitGQUlMIGlk
bF90ZXN0IHNldHVwIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIkdvdCBhbiBlcnJvciBiZWZvcmUgcGFyc2luZyBhbnkgbmFtZWQgZGVmaW5pdGlv
bjogVW5yZWNvZ25pc2VkIHRva2VucywgbGluZSAxICh0b2tlbnM6ICJ7XCJlcnJvclwiOiB7XCJt
ZXNzYWdlXCIiKQorWworICAgIHsKKyAgICAgICAgInR5cGUiOiAieyIsCisgICAgICAgICJ2YWx1
ZSI6ICJ7IiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisgICAgfSwKKyAgICB7CisgICAgICAgICJ0
eXBlIjogInN0cmluZyIsCisgICAgICAgICJ2YWx1ZSI6ICJcImVycm9yXCIiLAorICAgICAgICAi
dHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAgICAgICAgInR5cGUiOiAiOiIsCisgICAgICAg
ICJ2YWx1ZSI6ICI6IiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisgICAgfSwKKyAgICB7CisgICAg
ICAgICJ0eXBlIjogInsiLAorICAgICAgICAidmFsdWUiOiAieyIsCisgICAgICAgICJ0cml2aWEi
OiAiICIKKyAgICB9LAorICAgIHsKKyAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAg
InZhbHVlIjogIlwibWVzc2FnZVwiIiwKKyAgICAgICAgInRyaXZpYSI6ICIiCisgICAgfQorXSIK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mu
d2luZG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQxNTFkNmI2NzRkZTJiOTA1ZmNlODdjMTM5ZDEzNGFl
ODVjOGQzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWwKQEAg
LTAsMCArMSwyIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3Qg
aW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KKzwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9ic2VydmVyRW5hYmxlZD10cnVlIF0g
LS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVz
cy53aW5kb3cuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTJhZjJl
MGMwNzkxOTc0NTdlMDkxZDg0ZGZkYjM3NDE3MDMzOTVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
aWRsaGFybmVzcy53aW5kb3cuanMKQEAgLTAsMCArMSwzNyBAQAorLy8gTUVUQTogc2NyaXB0PS9y
ZXNvdXJjZXMvV2ViSURMUGFyc2VyLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlcy9pZGxo
YXJuZXNzLmpzCisvLyBNRVRBOiBzY3JpcHQ9cmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMK
KworJ3VzZSBzdHJpY3QnOworCisvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL1Jlc2l6ZU9ic2Vy
dmVyLworCitpZGxfdGVzdCgKKyAgWydSZXNpemVPYnNlcnZlciddLAorICBbJ2RvbScsICdnZW9t
ZXRyeSddLAorICBhc3luYyBpZGxfYXJyYXkgPT4geworICAgIGlkbF9hcnJheS5hZGRfb2JqZWN0
cyh7CisgICAgICBSZXNpemVPYnNlcnZlcjogWydvYnNlcnZlciddLAorICAgICAgUmVzaXplT2Jz
ZXJ2ZXJFbnRyeTogWydlbnRyeSddLAorICAgIH0pOworCisgICAgY29uc3QgZGl2ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChk
aXYpOworICAgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAgICJSZXNp
emVPYnNlcnZlckVudHJ5IGNyZWF0b3IiLAorICAgICAgWworICAgICAgICB7CisgICAgICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgICAgIHNlbGYub2JzZXJ2ZXIgPSBvYnNlcnZl
cjsKKyAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUoZGl2KTsKKyAgICAgICAgICAgIGRpdi5z
dHlsZS53aWR0aCA9ICI1cHgiOworICAgICAgICAgIH0sCisgICAgICAgICAgbm90aWZ5OiBlbnRy
aWVzID0+IHsKKyAgICAgICAgICAgIHNlbGYuZW50cnkgPSBlbnRyaWVzWzBdOworICAgICAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCA1LCAidGFyZ2V0
IHdpZHRoIik7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICBdKTsKKyAgICBhd2FpdCBo
ZWxwZXIuc3RhcnQoKTsKKyAgfQorKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9ub3RpZnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MzI3ODQxZGI2Zjk2ZTg0
MTlkMzk5MjFmNTE3YmQ3NDE4MWMwMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnktZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MDogUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJlc2l6ZU9ic2VydmVyCitSZXNpemVP
YnNlcnZlciB0ZXN0cworCit0MQordDIKK3QzIGlubGluZQorCitIYXJuZXNzIEVycm9yIChGQUlM
KSwgbWVzc2FnZSA9IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVP
YnNlcnZlcgorCitGQUlMIFJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIGFzc2VydF9vd25fcHJv
cGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNlcnZlciIgbWlzc2luZworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9ub3RpZnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxMDM4
YTNjYjY4YmEwZTQ4NjQ0MTZlYTg4MWFhYzAyNDNmOGRlMWIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9ub3RpZnkuaHRtbApAQCAtMCwwICsxLDM1MSBAQAorPCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVzaXplT2JzZXJ2ZXJFbmFibGVkPXRydWUg
XSAtLT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KKyAgZGl2IHsKKyAgICBib3JkZXI6IDFweCBkb3R0ZWQgZ3JheQorICB9CisgIC50
cmFuc2Zvcm0geworICAgIHRyYW5zZm9ybTogc2NhbGUoMiwyKSByb3RhdGUoOTBkZWcpCisgIH0K
Kzwvc3R5bGU+Cis8cD5SZXNpemVPYnNlcnZlciB0ZXN0czwvcD4KKzxkaXYgaWQ9InRhcmdldDEi
IHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MQorICA8ZGl2IGlkPSJ0YXJnZXQy
IiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDIKKyAgICA8ZGl2IGlkPSJ0YXJn
ZXQzIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDMKKyAgICAgIDxzcGFuIGlk
PSJpbmxpbmUiPmlubGluZTwvc3Bhbj4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxk
aXYgaWQ9ImFic29sdXRlIiBzdHlsZT0id2lkdGg6MTAwLjVweDtoZWlnaHQ6MTAwLjVweDtwb3Np
dGlvbjphYnNvbHV0ZTt0b3A6MTAuM3B4O2xlZnQ6MTAuM3B4Ij48L2Rpdj4KKzxzY3JpcHQ+Cisn
dXNlIHN0cmljdCc7CisKK2xldCB0MSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQx
Jyk7CitsZXQgdDIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MicpOworbGV0IHQz
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDMnKTsKK2xldCBhYnMgPSBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCcjYWJzb2x1dGUnKTsKK2xldCBpbmxpbmUgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCcjaW5saW5lJyk7CisKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QwOiBub3RpZmljYXRpb24gb3JkZXJp
bmciLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh0Myk7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiNXB4IjsK
KyAgICAgICAgdDMuc3R5bGUud2lkdGggPSAiNXB4IjsKKyAgICAgICAgdDIuc3R5bGUud2lkdGgg
PSAiNXB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4g
eworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiMyByZXNpemVzIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQzLCAib3JkZXJpbmci
KTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzFdLnRhcmdldCwgdDIsICJvcmRlcmlu
ZyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMl0udGFyZ2V0LCB0MSwgIm9yZGVy
aW5nIik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAgICAgdDEuc3R5bGUu
d2lkdGggPSAiMTAwcHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisgICAg
ICAgIHQzLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICBsZXQgaGVs
cGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBkaXNwbGF5Om5vbmUgdHJp
Z2dlcnMgbm90aWZpY2F0aW9uIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVs
YXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2
ZXIgPT4geworICAgICAgICB0MS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgICAgfSwKKyAg
ICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHQxLnN0eWxlLmRp
c3BsYXkgPSAiIjsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0
KCk7Cit9CisKKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXpl
VGVzdEhlbHBlcigKKyAgICAidGVzdDI6IHJlbW92ZS9hcHBlbmRDaGlsZCB0cmlnZ2VyIG5vdGlm
aWNhdGlvbiIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVz
LCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3Rl
cAorICAgICAgfQorICAgIH0sCisgICAgeyAvLyAicmVtb3ZlQ2hpbGQgdHJpZ2dlcnMgbm90aWZp
Y2F0aW9uIgorICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdDEucGFyZW50Tm9k
ZS5yZW1vdmVDaGlsZCh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2Jz
ZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDEp
OworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAg
IH0sCisgICAgeyAvLyAiYXBwZW5kQ2hpbGQgdHJpZ2dlcnMgbm90aWZpY2F0aW9uIiwKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
dDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQxKQorICAgICAgfQorICAg
IH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworCitmdW5jdGlvbiB0ZXN0
MygpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0Mzog
ZGltZW5zaW9ucyBtYXRjaCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGgg
PSAiMjAwLjVweCI7CisgICAgICAgIHQxLnN0eWxlLmhlaWdodCA9ICIxMDBweCI7CisgICAgICAg
IHQxLnN0eWxlLnBhZGRpbmdMZWZ0ID0gIjIwcHgiOworICAgICAgICB0MS5zdHlsZS5wYWRkaW5n
VG9wID0gIjEwcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVy
KSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5sZWZ0
LDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LnRvcCwx
MCk7CisgICAgICAgIGFzc2VydF9iZXR3ZWVuX2luY2x1c2l2ZShlbnRyaWVzWzBdLmNvbnRlbnRS
ZWN0LndpZHRoLCAyMDAuNCwgMjAwLjYsICJ3aWR0aCBpcyBub3Qgcm91bmRlZCIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMDApOworICAg
ICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rp
b24gdGVzdDQoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAi
dGVzdDQ6IHRyYW5zZm9ybSBkbyBub3QgY2F1c2Ugbm90aWZpY2F0aW9ucyIsCisgIFsKKyAgICB7
CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQy
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICByZXR1cm4gdHJ1ZTsgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0Mi5jbGFzc0xpc3QuYWRk
KCJ0cmFuc2Zvcm0iKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZl
cikgPT4geworICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJ0cmFuc2Zvcm0gbXVzdCBub3QgdHJp
Z2dlciBub3RpZmljYXRpb25zIik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4gewor
ICAgICAgICB0Mi5jbGFzc0xpc3QucmVtb3ZlKCJ0cmFuc2Zvcm0iKTsKKyAgICAgIH0KKyAgICB9
CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q1KCkg
eworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q1OiBtb3Zp
bmcgYW4gZWxlbWVudCBkb2VzIG5vdCB0cmlnZ2VyIG5vdGlmaWNhdGlvbnMiLAorICBbCisgICAg
eworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShh
YnMpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIHJldHVybiB0cnVlOyAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGFicy5zdHlsZS50b3Ag
PSAiMjAuMzNweCI7CisgICAgICAgIGFicy5zdHlsZS5sZWZ0ID0gIjIwLjMzcHgiOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF91bnJlYWNoZWQoIm1vdmVtZW50IHNob3VsZCBub3QgY2F1c2UgcmVzaXplIG5vdGlmaWNhdGlv
bnMiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7CisgICAgICB9CisgICAgfQor
ICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NigpIHsK
KyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0NjogaW5saW5l
IGVsZW1lbnQgZG9lcyBub3Qgbm90aWZ5IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoaW5saW5lKTsKKyAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjY2cHgiOworICAg
ICAgICBpbmxpbmUuc3R5bGUud2lkdGggPSAiNjZweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
Lmxlbmd0aCwgMSwgImlubGluZSBlbGVtZW50cyBtdXN0IG5vdCB0cmlnZ2VyIG5vdGlmaWNhdGlv
bnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDEsICJpbmxp
bmUgZWxlbWVudHMgbXVzdCBub3QgdHJpZ2dlciBub3RpZmljYXRpb25zIik7CisgICAgICAgIHJl
dHVybiB0cnVlOyAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsgLy8g
ImlubGluZSBlbGVtZW50IHRoYXQgYmVjb21lcyBibG9jayBzaG91bGQgbm90aWZ5IiwKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIGlubGluZS5zdHlsZS5kaXNwbGF5ID0gImJs
b2NrIjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCBpbmxpbmUpOworICAgICAg
fQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24g
dGVzdDcoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVz
dDc6IHVub2JzZXJ2ZSBpbnNpZGUgbm90aWZ5IGNhbGxiYWNrIiwKKyAgWworICAgIHsKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI3NzdweCI7Cisg
ICAgICAgIHQyLnN0eWxlLndpZHRoID0gIjc3N3B4IjsKKyAgICAgICAgb2JzZXJ2ZXIudW5vYnNl
cnZlKHQxKTsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAg
IH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIm9ubHkgdDIgaXMgb2JzZXJ2ZWQiKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDIsICJvbmx5IHQyIGlzIG9ic2VydmVk
Iik7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQor
CitmdW5jdGlvbiB0ZXN0OCgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVy
KAorICAgICJ0ZXN0ODogb2JzZXJ2ZSBpbnNpZGUgbm90aWZ5IGNhbGxiYWNrIiwKKyAgWworICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUo
dDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICB0Mi5zdHlsZS53aWR0aCA9ICI4
ODhweCI7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9
CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAg
ICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllcy5sZW5ndGgsIDEsICJvbmx5IHQyIGlzIG9ic2VydmVkIik7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQyLCAib25seSB0MiBpcyBvYnNlcnZlZCIp
OworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKwor
ZnVuY3Rpb24gdGVzdDkoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigK
KyAgICAidGVzdDk6IGRpc2Nvbm5lY3QgaW5zaWRlIG5vdGlmeSBjYWxsYmFjayIsCisgIFsKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI5OTlweCI7CisgICAgICAgIG9ic2VydmVyLmRpc2Nv
bm5lY3QoKTsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAg
IH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X3Vu
cmVhY2hlZCgidGhlcmUgc2hvdWxkIGJlIG5vIG5vdGlmaWNhdGlvbnMgYWZ0ZXIgZGlzY29ubmVj
dCIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6ICgpID0+IHsKKyAgICAgIH0KKyAgICB9Cisg
IF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxMCgpIHsK
KyAgdmFyIHBhcmVudCA9IHQxLnBhcmVudE5vZGU7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXpl
VGVzdEhlbHBlcigKKyAgICAidGVzdDEwOiBlbGVtZW50IG5vdGlmaWVzIHdoZW4gcGFyZW50IHJl
bW92ZWQiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAg
b2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAK
KyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIHQxLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0
Myk7CisgICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZCh0MSk7CisgICAgICB9CisgICAgfQorICBd
KTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitsZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4g
eworICBhc3NlcnRfb3duX3Byb3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CisgIGd1
YXJkID0gYXN5bmNfdGVzdCgnZ3VhcmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRl
ZCIpCisKK3Rlc3QwKCkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKKyAgLnRo
ZW4oKCkgPT4geyByZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVz
dDMoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDQoKTsgfSkKKyAgLnRoZW4oKCkg
PT4geyByZXR1cm4gdGVzdDUoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDYoKTsg
fSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDcoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBy
ZXR1cm4gdGVzdDgoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDkoKTsgfSkKKyAg
LnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEwKCk7IH0pCisgIC50aGVuKCgpID0+IHsgZ3VhcmQu
ZG9uZSgpOyB9KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL29ic2VydmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1MDAzZTA2ZDM1Mzc1
MTBhODY1OWM2YjRiNDM0Y2Q3MDE4MjM3ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZl
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MDog
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJlc2l6ZU9ic2VydmVyCitSZXNp
emVPYnNlcnZlciB0ZXN0cworCit0MQordDIKKyAKKworRkFJTCBSZXNpemVPYnNlcnZlciBpbXBs
ZW1lbnRlZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2Jz
ZXJ2ZXIiIG1pc3NpbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmZjNDU5MmQ0NTk0NmMxOWJmYTgyZTdhNmQ3MGE4ODJkMDBiMjll
OGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwKQEAgLTAsMCArMSwyMDcgQEAK
KzwhZG9jdHlwZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJl
c2l6ZU9ic2VydmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVzaXpl
VGVzdEhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8cD5SZXNpemVPYnNlcnZlciB0ZXN0czwvcD4KKzxk
aXYgaWQ9InRhcmdldDEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MTwvZGl2
PgorPGRpdiBpZD0idGFyZ2V0MiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQy
PC9kaXY+Cis8aW1nIGlkPSJ0YXJnZXQzIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4
OyI+Cis8aWZyYW1lIHNyYz0iLi9yZXNvdXJjZXMvaWZyYW1lLmh0bWwiIHdpZHRoPSIzMDBweCIg
aGVpZ2h0PSIxMDBweCIgc3R5bGU9ImRpc3BsYXk6YmxvY2siPjwvaWZyYW1lPgorPHNjcmlwdD4K
Kyd1c2Ugc3RyaWN0JzsKKworbGV0IHQxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3Rhcmdl
dDEnKTsKK2xldCB0MiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQyJyk7CisKKy8v
IGFsbG93IHVuY2F1Z2h0IGV4Y2VwdGlvbiBiZWNhdXNlIFJlc2l6ZU9ic2VydmVyIHBvc3RzIGV4
Y2VwdGlvbnMKKy8vIHRvIHdpbmRvdyBlcnJvciBoYW5kbGVyIHdoZW4gbGltaXQgaXMgZXhjZWVk
ZWQuCitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlfSk7CisKK2Z1bmN0aW9u
IHRlc3QwKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRl
c3QwOiBzaW1wbGUgb2JzZXJ2YXRpb24iLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxl
LndpZHRoID0gIjVweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEgcGVuZGluZyBub3RpZmlj
YXRpb24iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDEsICJ0
YXJnZXQgaXMgdDEiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRS
ZWN0LndpZHRoLCA1LCAidGFyZ2V0IHdpZHRoIik7CisgICAgICB9CisgICAgfQorICBdKTsKKyAg
cmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MSgpIHsKKyAgbGV0IGhl
bHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogbXVsdGlwbGUgb2JzZXJ2
YXRpb24gb24gc2FtZSBlbGVtZW50IHRyaWdnZXIgb25seSBvbmUiLAorICBbCisgICAgeworICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICIx
MHB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBwZW5kaW5nIG5vdGlmaWNhdGlvbiIpOwor
ICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVu
Y3Rpb24gdGVzdDIoKSB7CisgIHRlc3QoKCkgPT4geworICAgICAgYXNzZXJ0X3Rocm93cyh7bmFt
ZTogIlR5cGVFcnJvciJ9LCBfPT4geworICAgICAgICBsZXQgcm8gPSBuZXcgUmVzaXplT2JzZXJ2
ZXIoKCkgPT4ge30pOworICAgICAgICByby5vYnNlcnZlKHt9KTsKKyAgICAgIH0pOworICAgIH0s
CisgICAgInRlc3QyOiB0aHJvdyBleGNlcHRpb24gd2hlbiBvYnNlcnZpbmcgbm9uLWVsZW1lbnQi
CisgICk7CisgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTsKK30KKworZnVuY3Rpb24gdGVzdDMo
KSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDM6IGRp
c2Nvbm5lY3Qgc3RvcHMgYWxsIG5vdGlmaWNhdGlvbnMiLCBbCisgICAgeworICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIG9i
c2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CisgICAg
ICAgIHQxLnN0eWxlLndpZHRoID0gIjMwcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50
cmllcyA9PiB7CisgICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJubyBlbnRyaWVzIHNob3VsZCBi
ZSBvYnNlcnZlZCIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6ICgpID0+IHsKKyAgICAgICAg
Ly8gZXhwZWN0ZWQKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0
KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q0KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRl
c3RIZWxwZXIoCisgICAgInRlc3Q0OiB1bm9ic2VydmUgdGFyZ2V0IHN0b3BzIG5vdGlmaWNhdGlv
bnMsIHVub2JzZXJ2ZSBub24tb2JzZXJ2ZWQgZG9lcyBub3RoaW5nIiwgWworICAgIHsKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKHQx
KTsKKyAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGRvY3VtZW50LmJvZHkpOworICAgICAgICB0
MS5zdHlsZS53aWR0aCA9ICI0MHB4IjsKKyAgICAgICAgdDIuc3R5bGUud2lkdGggPSAiNDBweCI7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIm9ubHkgdDIiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLnRhcmdldCwgdDIsICJ0MiB3YXMgb2JzZXJ2ZWQiKTsKKyAgICAgIH0KKyAg
ICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q1
KCkgeworICBsZXQgdDMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MycpOworICB2
YXIgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoInRlc3Q1OiBvYnNlcnZlIGltZyIsWwor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2Vy
dmUodDMpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICB9Cisg
ICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0My5zdHls
ZS53aWR0aCA9ICIxMDAuNXB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4g
eworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAxMDAuNSk7CisgICAgICB9
CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0
ZXN0NigpIHsKKyAgbGV0IHJlc29sdmVQcm9taXNlOworICBsZXQgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKChyZXNvbHZlKSA9PiB7CisgICAgcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlOworICB9KTsK
KyAgbGV0IHRlc3QgPSBhc3luY190ZXN0KCd0ZXN0NjogaWZyYW1lIG5vdGlmaWNhdGlvbnMnKTsK
KyAgbGV0IHRlc3RSZXF1ZXN0ZWQgPSBmYWxzZTsKKyAgbGV0IGlmcmFtZSA9IGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpOworICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2Fn
ZScsIGV2ZW50ID0+IHsKKyAgICBzd2l0Y2goZXZlbnQuZGF0YSkgeworICAgIGNhc2UgJ3JlYWR5
VG9UZXN0JzoKKyAgICAgIGlmICghdGVzdFJlcXVlc3RlZCkgeworICAgICAgICBpZnJhbWUuY29u
dGVudFdpbmRvdy5wb3N0TWVzc2FnZSgnc3RhcnRUZXN0JywgJyonKTsKKyAgICAgICAgdGVzdFJl
cXVlc3RlZCA9IHRydWU7CisgICAgICB9CisgICAgYnJlYWs7CisgICAgY2FzZSAnc3VjY2Vzcyc6
CisgICAgY2FzZSAnZmFpbCc6CisgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgp
ID0+IHsKKyAgICAgICAgdGVzdC5zdGVwKCAoKSA9PiB7CisgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhldmVudC5kYXRhLCAnc3VjY2VzcycpOworICAgICAgICAgIHRlc3QuZG9uZSgpOworICAgICAg
ICAgIHJlc29sdmVQcm9taXNlKCk7CisgICAgICAgIH0pOworICAgICAgfSk7CisgICAgYnJlYWs7
CisgICAgfQorICB9LCBmYWxzZSk7CisgIHJldHVybiBwcm9taXNlOworfQorCitmdW5jdGlvbiB0
ZXN0NygpIHsKKyAgbGV0IGhhcm5lc3NUZXN0ID0gYXN5bmNfdGVzdCgidGVzdDc6IGNhbGxiYWNr
LnRoaXMiKTsKKyAgbGV0IHJlc29sdmVQcm9taXNlOworICBsZXQgcm8gPSBuZXcgUmVzaXplT2Jz
ZXJ2ZXIoIGZ1bmN0aW9uKGVudHJpZXMsIG9icykgIHsKKyAgICBsZXQgY2FsbGJhY2tUaGlzID0g
dGhpczsKKyAgICByZXNvbHZlUHJvbWlzZSgpOworICAgIGhhcm5lc3NUZXN0LnN0ZXAoKCkgPT4g
eworICAgICAgYXNzZXJ0X2VxdWFscyhjYWxsYmFja1RoaXMsIHJvLCAiY2FsbGJhY2sudGhpcyBp
cyBSZXNpemVPYnNlcnZlciIpOworICAgICAgYXNzZXJ0X2VxdWFscyhvYnMsIHJvLCAiMm5kIGFy
Z3VtZW50IGlzIFJlc2l6ZU9ic2VydmVyIik7CisgICAgICByby5kaXNjb25uZWN0KCk7CisgICAg
ICAvLyBldmVyeSByZWZlcmVuY2UgdG8gUk8gbXVzdCBiZSBudWxsIGJlZm9yZSB0ZXN0IGNvbXBs
ZXRlcworICAgICAgLy8gdG8gYXZvaWQgdHJpZ2dlcmluZyB0ZXN0IGxlYWstZGV0ZWN0aW9uCisg
ICAgICBybyA9IG51bGw7CisgICAgICBjYWxsYmFja1RoaXMgPSBudWxsOworICAgICAgb2JzID0g
bnVsbDsKKyAgICAgIGhhcm5lc3NUZXN0LmRvbmUoKTsKKyAgICAgfSk7CisgICAgfQorICApOwor
ICByby5vYnNlcnZlKHQxKTsKKworICByZXR1cm4gbmV3IFByb21pc2UoIChyZXNvbHZlLCByZWpl
Y3QpID0+IHsKKyAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7CisgIH0pOworfQorCitsZXQg
Z3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3NlcnRfb3duX3Byb3BlcnR5KHdpbmRvdywgIlJlc2l6
ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5bmNfdGVzdCgnZ3VhcmQnKTsKK30sICJSZXNpemVP
YnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rlc3QwKCkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4g
dGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDIoKTsgfSkKKyAgLnRoZW4o
KCkgPT4geyByZXR1cm4gdGVzdDMoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDQo
KTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDUoKTsgfSkKKyAgLnRoZW4oKCkgPT4g
eyByZXR1cm4gdGVzdDYoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDcoKTsgfSkK
KyAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOworCis8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL3Jlc291cmNlcy9pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9pZnJhbWUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41MTgzMTdiNTIwYjY4Y2JmOTJiMDllNjdhNTdmMWVjZDI3MjQzNzQ3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sCkBAIC0wLDAgKzEsMzggQEAK
KzwhZG9jdHlwZSBodG1sPgorPGhlYWQ+CisgIDxzY3JpcHQgc3JjPSIuL3Jlc2l6ZVRlc3RIZWxw
ZXIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPHA+aWZyYW1lIHRlc3Q8L3A+Cis8ZGl2IGlkPSJp
dGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxPC9kaXY+Cis8c2Ny
aXB0PgorJ3VzZSBzdHJpY3QnOworbGV0IHQxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2l0
YXJnZXQxJyk7CitmdW5jdGlvbiB0ZXN0MCgpIHsKKyAgbGV0IHRpbWVvdXRJZCA9IHdpbmRvdy5z
ZXRUaW1lb3V0KCAoKSA9PiB7CisgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgnZmFpbCcs
ICcqJyk7CisgIH0sIFJlc2l6ZVRlc3RIZWxwZXIuVElNRU9VVCk7CisgIGxldCBybyA9IG5ldyBS
ZXNpemVPYnNlcnZlcihmdW5jdGlvbihlbnRyaWVzKSB7CisgICAgd2luZG93LmNsZWFyVGltZW91
dCh0aW1lb3V0SWQpOworICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoJ3N1Y2Nlc3MnLCAn
KicpOworICB9KTsKKyAgcm8ub2JzZXJ2ZSh0MSk7Cit9CitsZXQgdGVzdFN0YXJ0ZWQgPSBmYWxz
ZTsKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24oZXYpIHsKKyAg
ICBzd2l0Y2goZXYuZGF0YSkgeworICAgICAgICBjYXNlICdzdGFydFRlc3QnOgorICAgICAgICAg
IHRlc3RTdGFydGVkID0gdHJ1ZTsKKyAgICAgICAgICB0ZXN0MCgpOworICAgICAgICBicmVhazsK
KyAgICB9Cit9KTsKKy8vIEhvdyBkb2VzIHBhcmVudCBrbm93IHdlJ3ZlIGxvYWRlZCBwcm9ibGVt
IGlzIHNvbHZlZCBieQorLy8gYnJvYWRjYXN0aW5nIHJlYWR5VG9UZXN0IG1lc3NhZ2UgcmVwZWF0
ZWRseSB1bnRpbCB0ZXN0IHN0YXJ0cy4KK2Z1bmN0aW9uIGJyb2FkY2FzdFJlYWR5KCkgeworICBp
ZiAoIXRlc3RTdGFydGVkKSB7CisgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgncmVhZHlU
b1Rlc3QnLCAnKicpOworICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYnJvYWRjYXN0
UmVhZHkpOworICB9Cit9Citicm9hZGNhc3RSZWFkeSgpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVU
ZXN0SGVscGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwYzY4MWJkOTMzMzQ1NTI5MTY3MTFiYmJlMTY3YmM0
YmQ1ODg0NzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBl
ci5qcwpAQCAtMCwwICsxLDE0OCBAQAorJ3VzZSBzdHJpY3QnOworCisvKioKKyAgUmVzaXplVGVz
dEhlbHBlciBpcyBhIGZyYW1ld29yayB0byB0ZXN0IFJlc2l6ZU9ic2VydmVyCisgIG5vdGlmaWNh
dGlvbnMuIFVzZSBpdCB0byBtYWtlIGFzc2VydGlvbnMgYWJvdXQgUmVzaXplT2JzZXJ2ZXJFbnRy
aWVzLgorICBUaGlzIGZyYW1ld29yayBpcyBuZWVkZWQgYmVjYXVzZSBSZXNpemVPYnNlcnZhdGlv
bnMgYXJlCisgIGRlbGl2ZXJlZCBhc3luY2hyb25vdXNseSBpbnNpZGUgdGhlIGV2ZW50IGxvb3Au
CisKKyAgRmVhdHVyZXM6CisgIC0gY2FuIHF1ZXVlIG11bHRpcGxlIG5vdGlmaWNhdGlvbiBzdGVw
cyBpbiBhIHRlc3QKKyAgLSBoYW5kbGVzIHRpbWVvdXRzCisgIC0gcmV0dXJucyBQcm9taXNlIHRo
YXQgaXMgZnVsbGZpbGxlZCB3aGVuIHRlc3QgY29tcGxldGVzLgorICAgIFVzZSB0byBjaGFpbiB0
ZXN0cyAoc2luY2UgcGFyYWxsZWwgYXN5bmMgUmVzaXplT2JzZXJ2ZXIgdGVzdHMKKyAgICB3b3Vs
ZCBjb25mbGljdCBpZiByZXVzaW5nIHNhbWUgRE9NIGVsZW1lbnRzKS4KKworICBVc2FnZToKKwor
ICBjcmVhdGUgUmVzaXplVGVzdEhlbHBlciBmb3IgZXZlcnkgdGVzdC4KKyAgTWFrZSBhc3NlcnRp
b25zIGluc2lkZSBub3RpZnksIHRpbWVvdXQgY2FsbGJhY2tzLgorICBTdGFydCB0ZXN0cyB3aXRo
IGhlbHBlci5zdGFydCgpCisgIENoYWluIHRlc3RzIHdpdGggUHJvbWlzZXMuCisgIENvdW50cyBh
bmltYXRpb24gZnJhbWVzLCBzZWUgc3RhcnRDb3VudGluZ1JhZgorKi8KKworLyoKKyAgQHBhcmFt
IG5hbWU6IHRlc3QgbmFtZQorICBAcGFyYW0gc3RlcHM6CisgIHsKKyAgICBzZXR1cDogZnVuY3Rp
b24oUmVzaXplT2JzZXJ2ZXIpIHsKKyAgICAgIC8vIGNhbGxlZCBhdCB0aGUgYmVnaW5uaW5nIG9m
IHRoZSB0ZXN0IHN0ZXAKKyAgICAgIC8vIHlvdXIgb2JzZXJ2ZS9yZXNpemUgY29kZSBnb2VzIGhl
cmUKKyAgICB9LAorICAgIG5vdGlmeTogZnVuY3Rpb24oZW50cmllcywgb2JzZXJ2ZXIpIHsKKyAg
ICAgIC8vIFJlc2l6ZU9ic2VydmVyIGNhbGxiYWNrLgorICAgICAgLy8gTWFrZSBhc3NlcnRpb25z
IGhlcmUuCisgICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiBuZXh0IHN0ZXAgc2hvdWxkIHN0YXJ0IG9u
IHRoZSBuZXh0IGV2ZW50IGxvb3AuCisgICAgfSwKKyAgICB0aW1lb3V0OiBmdW5jdGlvbigpIHsK
KyAgICAgIC8vIERlZmluZSB0aGlzIGlmIHlvdXIgdGVzdCBleHBlY3RzIHRvIHRpbWUgb3V0Lgor
ICAgICAgLy8gSWYgdW5kZWZpbmVkLCB0aW1lb3V0IGlzIGFzc2VydF91bnJlYWNoZWQuCisgICAg
fQorICB9CisqLworZnVuY3Rpb24gUmVzaXplVGVzdEhlbHBlcihuYW1lLCBzdGVwcykKK3sKKyAg
ICB0aGlzLl9uYW1lID0gbmFtZTsKKyAgICB0aGlzLl9zdGVwcyA9IHN0ZXBzIHx8IFtdOworICAg
IHRoaXMuX3N0ZXBJZHggPSAtMTsKKyAgICB0aGlzLl9oYXJuZXNzVGVzdCA9IG51bGw7CisgICAg
dGhpcy5fb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5faGFuZGxlTm90aWZpY2F0
aW9uLmJpbmQodGhpcykpOworICAgIHRoaXMuX3RpbWVvdXRCaW5kID0gdGhpcy5faGFuZGxlVGlt
ZW91dC5iaW5kKHRoaXMpOworICAgIHRoaXMuX25leHRTdGVwQmluZCA9IHRoaXMuX25leHRTdGVw
LmJpbmQodGhpcyk7Cit9CisKK1Jlc2l6ZVRlc3RIZWxwZXIuVElNRU9VVCA9IDEwMDsKKworUmVz
aXplVGVzdEhlbHBlci5wcm90b3R5cGUgPSB7CisgIGdldCBfY3VycmVudFN0ZXAoKSB7CisgICAg
cmV0dXJuIHRoaXMuX3N0ZXBzW3RoaXMuX3N0ZXBJZHhdOworICB9LAorCisgIF9uZXh0U3RlcDog
ZnVuY3Rpb24oKSB7CisgICAgaWYgKCsrdGhpcy5fc3RlcElkeCA9PSB0aGlzLl9zdGVwcy5sZW5n
dGgpCisgICAgICByZXR1cm4gdGhpcy5fZG9uZSgpOworICAgIHRoaXMuX3RpbWVvdXRJZCA9IHRo
aXMuX2hhcm5lc3NUZXN0LnN0ZXBfdGltZW91dCgKKyAgICAgIHRoaXMuX3RpbWVvdXRCaW5kLCBS
ZXNpemVUZXN0SGVscGVyLlRJTUVPVVQpOworICAgIHRyeSB7CisgICAgICB0aGlzLl9zdGVwc1t0
aGlzLl9zdGVwSWR4XS5zZXR1cCh0aGlzLl9vYnNlcnZlcik7CisgICAgfQorICAgIGNhdGNoKGVy
cikgeworICAgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7CisgICAgICAgIGFzc2Vy
dF91bnJlYWNoZWQoIkNhdWdodCBhIHRocm93LCBwb3NzaWJsZSBzeW50YXggZXJyb3IiKTsKKyAg
ICAgIH0pOworICAgIH0KKyAgfSwKKworICBfaGFuZGxlTm90aWZpY2F0aW9uOiBmdW5jdGlvbihl
bnRyaWVzKSB7CisgICAgaWYgKHRoaXMuX3RpbWVvdXRJZCkgeworICAgICAgd2luZG93LmNsZWFy
VGltZW91dCh0aGlzLl90aW1lb3V0SWQpOworICAgICAgZGVsZXRlIHRoaXMuX3RpbWVvdXRJZDsK
KyAgICB9CisgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7CisgICAgICBsZXQgcmFm
RGVsYXkgPSB0aGlzLl9jdXJyZW50U3RlcC5ub3RpZnkoZW50cmllcywgdGhpcy5fb2JzZXJ2ZXIp
OworICAgICAgaWYgKHJhZkRlbGF5KQorICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZy
YW1lKHRoaXMuX25leHRTdGVwQmluZCk7CisgICAgICBlbHNlCisgICAgICAgIHRoaXMuX25leHRT
dGVwKCk7CisgICAgfSk7CisgIH0sCisKKyAgX2hhbmRsZVRpbWVvdXQ6IGZ1bmN0aW9uKCkgewor
ICAgIGRlbGV0ZSB0aGlzLl90aW1lb3V0SWQ7CisgICAgdGhpcy5faGFybmVzc1Rlc3Quc3RlcCgo
KSA9PiB7CisgICAgICBpZiAodGhpcy5fY3VycmVudFN0ZXAudGltZW91dCkgeworICAgICAgICB0
aGlzLl9jdXJyZW50U3RlcC50aW1lb3V0KCk7CisgICAgICB9CisgICAgICBlbHNlIHsKKyAgICAg
ICAgYXNzZXJ0X3VucmVhY2hlZCgiVGltZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlmaWNhdGlvbi4g
KCIgKyBSZXNpemVUZXN0SGVscGVyLlRJTUVPVVQgKyAibXMpIik7CisgICAgICB9CisgICAgICB0
aGlzLl9uZXh0U3RlcCgpOworICAgIH0pOworICB9LAorCisgIF9kb25lOiBmdW5jdGlvbigpIHsK
KyAgICB0aGlzLl9vYnNlcnZlci5kaXNjb25uZWN0KCk7CisgICAgZGVsZXRlIHRoaXMuX29ic2Vy
dmVyOworICAgIHRoaXMuX2hhcm5lc3NUZXN0LmRvbmUoKTsKKyAgICBpZiAodGhpcy5fcmFmQ291
bnRSZXF1ZXN0KSB7CisgICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFm
Q291bnRSZXF1ZXN0KTsKKyAgICAgIGRlbGV0ZSB0aGlzLl9yYWZDb3VudFJlcXVlc3Q7CisgICAg
fQorICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geyB0aGlzLl9yZXNvbHZl
UHJvbWlzZSgpOyB9KTsKKyAgfSwKKworICBzdGFydDogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5f
aGFybmVzc1Rlc3QgPSBhc3luY190ZXN0KHRoaXMuX25hbWUpOworICAgIHRoaXMuX2hhcm5lc3NU
ZXN0LnN0ZXAoKCkgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyh0aGlzLl9zdGVwSWR4LCAtMSwg
InN0YXJ0IGNhbiBvbmx5IGJlIGNhbGxlZCBvbmNlIik7CisgICAgICB0aGlzLl9uZXh0U3RlcCgp
OworICAgIH0pOworICAgIHJldHVybiBuZXcgUHJvbWlzZSggKHJlc29sdmUsIHJlamVjdCkgPT4g
eworICAgICAgdGhpcy5fcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlOworICAgICAgdGhpcy5fcmVq
ZWN0UHJvbWlzZSA9IHJlamVjdDsKKyAgICB9KTsKKyAgfSwKKworICBnZXQgcmFmQ291bnQoKSB7
CisgICAgaWYgKCF0aGlzLl9yYWZDb3VudFJlcXVlc3QpCisgICAgICB0aHJvdyAickFGIGNvdW50
IGlzIG5vdCBhY3RpdmUiOworICAgIHJldHVybiB0aGlzLl9yYWZDb3VudDsKKyAgfSwKKworICBf
aW5jcmVtZW50UmFmOiBmdW5jdGlvbigpIHsKKyAgICBpZiAodGhpcy5fcmFmQ291bnRSZXF1ZXN0
KSB7CisgICAgICB0aGlzLl9yYWZDb3VudCsrOworICAgICAgdGhpcy5fcmFmQ291bnRSZXF1ZXN0
ID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLl9pbmNyZW1lbnRSYWZCaW5kKTsK
KyAgICB9CisgIH0sCisKKyAgc3RhcnRDb3VudGluZ1JhZjogZnVuY3Rpb24oKSB7CisgICAgaWYg
KHRoaXMuX3JhZkNvdW50UmVxdWVzdCkKKyAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFt
ZSh0aGlzLl9yYWZDb3VudFJlcXVlc3QpOworICAgIGlmICghdGhpcy5faW5jcmVtZW50UmFmQmlu
ZCkKKyAgICAgIHRoaXMuX2luY3JlbWVudFJhZkJpbmQgPSB0aGlzLl9pbmNyZW1lbnRSYWYuYmlu
ZCh0aGlzKTsKKyAgICB0aGlzLl9yYWZDb3VudCA9IDA7CisgICAgdGhpcy5fcmFmQ291bnRSZXF1
ZXN0ID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLl9pbmNyZW1lbnRSYWZCaW5k
KTsKKyAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
cmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmMzdjZWE1ZmMwNjRhZGE3OWFj
ZWMwZGYzYzM4ZjE2ZmFjMDEzODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNj
LWltcG9ydC5sb2cKQEAgLTAsMCArMSwxOCBAQAorVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCitEbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KK0luc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3Jt
LXRlc3RzL3dwdAorCitUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAorCitEbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgorTm9uZQorUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6CitO
b25lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xpc3Qgb2YgZmlsZXM6CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFt
ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L3N2Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjZjgz
NmU1ZjIwYWFhMzhiMTdmMzBkNGNhMmRhYWI0ZWNhMDMzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9zdmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDUwOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIK
K1Jlc2l6ZU9ic2VydmVyIHN2ZyB0ZXN0cworCitIZXJlIGlzIGEgcGFyYWdyYXBoIHRoYXQgcmVx
dWlyZXMgd29yZCB3cmFwCisKK3N2ZyB0ZXh0IHRhZworCitGQUlMIFJlc2l6ZU9ic2VydmVyIGlt
cGxlbWVudGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVP
YnNlcnZlciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ5ZTVjMTk1M2VjMjc4ZTkyMTc2OWRjOTI0MjBjNzljZjdmMDAzNDQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbApAQCAtMCwwICsxLDMzMyBAQAorPCFkb2N0eXBl
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVzaXplT2JzZXJ2
ZXJFbmFibGVkPXRydWUgXSAtLT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVy
LmpzIj48L3NjcmlwdD4KKzxwPlJlc2l6ZU9ic2VydmVyIHN2ZyB0ZXN0czwvcD4KKzxzdmcgaGVp
Z2h0PSI0MzAiIHdpZHRoPSI1MDAiID4KKyAgPGNpcmNsZSBjeD0iMTAiIGN5PSIxMCIgcj0iNSIg
c3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJva2Utd2lkdGg6MSIgLz4KKyAgPGVs
bGlwc2UgY3g9IjEwIiBjeT0iMzAiIHJ4PSI1IiByeT0iNSIgc3R5bGU9ImZpbGw6b3JhbmdlO3N0
cm9rZTpibGFjaztzdHJva2Utd2lkdGg6MSIvPgorICA8Zm9yZWlnbk9iamVjdCBjeT0iNTAiIHdp
ZHRoPSIxMDAiIGhlaWdodD0iMjAiPgorICAgIDxib2R5PgorICAgICAgPHA+SGVyZSBpcyBhIHBh
cmFncmFwaCB0aGF0IHJlcXVpcmVzIHdvcmQgd3JhcDwvcD4KKyAgICA8L2JvZHk+CisgIDwvZm9y
ZWlnbk9iamVjdD4KKyAgPGltYWdlIHhsaW5rOmhyZWY9IiIgeD0iMCIgeT0iMTAwIiBoZWlnaHQ9
IjMwIiB3aWR0aD0iMTAwIiAvPgorICA8bGluZSB4MT0iMCIgeTE9IjUwIiB4Mj0iMjAiIHkyPSI3
MCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIi8+CisgIDxwYXRoIGQ9Ik0gMCAxMDAg
TCAxMDAgMTAwIEwgNTAgMTUwIHoiCisgICAgICAgIHN0eWxlPSJmaWxsOm9yYW5nZTtzdHJva2U6
YmxhY2s7c3Ryb2tlLXdpZHRoOjEiIC8+CisgIDxwb2x5Z29uIHBvaW50cz0iMCwyMDAgMTAwLDIw
MCA1MCwyNTAiIHN0eWxlPSJmaWxsOm9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEi
IC8+CisgIDxwb2x5bGluZSBwb2ludHM9IjAsMzAwIDEwMCwzMDAgNTAsMzUwIiBzdHlsZT0iZmls
bDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIi8+CisgIDxyZWN0IHg9IjAiIHk9
IjM4MCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiBzdHlsZT0iZmlsbDpvcmFuZ2U7IHN0cm9rZTpi
bGFjazsgc3Ryb2tlLXdpZHRoOjEiIC8+CisgIDx0ZXh0IHg9IjAiIHk9IjQwMCIgZm9udC1zaXpl
PSIyMCI+c3ZnIHRleHQgdGFnPC90ZXh0PgorPC9zdmc+Cis8c2NyaXB0PgorJ3VzZSBzdHJpY3Qn
OworCitzZXR1cCh7YWxsb3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlfSk7CisKK2Z1bmN0aW9u
IHRlc3QwKCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignY2lyY2xl
Jyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IG9i
c2VydmUgc3ZnOmNpcmNsZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBE
ZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3InLCAxMCk7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0
dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MSgpIHsKKyAgbGV0IHRhcmdl
dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2VsbGlwc2UnKTsKKyAgbGV0IGhlbHBlciA9IG5l
dyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogb2JzZXJ2ZSBzdmc6ZWxsaXBzZSIsCisg
IFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5v
YnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAg
IH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRh
cmdldC5zZXRBdHRyaWJ1dGUoJ3J4JywgMTApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVu
dHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lk
dGgsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lmhl
aWdodCwgMTApOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQo
KTsKK30KKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdmb3JlaWduT2JqZWN0Jyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVz
dEhlbHBlcigKKyAgICAidGVzdDI6IG9ic2VydmUgc3ZnOmZvcmVpZ25PYmplY3QiLAorICBbCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9
PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9Cisg
ICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0YXJnZXQu
c2V0QXR0cmlidXRlKCd3aWR0aCcsIDIwMCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0
aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0
aCwgMjAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0Lmhl
aWdodCwgMjApOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQo
KTsKK30KKworZnVuY3Rpb24gdGVzdDMoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCdpbWFnZScpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIo
CisgICAgInRlc3QzOiBvYnNlcnZlIHN2ZzppbWFnZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAg
ICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0
dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAg
ICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ2hl
aWdodCcsIDQwKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikg
PT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAxMDApOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCA0MCk7CisgICAg
ICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlv
biB0ZXN0NCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2xpbmUn
KTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0NDogb2Jz
ZXJ2ZSBzdmc6bGluZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewor
ICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxh
eSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3kyJywgODApOworICAgICAgfSwK
KyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uY29udGVudFJlY3Qud2lkdGgsIDIwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgMzApOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJl
dHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDUoKSB7CisgIGxldCB0YXJn
ZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdwYXRoJyk7CisgIGxldCBoZWxwZXIgPSBuZXcg
UmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDU6IG9ic2VydmUgc3ZnOnBhdGgiLAorICBbCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9
PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9Cisg
ICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0YXJnZXQu
c2V0QXR0cmlidXRlKCdkJywgIk0gMCAxMDAgTCAxMDAgMTAwIEwgNTAgMTYwIHoiKTsKKyAgICAg
IH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAxMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCA2MCk7CisgICAgICB9CisgICAgfQorICBdKTsK
KyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NigpIHsKKyAgbGV0
IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3BvbHlnb24nKTsKKyAgbGV0IGhlbHBl
ciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0Njogb2JzZXJ2ZSBzdmc6cGF0aCIs
CisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZl
ci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2Jz
ZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAg
ICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3BvaW50cycsICIwLDIwMCAxMDAsMjAwIDUwLDI2MCIpOwor
ICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYwKTsKKyAgICAgIH0KKyAgICB9Cisg
IF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q3KCkgewor
ICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncG9seWxpbmUnKTsKKyAgbGV0
IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0Nzogb2JzZXJ2ZSBzdmc6
cG9seWxpbmUiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVu
dHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4
dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICB0YXJnZXQuc2V0QXR0cmlidXRlKCdwb2ludHMnLCAiMCwzMDAgMTAwLDMwMCA1
MCwzNjAiKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4g
eworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAxMDApOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCA2MCk7CisgICAgICB9
CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0
ZXN0OCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3JlY3QnKTsK
KyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0ODogb2JzZXJ2
ZSBzdmc6cmVjdCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBu
ZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgIjIwIik7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC53aWR0aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAg
cmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0OSgpIHsKKyAgbGV0IHRh
cmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RleHQnKTsKKyAgbGV0IGhlbHBlciA9IG5l
dyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0OTogb2JzZXJ2ZSBzdmc6dGV4dCIsCisgIFsK
KyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNl
cnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0K
KyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdl
dC5zZXRBdHRyaWJ1dGUoJ2ZvbnQtc2l6ZScsICIyNSIpOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3Rh
cnQoKTsKK30KKworCitmdW5jdGlvbiB0ZXN0MTAoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCdzdmcnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVs
cGVyKAorICAgICJ0ZXN0MTA6IG9ic2VydmUgc3ZnOnN2ZywgdG9wL2xlZnQgaXMgMCBldmVuIHdp
dGggcGFkZGluZyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxl
bmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC50
b3AsIDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QubGVm
dCwgMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOwor
fQorCitsZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3NlcnRfb3duX3Byb3BlcnR5KHdpbmRv
dywgIlJlc2l6ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5bmNfdGVzdCgnZ3VhcmQnKTsKK30s
ICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rlc3QwKCkKKyAgLnRoZW4oKCkgPT4g
eyByZXR1cm4gdGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDIoKTsgfSkK
KyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDMoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1
cm4gdGVzdDQoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDUoKTsgfSkKKyAgLnRo
ZW4oKCkgPT4geyByZXR1cm4gdGVzdDYoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVz
dDcoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDgoKTsgfSkKKyAgLnRoZW4oKCkg
PT4geyByZXR1cm4gdGVzdDkoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEwKCk7
IH0pCisgIC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9KTsKKworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2NDFlZWMyYzhlMDlkMTQzM2Y3ZjA1ZTlkOGIyMDJmYjNjOWQ1ZDUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci93M2MtaW1wb3J0LmxvZwpAQCAtMCwwICsxLDIyIEBACitUaGUgdGVzdHMgaW4gdGhp
cyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5P
VCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRl
IGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93
ZWItcGxhdGZvcm0tdGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9y
dC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVt
b3ZlIHRoaXMgZmlsZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBw
cmVmaXhlczoKK05vbmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9NRVRB
LnltbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL2V2ZW50bG9vcC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanMKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9u
b3RpZnkuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1sCmRpZmYgLS1naXQgYS9D
aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYTY5YjdiYTAyMWUwMTE5Y2Q2YzI2NDM3Mzk5NjA0
MDQwNzJjMGY1MC4uOWM0ZjFlZmE4NjYyYmQ2ZGQ2NzA1ODllMzQwNjJkNDJmMjlmYWYyMSAxMDA2
NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5
LTAxLTI3ICBjYXRoaWUgY2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJ
bXBvcnQgUmVzaXplIE9ic2VydmVyIHRlc3QgY2FzZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4MjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZToKKwogMjAxOS0wMS0yNCAgR3VpbGxhdW1lIEVtb250ICA8Z3VpamVtb250
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0pTQ10gUmVlbmFibGUgYmFzZWxpbmUgSklUIG9uIG1p
cHMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360321</attachid>
            <date>2019-01-27 22:50:59 -0800</date>
            <delta_ts>2019-01-28 08:32:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193821-20190128145055.patch</filename>
            <type>text/plain</type>
            <size>112178</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
YzZmNjY0YjU2MDM1NjkyMDFjZTAxYmFhZGE2YjdmN2I1ZGVmYzQyLi5kMWYxNmQ1NzZmYjRjZTUz
Mjc5NGE5ZTEwNTA0ODBmYTQxZGY1MzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxOS0wMS0yNyAgY2F0aGllIGNoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5j
b20+CisKKyAgICAgICAgSW1wb3J0IFJlc2l6ZSBPYnNlcnZlciB0ZXN0IGNhc2VzIGZyb20gV1BU
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzODIx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOS0wMS0yNyAgQ2hyaXMg
RmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJbnRyb2R1Y2Ug
YSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE2NWFhNDBlOTlhMTg2
MzU3ZmQ4ZWZmNjgxMGNmNjNhOTIxMmU2OC4uMTE0NzdhYzc5NTU4ZmQwMWRmYjUyYzliMGYxNWIy
NGZjNTM1YWYwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTAxLTI3ICBjYXRo
aWUgY2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBvcnQgUmVzaXpl
IE9ic2VydmVyIHRlc3QgY2FzZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2lu
ZG93Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL25vdGlmeS5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwKKyAgICAgICAg
ICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2
Zy5odG1sCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlhbWw6CisKIDIwMTktMDEtMjcgIENocmlzIEZs
ZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogSW50cm9kdWNlIGEg
c3RhdGljIGFjY2Vzc2liaWxpdHkgdHJlZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggODNjNWMyNjAw
ZjFlMjdkY2FlMTEyNTYwMDVmYjYyM2QyNDVjNWYzZi4uMTJmYzAxZDJhZThlNDE0YzdiODYxMWQz
ZmZlZWViNzc3ODNiOTAxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAg
IEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTktMDEtMjcgIENocmlzIEZsZWl6YWNoICA8Y2Zs
ZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogSW50cm9kdWNlIGlzb2xhdGVkIGFjY2Vz
c2liaWxpdHkgdHJlZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxMGQ5ZDJjZTEyMWExODIxMjhhZjNjNTBiNjE1Y2U5
ZmQxYmQ5MjI0Li4zYTc2NmFiNGUwZmUyNDU4N2FjMjFkOTBiNmZmNTBlYzIzM2FjZTU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5LTAxLTI3ICBjYXRoaWUgY2hlbiAgPGNhdGhpZWNo
ZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBvcnQgUmVzaXplIE9ic2VydmVyIHRlc3QgY2Fz
ZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTM4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAq
IFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorCiAyMDE5LTAxLTI3ICBDaHJpcyBGbGVpemFj
aCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEludHJvZHVjZSBhIHN0YXRp
YyBhY2Nlc3NpYmlsaXR5IHRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCAwMDM1
NjFlYTcwZDk1YTEzZTY3NTQwZGYxNzExMGNjYmMwZTEyMDJiLi5lZWQ2ZGZkMDk0ZGNlYzgxYjI1
ZmFiNDM4YzZmODNiZjI1NmU4YmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEu
Y29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQ
VHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzgy
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIHJlc2l6ZU9ic2VydmVyRW5hYmxlZF0pOgorICAgICAgICAoLVtX
ZWJQcmVmZXJlbmNlcyBzZXRSZXNpemVPYnNlcnZlckVuYWJsZWQ6XSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxOS0w
MS0yNyAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFY
OiBJbnRyb2R1Y2UgYSBzdGF0aWMgYWNjZXNzaWJpbGl0eSB0cmVlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cKaW5kZXggNWFjYWRmMTg1OGVlYzkzZmUyNTk3MDBkNmNiY2RlYjkwYjkyZTYxNi4u
YjJmZDk4MjhiYTFlODE2ZjI2ZDVkMjhjNGRjODUwM2Q1MzhmMjRjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAxLTI3ICBjYXRoaWUgY2hlbiAg
PGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBJbXBvcnQgUmVzaXplIE9ic2VydmVy
IHRlc3QgY2FzZXMgZnJvbSBXUFRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTM4MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6Cisg
ICAgICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViUHJlZmVy
ZW5jZXMuY3BwOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2V0
dGluZ3MpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnJlc2l6ZU9ic2VydmVyRW5hYmxlZCk6
CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKToKKyAg
ICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAg
ICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAxOS0wMS0yNCAgUm9z
cyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgTW92ZSBGaWxl
U3lzdGVtIHRvIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIzMDYyM2UzNWY3YTVh
NzJjNDdlZDkxNzFmZmRhYTJmYzRhY2U4YTkuLjk3MzA2MTE2YzYzOGQ0NTVhZGM0MTAyNzhhZDQ2
ZDA4MDgyMTdhNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTMxMiw2ICszMTIsOCBA
QCBFTkFCTEVfUVVPVEEgPSA7CiAKIEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SID0gRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1I7CiAKK0VOQUJMRV9SRVNJWkVfT0JTRVJWRVIgPSBFTkFCTEVfUkVTSVpF
X09CU0VSVkVSOworCiBFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSA9IDsKIAogRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUyA9IEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJ
Q1M7CkBAIC00MDksNCArNDExLDQgQEAgRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9
IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxF
X0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExF
X1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9P
UCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5H
X0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFT
VF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklC
VVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9S
TUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxF
X1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVU
SE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAk
KEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9O
X01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVO
QUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NV
UFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5U
RVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
S0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVO
VF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5U
UykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVf
T0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNF
X1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RS
RUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VC
R1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggMjMwNjIzZTM1ZjdhNWE3MmM0N2VkOTE3
MWZmZGFhMmZjNGFjZThhOS4uOTczMDYxMTZjNjM4ZDQ1NWFkYzQxMDI3OGFkNDZkMDgwODIxN2E1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTMxMiw2ICszMTIsOCBAQCBFTkFCTEVfUVVPVEEgPSA7CiAKIEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7CiAKK0VOQUJM
RV9SRVNJWkVfT0JTRVJWRVIgPSBFTkFCTEVfUkVTSVpFX09CU0VSVkVSOworCiBFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSA9IDsKIAogRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElD
UyA9IEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1M7CkBAIC00MDksNCArNDExLDQgQEAg
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJM
RV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dS
QURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9L
RVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9U
T0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklE
RU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVE
SUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VC
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9f
VVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJ
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVO
QUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAk
KEVOQUJMRV9DU1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJ
VF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVO
VFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9V
U0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9W
QVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVO
VF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCAyMzA2MjNlMzVmN2E1YTcyYzQ3ZWQ5MTcxZmZkYWEyZmM0YWNlOGE5
Li45NzMwNjExNmM2MzhkNDU1YWRjNDEwMjc4YWQ0NmQwODA4MjE3YTUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC0zMTIsNiArMzEyLDggQEAgRU5BQkxFX1FVT1RBID0gOwogCiBFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUiA9IEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SOwogCitFTkFCTEVfUkVTSVpF
X09CU0VSVkVSID0gRU5BQkxFX1JFU0laRV9PQlNFUlZFUjsKKwogRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkgPSA7CiAKIEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MgPSBFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTOwpAQCAtNDA5LDQgKzQxMSw0IEBAIEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
OwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElD
QVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
Q1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNT
QUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFND
UkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLnlhbWwKaW5kZXggY2E0YzU3Yzg2OWY0OTUwODgxYmE4NDBkOGJiNjQ5MTAyZWIzMjU3
ZS4uMjFmNjA1OGU1Mzc2YTQyMzEwNWZlODJhNGQxZWM2ZjQxZjk0M2RiYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MueWFtbApAQCAtNzk2LDMgKzc5Niw3IEBAIGVkaXRhYmxlSW1hZ2VzRW5hYmxl
ZDoKIAogYWRDbGlja0F0dHJpYnV0aW9uRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKKworcmVz
aXplT2JzZXJ2ZXJFbmFibGVkOgorICBpbml0aWFsOiBmYWxzZQorICBjb25kaXRpb25hbDogUkVT
SVpFX09CU0VSVkVSCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAyMzA2MjNlMzVmN2E1YTcyYzQ3ZWQ5MTcxZmZkYWEy
ZmM0YWNlOGE5Li45NzMwNjExNmM2MzhkNDU1YWRjNDEwMjc4YWQ0NmQwODA4MjE3YTUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTMxMiw2ICszMTIsOCBAQCBFTkFCTEVfUVVPVEEgPSA7CiAKIEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SID0gRU5BQkxFX1JFTU9URV9JTlNQRUNUT1I7CiAKK0VOQUJMRV9SRVNJWkVf
T0JTRVJWRVIgPSBFTkFCTEVfUkVTSVpFX09CU0VSVkVSOworCiBFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSA9IDsKIAogRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUyA9IEVOQUJM
RV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1M7CkBAIC00MDksNCArNDExLDQgQEAgRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7
CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BQ0NFU1NJQklMSVRZ
X0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNB
VElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQp
ICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfQ1NTX0NPTklDX0dSQURJRU5UUykg
JChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJB
R19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRB
TF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9F
VkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dF
QkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1FVEFM
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAk
KEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05f
VjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9D
U1NfQ09OSUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxF
X0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRF
WFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NB
UFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VT
U0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NB
R0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05f
Rk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NS
RUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkg
JChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDliMGVhY2FhOWI3YTc5YzIxZmRhNDBkY2Jk
NmI3ZGNjNzdkYWU3M2MuLjMxM2VhNjY1MTdjNTExM2M5MTU3N2IyNDIzODNmZWJjZjZkZmViYTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTM4MCw2ICsx
MzgwLDE0IEBAIFByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZpZ2F0aW9uRW5hYmxlZDoKICAgY2F0
ZWdvcnk6IGV4cGVyaW1lbnRhbAogICB3ZWJjb3JlQmluZGluZzogbm9uZQogCitSZXNpemVPYnNl
cnZlckVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorICBodW1h
blJlYWRhYmxlTmFtZTogIlJlc2l6ZSBPYnNlcnZlciIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0
aW9uOiAiRW5hYmxlIFJlc2l6ZSBPYnNlcnZlciBzdXBwb3J0IgorICBjYXRlZ29yeTogZXhwZXJp
bWVudGFsCisgIGNvbmRpdGlvbjogRU5BQkxFKFJFU0laRV9PQlNFUlZFUikKKwogIyBGb3IgaW50
ZXJuYWwgZmVhdHVyZXM6CiAjIFRoZSB0eXBlIHNob3VsZCBiZSBib29sZWFuLgogIyBZb3UgbXVz
dCBwcm92aWRlIGEgaHVtYW5SZWFkYWJsZU5hbWUgYW5kIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlv
biBmb3IgYWxsIGRlYnVnIGZlYXR1cmVzLiBUaGV5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CmluZGV4IDIzMDYyM2UzNWY3YTVhNzJjNDdlZDkxNzFmZmRhYTJmYzRhY2U4YTkuLjk3MzA2MTE2
YzYzOGQ0NTVhZGM0MTAyNzhhZDQ2ZDA4MDgyMTdhNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC0zMTIsNiArMzEyLDggQEAgRU5BQkxFX1FVT1RBID0gOwogCiBFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUiA9IEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SOwogCitFTkFCTEVfUkVTSVpF
X09CU0VSVkVSID0gRU5BQkxFX1JFU0laRV9PQlNFUlZFUjsKKwogRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkgPSA7CiAKIEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MgPSBFTkFC
TEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTOwpAQCAtNDA5LDQgKzQxMSw0IEBAIEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
OwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElD
QVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9DX0xPT1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19QQUlOVElOR19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9DU1NfVFlQRURfT00pICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMp
ICQoRU5BQkxFX0RBUktfTU9ERV9DU1MpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RS
QUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5U
QUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
RVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUykg
JChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1dFQl9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9X
RUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XRUJNRVRB
TCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICQoRU5BQkxFX0FQUExFX1BBWSkg
JChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9O
X1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NfTE9PUCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1BBSU5USU5HX0FQSSkgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NTU19UWVBFRF9PTSkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
Q1NTX0NPTklDX0dSQURJRU5UUykgJChFTkFCTEVfREFSS19NT0RFX0NTUykgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9FVkVOVFMpICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTSVpFX09CU0VSVkVSKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNT
QUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFND
UkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkp
ICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0VCTUVUQUwpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZh
dGUuaAppbmRleCA0OWQzNDJmZjJlMjc0MDRhZThjMjY5ZTJiNWE5NjBhMjZkZjNiOTgwLi44NTJi
YzY1NjBmODc1OWM5NGExMjYyZGYwM2Y3YWI0ZDExOTk3MDM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmgKQEAgLTI2NSwzICsyNjUsNCBAQAogI2RlZmluZSBXZWJLaXRTZWxlY3Rpb25BY3Jvc3NTaGFk
b3dCb3VuZGFyaWVzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRTZWxlY3Rpb25BY3Jvc3NT
aGFkb3dCb3VuZGFyaWVzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0Q1NTTG9naWNhbEVuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTTG9naWNhbEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEFk
Q2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWRDbGlja0F0dHJp
YnV0aW9uRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVy
ZW5jZUtleSBAIldlYktpdFJlc2l6ZU9ic2VydmVyRW5hYmxlZCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCmluZGV4IGU4MDJjMGE0OGNk
YWNmOGZjMTkzZGY2NmY3MTdjYTAzMWMyZTY2NjQuLjQ1NTE0M2RlOGE4NGFmYWFiZDc3Njc2NWI5
ZmRlMDRmMmMyYmVmZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQpAQCAtNjkzLDYgKzY5Myw5IEBAIHB1YmxpYzoKICAgICAgICAg
QE5PLCBXZWJLaXRNZWRpYUNhcGFiaWxpdGllc0VuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAg
ICBATk8sIFdlYktpdEZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAg
ICAgIEBOTywgV2ViS2l0U2VydmVyVGltaW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCisjaWYgRU5B
QkxFKFJFU0laRV9PQlNFUlZFUikKKyAgICAgICAgQE5PLCBXZWJLaXRSZXNpemVPYnNlcnZlckVu
YWJsZWRQcmVmZXJlbmNlS2V5LAorI2VuZGlmCiAgICAgICAgIG5pbF07CiAKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKQEAgLTM0MDEsNiArMzQwNCwxNSBAQCBzdGF0aWMgTlNTdHJpbmcgKmNs
YXNzSUJDcmVhdG9ySUQgPSBuaWw7CiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFnIGZvcktl
eTpXZWJLaXRBZENsaWNrQXR0cmlidXRpb25FbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKKy0g
KEJPT0wpcmVzaXplT2JzZXJ2ZXJFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFs
dWVGb3JLZXk6V2ViS2l0UmVzaXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisK
Ky0gKHZvaWQpc2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkOihCT09MKWZsYWcKK3sKKyAgICBbc2Vs
ZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdFJlc2l6ZU9ic2VydmVyRW5hYmxlZFBy
ZWZlcmVuY2VLZXldOworfQogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMg
KFdlYkludGVybmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggODgyMGRiMjcwM2Y3YWI4NTk3MjZlNWFj
NzFhZDFkNTk1ZjM4YzI4My4uNDg5MzhjN2M0ZTVjYjcxMmUxZWQ4ZDg2ZTEyYWE5NzA4MTA1YTkw
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC02MTksNiArNjE5LDcgQEAgZXh0ZXJuIE5TU3RyaW5nICpX
ZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24gV0VCS0lU
X0RFUFIKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIG1lZGlhUmVjb3JkZXJFbmFibGVkOwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWxsb3dDcm9zc09yaWdpblN1YnJlc291cmNlc1Rv
QXNrRm9yQ3JlZGVudGlhbHM7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBzb3VyY2VCdWZm
ZXJDaGFuZ2VUeXBlRW5hYmxlZDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHJlc2l6ZU9i
c2VydmVyRW5hYmxlZDsKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKIEBwcm9wZXJ0eSAobm9uYXRv
bWljKSBCT09MIHF1aWNrTG9va0RvY3VtZW50U2F2aW5nRW5hYmxlZDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCBlYWVmOGZmMTYwZmI0ZWIzMGE4OTBl
NmJjZjUzYWZkYTZhZDU1MDE3Li5iYmU1NWY3ODk1YzQxZDQxNWQxODQ2ZDhjZDNmMmZjMmYwODdi
NGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0z
MTkyLDYgKzMxOTIsMTAgQEAgc3RhdGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5n
UXVpcmsoKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0
U2VydmVyVGltaW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgc2VydmVyVGltaW5nRW5hYmxlZF0pOwog
CiAgICAgc2V0dGluZ3Muc2V0U2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmllc0VuYWJsZWQo
cHJlZmVyZW5jZXMuc2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRhcmllc0VuYWJsZWQpOworCisj
aWYgRU5BQkxFKFJFU0laRV9PQlNFUlZFUikKKyAgICBzZXR0aW5ncy5zZXRSZXNpemVPYnNlcnZl
ckVuYWJsZWQoW3ByZWZlcmVuY2VzIHJlc2l6ZU9ic2VydmVyRW5hYmxlZF0pOworI2VuZGlmCiB9
CiAKIHN0YXRpYyBpbmxpbmUgSU1QIGdldE1ldGhvZChpZCBvLCBTRUwgcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0
ZS5pZGwgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaWRsCmluZGV4IDE5ODgyY2RkMGYwYzZkNzRlNWJkMjdhNzI1MDdlOWRjNzU2N2U4
ZjEuLmVkOGIxY2NhYTlkYzM5MDUxODNkYTcwMTU3MDVkMzljMTE3YWEzNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0
ZS5pZGwKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXNQcml2YXRlLmlkbApAQCAtMjM4LDQgKzIzOCw2IEBAIGludGVyZmFjZSBJV2ViUHJlZmVy
ZW5jZXNQcml2YXRlNyA6IElXZWJQcmVmZXJlbmNlc1ByaXZhdGU2CiB7CiAgICAgSFJFU1VMVCBj
cm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCog
ZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRF
bmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHJlc2l6ZU9ic2VydmVyRW5h
YmxlZChbb3V0LCByZXR2YWxdIEJPT0wqKTsKKyAgICBIUkVTVUxUIHNldFJlc2l6ZU9ic2VydmVy
RW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4IDk0MGQ1Y2Y1NWQxM2JlNTc4
N2E2OGQxYjQzMDZlZGMwOGNmZTkyNDYuLjQxM2E2ZmRmMjk1M2ZiNjJiMzQ5MTQ4MTIxMmM5NWQ1
NDY4YjFjNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VLZXlzUHJpdmF0ZS5oCkBAIC0yMDYsMyArMjA2LDQgQEAKIAogI2RlZmluZSBXZWJLaXRDU1NP
TVZpZXdTY3JvbGxpbmdBUElFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0Q1NTT01WaWV3U2Ny
b2xsaW5nQVBJRW5hYmxlZCIKIAorI2RlZmluZSBXZWJLaXRSZXNpemVPYnNlcnZlckVuYWJsZWRQ
cmVmZXJlbmNlS2V5ICJXZWJLaXRSZXNpemVPYnNlcnZlckVuYWJsZWQiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggMDI1YzIwYmVhMjM4Y2Q2YTQ5NWEy
NTBmNmM1NTBjYTdmNTI3OWQ2OS4uM2RlODU0MTczMmNmZGRiOGI2ZTg0ZWUxYzc2MzQxN2MxOGEz
MWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcApAQCAt
MzI5LDYgKzMyOSw4IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2V0
dGluZ3MoKQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktp
dENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZh
bHNlKTsKIAorICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRS
ZXNpemVPYnNlcnZlckVuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKKwog
ICAgIGRlZmF1bHRTZXR0aW5ncyA9IGRlZmF1bHRzOwogfQogCkBAIC0yMjYwLDMgKzIyNjIsMjUg
QEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0U2VydmVyVGltaW5nRW5hYmxlZChCT09MIGVu
YWJsZWQpCiAgICAgc2V0Qm9vbFZhbHVlKFdlYktpdFNlcnZlclRpbWluZ0VuYWJsZWRQcmVmZXJl
bmNlS2V5LCBlbmFibGVkKTsKICAgICByZXR1cm4gU19PSzsKIH0KKworSFJFU1VMVCBXZWJQcmVm
ZXJlbmNlczo6cmVzaXplT2JzZXJ2ZXJFbmFibGVkKF9PdXRfIEJPT0wqIGVuYWJsZWQpCit7Cisj
aWYgRU5BQkxFKFJFU0laRV9PQlNFUlZFUikKKyAgICBpZiAoIWVuYWJsZWQpCisgICAgICAgIHJl
dHVybiBFX1BPSU5URVI7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoV2ViS2l0UmVz
aXplT2JzZXJ2ZXJFbmFibGVkUHJlZmVyZW5jZUtleSk7CisgICAgcmV0dXJuIFNfT0s7CisjZWxz
ZQorICAgIHJldHVybiBFX05PVElNUEw7CisjZW5kaWYKK30KKworSFJFU1VMVCBXZWJQcmVmZXJl
bmNlczo6c2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKEJPT0wgZW5hYmxlZCkKK3sKKyNpZiBFTkFC
TEUoUkVTSVpFX09CU0VSVkVSKQorICAgIHNldEJvb2xWYWx1ZShXZWJLaXRSZXNpemVPYnNlcnZl
ckVuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKKyNlbHNl
CisgICAgcmV0dXJuIEVfTk9USU1QTDsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYlByZWZlcmVuY2VzLmgKaW5kZXggMjkwNmIzNmIxODhjOWQ4OTIyOTRiY2RlZGYyYTZjMjUx
ZGU4YmI0Ni4uNmViYTE3YzNlODc2NTk1YTlmMGI0OTFhOGVjYmVmMGM3NjYzMzI3MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCkBAIC0yODMsNiArMjgzLDggQEAg
cHVibGljOgogICAgIC8vIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU3CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIGNyb3NzT3JpZ2luV2luZG93UG9saWN5U3VwcG9ydEVuYWJs
ZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRDcm9zc09yaWdpbldpbmRvd1BvbGljeVN1cHBvcnRFbmFibGVkKEJPT0wpOworICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSByZXNpemVPYnNlcnZlckVuYWJsZWQoX091dF8g
Qk9PTCopOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRSZXNpemVP
YnNlcnZlckVuYWJsZWQoQk9PTCk7CiAKICAgICAvLyBXZWJQcmVmZXJlbmNlcwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IGUzMzEwNjNhMGJmMGViZDgyMDA5MTUwNDA3NjI2
ZGU5YTE0MGU1MmYuLmRlYjEwODI3MmQ2MjQ2NmJmMzAyMmY0YTE0OGZhYTc3ZTg2YzdkZDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC01NTk5LDYgKzU1OTksMTMgQEAgSFJF
U1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQoSVdlYk5vdGlmaWNhdGlvbiog
bm90aWZpY2F0aW9uKQogICAgICAgICByZXR1cm4gaHI7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRTZXJ2ZXJUaW1pbmdFbmFibGVkKCEhZW5hYmxlZCk7
CiAKKyNpZiBFTkFCTEUoUkVTSVpFX09CU0VSVkVSKQorICAgIGhyID0gcHJlZnNQcml2YXRlLT5y
ZXNpemVPYnNlcnZlckVuYWJsZWQoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAg
ICAgICByZXR1cm4gaHI7CisgICAgc2V0dGluZ3Muc2V0UmVzaXplT2JzZXJ2ZXJFbmFibGVkKCEh
ZW5hYmxlZCk7CisjZW5kaWYKKwogICAgIHJldHVybiBTX09LOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UKaW5kZXggZjcwYjgxNzMxMjI0NDA4MGEzOGIxNmM3YThhY2I4ZjE1MTFkZjgy
Yi4uY2UyYmM5ZTEwODMzMTM3NWZjY2JhMWQ2NzIyYmI4Y2ZlMjVlNzM0NyAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJL
aXRGZWF0dXJlcy5jbWFrZQpAQCAtMTgzLDYgKzE4Myw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05f
QkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCAiVG9nZ2xlIHB1YmxpYyBzdWZmaXggbGlzdCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9RVU9UQSAiVG9nZ2xlIFF1b3RhIHN1cHBvcnQiIFBS
SVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SICJUb2dnbGUgcmVtb3RlIGluc3BlY3RvciBzdXBwb3J0IiBQUklWQVRFIE9OKQorICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9SRVNJWkVfT0JTRVJWRVIgIkVuYWJsZSBSZXNpemUg
T2JzZXJ2ZXIgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSAiVG9nZ2xlIHJlc29sdXRpb24gbWVkaWEgcXVl
cnkgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1JFU09VUkNFX0xPQURfU1RBVElTVElDUyAiVG9nZ2xlIHJlc291cmNlIGxvYWQgc3RhdGlzdGlj
cyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
UkVTT1VSQ0VfVVNBR0UgIlRvZ2dsZSByZXNvdXJjZSB1c2FnZSBzdXBwb3J0IiBQUklWQVRFIE9G
RikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBk
MGI5NjcyMjMzY2Y4Mjc4YmMyZWI2YzczMzU3MjU4OTVmYjhiNGRkLi44ZjA4MjFlZDNlZWQyMGEx
OWI1OThhN2E2ZGIyMzFhMjQwMjNiYmFkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTktMDEtMjcgIGNhdGhpZSBj
aGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIEltcG9ydCBSZXNpemUgT2Jz
ZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwOgorICAg
ICAgICAoVGVzdE9wdGlvbnM6OlRlc3RPcHRpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9UZXN0T3B0aW9ucy5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbToKKyAgICAgICAgKHNldFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMpOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE5
LTAxLTI3ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAg
QVg6IEludHJvZHVjZSBhIHN0YXRpYyBhY2Nlc3NpYmlsaXR5IHRyZWUKZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L1Rlc3RPcHRpb25zLmNwcAppbmRleCBjOTI2NjEyYjFiMTYwNGE4M2NlMjYwM2JjZGE4OGNlMzk4
M2QzNThlLi44MjE1NDE3YTkyNDVjNzhlNDkyNTY1MGZmZmYyNzhjM2RlYWQ4N2M3IDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuY3BwCkBAIC0xMTEsNiArMTExLDggQEAgVGVzdE9wdGlv
bnM6OlRlc3RPcHRpb25zKGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXRoT3JVUkwsIGNvbnN0IHN0ZDo6
c3RyaW5nJiBhYnNvbHUKICAgICAgICAgICAgIGVuYWJsZUNTU0xvZ2ljYWwgPSBwYXJzZUJvb2xl
YW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBlbHNlIGlmIChrZXkgPT0gImludGVy
bmFsOkFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQiKQogICAgICAgICAgICAgYWRDbGlja0F0dHJp
YnV0aW9uRW5hYmxlZCA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CisgICAg
ICAgIGVsc2UgaWYgKGtleSA9PSAiZW5hYmxlUmVzaXplT2JzZXJ2ZXIiKQorICAgICAgICAgICAg
ZW5hYmxlUmVzaXplT2JzZXJ2ZXIgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUp
OwogICAgICAgICBwYWlyU3RhcnQgPSBwYWlyRW5kICsgMTsKICAgICB9CiB9CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdE9wdGlvbnMuaAppbmRleCBjMjdlODQyYTQ4ZjU3YWM4MGY1ZjA0YmJiNWU2YTkyYWQx
MDVkODFkLi5kODg1ZWRiZGViMDZhOGJiNjdmNGEwMWJhZjJiMmJjNTNmYzRjN2QxIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgc3RydWN0IFRlc3RPcHRp
b25zIHsKICAgICBib29sIGVuYWJsZVdlYkdQVSB7IGZhbHNlIH07CiAgICAgYm9vbCBlbmFibGVD
U1NMb2dpY2FsIHsgZmFsc2UgfTsKICAgICBib29sIGFkQ2xpY2tBdHRyaWJ1dGlvbkVuYWJsZWQg
eyBmYWxzZSB9OworICAgIGJvb2wgZW5hYmxlUmVzaXplT2JzZXJ2ZXIgeyBmYWxzZSB9OwogICAg
IHN0ZDo6c3RyaW5nIGpzY09wdGlvbnM7CiAKICAgICBUZXN0T3B0aW9ucyhjb25zdCBzdGQ6OnN0
cmluZyYgcGF0aE9yVVJMLCBjb25zdCBzdGQ6OnN0cmluZyYgYWJzb2x1dGVQYXRoKTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCBkM2Y1OGM3N2QyOWY0
ZGVkOGU5ZDQ0OWY4OGY0YTM1MDFmZDEyZDRlLi5lNjZjMDVmM2ZkMWQzZjczNzIzMmFiNmUzMTIz
Mjc5YzQ0NzY2ZWE4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJl
bmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tCkBAIC0xMDEyLDYgKzEwMTIsNyBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0Zv
clRlc3RPcHRpb25zKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQogICAgIHByZWZlcmVuY2Vz
LndlYkdQVUVuYWJsZWQgPSBvcHRpb25zLmVuYWJsZVdlYkdQVTsKICAgICBwcmVmZXJlbmNlcy5D
U1NMb2dpY2FsRW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlQ1NTTG9naWNhbDsKICAgICBwcmVmZXJl
bmNlcy5hZENsaWNrQXR0cmlidXRpb25FbmFibGVkID0gb3B0aW9ucy5hZENsaWNrQXR0cmlidXRp
b25FbmFibGVkOworICAgIHByZWZlcmVuY2VzLnJlc2l6ZU9ic2VydmVyRW5hYmxlZCA9IG9wdGlv
bnMuZW5hYmxlUmVzaXplT2JzZXJ2ZXI7CiB9CiAKIC8vIENhbGxlZCBvbmNlIG9uIER1bXBSZW5k
ZXJUcmVlIHN0YXJ0dXAuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVh
dHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5k
ZXggYzMzNTAzM2MyOWVjNDIzYWNhZGRlZDMxOGM2Yzc5ZjA1ZDMzYzM2Ny4uOWQzMmRmYWFmZmNk
M2EzZDk2NjA3NGM5ZjcyYjQ4OTE2YTNjNjcyNiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9G
ZWF0dXJlTGlzdC5wbQpAQCAtMTQyLDYgKzE0Miw3IEBAIG15ICgKICAgICAkcXVvdGFTdXBwb3J0
LAogICAgICRyZWdpc3RlclByb3RvY29sSGFuZGxlclN1cHBvcnQsCiAgICAgJHJlbW90ZUluc3Bl
Y3RvclN1cHBvcnQsCisgICAgJHJlc2l6ZU9ic2VydmVyU3VwcG9ydCwKICAgICAkcmVzb2x1dGlv
bk1lZGlhUXVlcnlTdXBwb3J0LAogICAgICRyZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3VwcG9ydCwK
ICAgICAkcmVzb3VyY2VVc2FnZVN1cHBvcnQsCkBAIC00NjQsNiArNDY1LDkgQEAgbXkgQGZlYXR1
cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJyZW1vdGUtaW5zcGVjdG9yIiwgZGVzYyA9PiAiVG9n
Z2xlIHJlbW90ZSBpbnNwZWN0b3Igc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SIiwgdmFsdWUgPT4gXCRyZW1vdGVJbnNwZWN0b3JTdXBwb3J0IH0sCiAK
KyAgICB7IG9wdGlvbiA9PiAicmVzaXplLW9ic2VydmVyIiwgZGVzYyA9PiAiRW5hYmxlIFJlc2l6
ZSBPYnNlcnZlciBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1JFU0laRV9PQlNF
UlZFUiIsIHZhbHVlID0+IFwkcmVzaXplT2JzZXJ2ZXJTdXBwb3J0IH0sCisKICAgICB7IG9wdGlv
biA9PiAicmVzb2x1dGlvbi1tZWRpYS1xdWVyeSIsIGRlc2MgPT4gIlRvZ2dsZSByZXNvbHV0aW9u
IG1lZGlhIHF1ZXJ5IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSIsIHZhbHVlID0+IFwkcmVzb2x1dGlvbk1lZGlhUXVlcnlTdXBwb3J0IH0s
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDIzMDYyM2UzNWY3YTVhNzJjNDdlZDkxNzFmZmRh
YTJmYzRhY2U4YTkuLjk3MzA2MTE2YzYzOGQ0NTVhZGM0MTAyNzhhZDQ2ZDA4MDgyMTdhNTIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMzEyLDYgKzMxMiw4IEBAIEVOQUJMRV9RVU9UQSA9IDsK
IAogRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IgPSBFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUjsKIAor
RU5BQkxFX1JFU0laRV9PQlNFUlZFUiA9IEVOQUJMRV9SRVNJWkVfT0JTRVJWRVI7CisKIEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZID0gOwogCiBFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFU
SVNUSUNTID0gRU5BQkxFX1JFU09VUkNFX0xPQURfU1RBVElTVElDUzsKQEAgLTQwOSw0ICs0MTEs
NCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQo
RU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ19MT09QKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUEFJTlRJTkdfQVBJKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1NTX1RZUEVEX09NKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9DU1NfQ09O
SUNfR1JBRElFTlRTKSAkKEVOQUJMRV9EQVJLX01PREVfQ1NTKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykg
JChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJP
QVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9N
X1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01B
Q19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0VWRU5UUykgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9MT0FE
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9XRUJfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9W
SURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JU
QykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19B
UEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAkKEVOQUJM
RV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBM
RV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DX0xP
T1ApICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19QQUlOVElO
R19BUEkpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DU1NfVFlQRURfT00p
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0NTU19DT05JQ19HUkFESUVOVFMpICQoRU5BQkxFX0RBUktfTU9ERV9DU1Mp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZB
U1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIp
ICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfRVZFTlRTKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU0laRV9PQlNFUlZFUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfV0VCX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BUElfU1RBVElTVElDUykgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxF
X1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dFQk1F
VEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZWMwNTc0MTJjZTM2OGJkNzQwMzZmZjE0
MzZjNmE1Y2FmNDQ5YzdhZi4uMGJhZjJlNTBiMzcxMjQ3M2QyMWZiM2Q4YjhiMjFiZTllZjE4Mzgw
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTkt
MDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIElt
cG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcmVzb3VyY2VzL2ltcG9ydC1leHBl
Y3RhdGlvbnMuanNvbjoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL01FVEEueW1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5k
b3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuanM6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9ub3RpZnkuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2Vz
L2lmcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzOiBBZGRlZC4KKyAgICAgICAg
KFJlc2l6ZVRlc3RIZWxwZXIpOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUu
Z2V0IF9jdXJyZW50U3RlcCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5f
bmV4dFN0ZXApOgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlci5wcm90b3R5cGUuX2hhbmRsZU5v
dGlmaWNhdGlvbik6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5faGFuZGxl
VGltZW91dCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5fZG9uZSk6Cisg
ICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5zdGFydCk6CisgICAgICAgIChSZXNp
emVUZXN0SGVscGVyLnByb3RvdHlwZS5nZXQgcmFmQ291bnQpOgorICAgICAgICAoUmVzaXplVGVz
dEhlbHBlci5wcm90b3R5cGUuX2luY3JlbWVudFJhZik6CisgICAgICAgIChSZXNpemVUZXN0SGVs
cGVyLnByb3RvdHlwZS5zdGFydENvdW50aW5nUmFmKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZzogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L3N2Zy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKwogMjAxOS0wMS0yNCAgQ2hhcmxlcyBWYXph
YyAgPGN2YXphY0Bha2FtYWkuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBQZXJmb3JtYW5jZU9i
c2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggZDZl
ZTk0MTIxY2Q2YThiNTk1YWMzMmM1NmIyOTMyZjA5NTI4MTczMy4uM2EwZGVmNjZiMGNkYjljMzRh
ZGEzN2ExOGMzMTA4ZWY2MDJjZjcyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTI5Niw2
ICsyOTYsNyBAQAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVtb3RlLXBsYXliYWNrIjogInNr
aXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3JlcXVlc3RpZGxlY2FsbGJhY2siOiAic2tp
cCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyIjogInNraXAiLCAK
KyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci8iOiAiaW1wb3J0IiwgCiAg
ICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmciOiAiaW1wb3J0IiwgCiAgICAg
IndlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZXMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0
Zm9ybS10ZXN0cy9zY3JlZW4tb3JpZW50YXRpb24iOiAic2tpcCIsIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
TUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9NRVRBLnltbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjY2ODU2MjJiMmFiMmUyNmNjNjMz
MGY5ODEzMGJlNWQ0MzAxYjAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvTUVUQS55bWwKQEAgLTAs
MCArMSw0IEBACitzcGVjOiBodHRwczovL3dpY2cuZ2l0aHViLmlvL1Jlc2l6ZU9ic2VydmVyLwor
c3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSBhdG90aWMKKyAgLSBkaG9sYmVydApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvZXZlbnRsb29wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2IyMzEwNjY0MDc3YzQ3NzdkNDE3MTIyMTU0NTMyMzU5OTNjMjE4MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL2V2ZW50bG9vcC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBA
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgNTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBSZXNpemVPYnNlcnZlcgorUmVzaXplT2JzZXJ2ZXIgbm90aWZpY2F0aW9uIGV2ZW50
IGxvb3AgdGVzdHMKKwordDEKKworRkFJTCBSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXIiIG1pc3Np
bmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MjJkNzI0YTE5YjNkYjIwYTIxZWYyNGFiOTg1ZDg0YjdlMzViOWU1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKQEAgLTAsMCArMSwyNTkgQEAKKzwhZG9j
dHlwZSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgZXhwZXJpbWVudGFsOlJlc2l6ZU9i
c2VydmVyRW5hYmxlZD10cnVlIF0gLS0+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvcmVzaXplVGVzdEhl
bHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIGRpdiB7CisgICAgYm9yZGVyOiAxcHggZG90
dGVkIGdyYXkKKyAgfQorPC9zdHlsZT4KKzxwPlJlc2l6ZU9ic2VydmVyIG5vdGlmaWNhdGlvbiBl
dmVudCBsb29wIHRlc3RzPC9wPgorPGRpdiBpZD0idGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4
O2hlaWdodDoxMDBweDsiPnQxCis8L2Rpdj4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgIDxkaXYg
aWQ9ImExIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4Ij4KKyAgICA8ZGl2IGlkPSJh
MiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+CisgICAgPC9kaXY+CisgIDwvZGl2
PgorICA8ZGl2IGlkPSJiMSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+CisgICAg
PGRpdiBpZD0iYjIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHgiPgorICAgIDwvZGl2
PgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKKworbGV0IHQxID0g
ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDEnKTsKKworLy8gYWxsb3cgdW5jYXVnaHQg
ZXhjZXB0aW9uIGJlY2F1c2UgUmVzaXplT2JzZXJ2ZXIgcG9zdHMgZXhjZXB0aW9ucworLy8gdG8g
d2luZG93IGVycm9yIGhhbmRsZXIgd2hlbiBsaW1pdCBpcyBleGNlZWRlZC4KKy8vIFRoaXMgY29k
ZXBhdGggaXMgdGVzdGVkIGluIHRoaXMgZmlsZS4KKworc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4
Y2VwdGlvbjogdHJ1ZX0pOworCitmdW5jdGlvbiB0ZW1wbGF0ZSgpIHsKKyAgbGV0IGhlbHBlciA9
IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogdGl0bGUiLAorICBbCisgICAgewor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQg
c3RlcAorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30K
KwordmFyIG9uRXJyb3JDYWxsZWQgPSBmYWxzZTsKKword2luZG93Lm9uZXJyb3IgPSBlcnIgPT4g
eworICBvbkVycm9yQ2FsbGVkID0gdHJ1ZTsKK30KKworZnVuY3Rpb24gdGVzdDAoKSB7CisKKyAg
bGV0IGRpdnMgPSBbdDFdOworICBsZXQgckFGID0gMDsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNp
emVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogbXVsdGlwbGUgbm90aWZpY2F0aW9ucyBpbnNpZGUg
c2FtZSBldmVudCBsb29wIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIG9uRXJyb3JDYWxsZWQgPSBmYWxzZTsKKyAgICAgICAgbGV0IHQyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGxldCB0MyA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICB0Mi5hcHBlbmRDaGlsZCh0Myk7CisgICAgICAgIHQx
LmFwcGVuZENoaWxkKHQyKTsKKyAgICAgICAgZGl2cy5wdXNoKHQyKTsKKyAgICAgICAgZGl2cy5w
dXNoKHQzKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQzKTsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiMyBub3RpZmljYXRpb25zIik7CisgICAgICB9CisgICAg
fSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBoZWxwZXIuc3Rh
cnRDb3VudGluZ1JhZigpOworICAgICAgICBkaXZzLmZvckVhY2goIGVsID0+IHsgZWwuc3R5bGUu
d2lkdGggPSAiMTAxcHgiO30pOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIC8vIHQxIGlzIG5vdCBkZWxpdmVyZWQKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwgIjIgbm90aWZpY2F0aW9ucyIpOworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3VudCwgMCwgInN0aWxsIGluIHNhbWUgbG9vcCIp
OworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgZGl2cy5mb3JFYWNoKCBlbCA9PiB7IGVsLnN0eWxlLndpZHRoID0gIjEwMnB4Ijt9KTsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBub3RpZmljYXRpb25zIik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoaGVscGVyLnJhZkNvdW50LCAwLCAic2FtZSBsb29wIik7Cisg
ICAgICB9CisgICAgfSwKKyAgICB7IC8vIHQxIGFuZCB0MiBnZXQgbm90aWZpZWQKKyAgICAgIHNl
dHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2Jz
ZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwgIjIg
bm90aWZpY2F0aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3VudCwg
MSwgIm5ldyBsb29wIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMob25FcnJvckNhbGxlZCwgdHJ1
ZSwgImVycm9yIHdhcyBmaXJlZCIpOworICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7Cisg
ICAgICAgIHdoaWxlICh0MS5jaGlsZE5vZGVzLmxlbmd0aCA+IDApCisgICAgICAgICAgdDEucmVt
b3ZlQ2hpbGQodDEuY2hpbGROb2Rlc1swXSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0
dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MSgpIHsKKworICB2YXIgcmVz
aXplcnMgPSBbdDFdOworICAvLyBUZXN0aW5nIGRlcHRocyBvZiBzaGFkb3cgcm9vdHMKKyAgLy8g
RE9NOiB0MSA8LSB0MiA8LSB0MyA8LXNoYWRvdy0gdDQgPC0gdDUKKyAgbGV0IGhlbHBlciA9IG5l
dyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogZGVwdGhzIG9mIHNoYWRvdyByb290cyIs
CisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvbkVycm9y
Q2FsbGVkID0gZmFsc2U7CisgICAgICAgIGxldCB0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpOworICAgICAgICB0MS5hcHBlbmRDaGlsZCh0Mik7CisgICAgICAgIHJlc2l6ZXJzLnB1
c2godDIpOworICAgICAgICBsZXQgdDMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsK
KyAgICAgICAgcmVzaXplcnMucHVzaCh0Myk7CisgICAgICAgIHQyLmFwcGVuZENoaWxkKHQzKTsK
KyAgICAgICAgbGV0IHNoYWRvdyA9IHQzLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJvcGVuIiB9KTsK
KyAgICAgICAgbGV0IHQ0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAg
IHJlc2l6ZXJzLnB1c2godDQpOworICAgICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQodDQpOworICAg
ICAgICBsZXQgdDUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgcmVz
aXplcnMucHVzaCh0NSk7CisgICAgICAgIHQ0LmFwcGVuZENoaWxkKHQ1KTsKKyAgICAgICAgcmVz
aXplcnMuZm9yRWFjaCggZWwgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbCkgKTsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCA1LCAiYWxsIGVudHJpZXMgcmVzaXplZCIpOworICAgICAgfQor
ICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVzaXpl
cnMuZm9yRWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTExcHgiICk7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgNCwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAgICB9
LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHJlc2l6ZXJzLmZv
ckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExMnB4IiApOworICAgICAgfSwKKyAgICAg
IG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllcy5sZW5ndGgsIDMsICJkZXB0aCBsaW1pdGVkIik7CisgICAgICB9CisgICAgfSwKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICByZXNpemVycy5mb3JFYWNo
KCBlbCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTNweCIgKTsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXMubGVuZ3RoLCAyLCAiZGVwdGggbGltaXRlZCIpOworICAgICAgfQorICAgIH0sCisgICAgewor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVzaXplcnMuZm9yRWFjaCggZWwg
PT4gZWwuc3R5bGUud2lkdGggPSAiMTE0cHgiICk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxl
bmd0aCwgMSwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAg
IHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgNCwg
ImxpbWl0IG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhvbkVycm9yQ2Fs
bGVkLCB0cnVlLCAiYnJlYWNoZWQgbGltaXQiKTsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVj
dCgpOworICAgICAgICB0MS5yZW1vdmVDaGlsZCh0MS5maXJzdENoaWxkKTsKKyAgICAgIH0KKyAg
ICB9LAorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0
MigpIHsKKyAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNjb250YWlu
ZXInKTsKKyAgbGV0IGExID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2ExJyk7CisgIGxldCBh
MiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhMicpOworICBsZXQgYjEgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCcjYjEnKTsKKyAgbGV0IGIyID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
I2IyJyk7CisgIGxldCB0YXJnZXRzID0gW2ExLCBhMiwgYjEsIGIyXTsKKworICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QyOiBtb3ZlIHRhcmdldCBpbiBkb20g
d2hpbGUgaW5zaWRlIGV2ZW50IGxvb3AiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBkZWxheSBuZXh0IG9ic2VydmF0aW9u
CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSB0aGVtIGFsbAorICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAgICAgICAg
IHQuc3R5bGUud2lkdGggPSAiMTEwcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IHRhcmdldHMubGVuZ3RoLCAiYWxsIHRhcmdldHMgb2JzZXJ2ZWQiKTsKKyAgICAgIH0KKyAgICB9
LAorICAgIHsgLy8gcmVzaXplIGFsbCwgbW92ZSBkb20gdXB3YXJkcworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQorICAgICAgICAgIHQu
c3R5bGUud2lkdGggPSAiMTMwcHgiOworICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoYjIp
OworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJiMiBtb3ZlZCB1cHdhcmRzIik7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGEyKTsKKyAgICAgIH0K
KyAgICB9LAorICAgIHsgLy8gcmVzaXplIGFsbCwgbW92ZSBkb20gZG93bndhcmRzCisgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBmb3IgKGxldCB0IG9mIHRhcmdldHMpCisgICAg
ICAgICAgdC5zdHlsZS53aWR0aCA9ICIxMzBweCI7CisgICAgICAgIGEyLmFwcGVuZENoaWxkKGIy
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiYjIgbW92ZWQgZG93bndhcmRz
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGIyKTsKKyAgICAg
ICAgYTEuYXBwZW5kQ2hpbGQoYTIpOworICAgICAgfQorICAgIH0sCisgIF0pOworICByZXR1cm4g
aGVscGVyLnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9v
d25fcHJvcGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190
ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAo
KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJl
dHVybiB0ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7IGd1YXJkLmRvbmUoKTsgfSk7CisKKzwv
c2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTdlYTMyNzkx
Y2IwMDY5M2YzNzk0YTIzZDMyODRhOTI2NzljNTJmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL2lk
bGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMwIEBACisKK0ZBSUwgaWRs
X3Rlc3Qgc2V0dXAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBuYW1lZCBkZWZpbml0aW9u
OiBVbnJlY29nbmlzZWQgdG9rZW5zLCBsaW5lIDEgKHRva2VuczogIntcImVycm9yXCI6IHtcIm1l
c3NhZ2VcIiIpCitbCisgICAgeworICAgICAgICAidHlwZSI6ICJ7IiwKKyAgICAgICAgInZhbHVl
IjogInsiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAgICAgICAgInR5
cGUiOiAic3RyaW5nIiwKKyAgICAgICAgInZhbHVlIjogIlwiZXJyb3JcIiIsCisgICAgICAgICJ0
cml2aWEiOiAiIgorICAgIH0sCisgICAgeworICAgICAgICAidHlwZSI6ICI6IiwKKyAgICAgICAg
InZhbHVlIjogIjoiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAgIHsKKyAgICAg
ICAgInR5cGUiOiAieyIsCisgICAgICAgICJ2YWx1ZSI6ICJ7IiwKKyAgICAgICAgInRyaXZpYSI6
ICIgIgorICAgIH0sCisgICAgeworICAgICAgICAidHlwZSI6ICJzdHJpbmciLAorICAgICAgICAi
dmFsdWUiOiAiXCJtZXNzYWdlXCIiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9CitdIgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53
aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDE1MWQ2YjY3NGRlMmI5MDVmY2U4N2MxMzlkMTM0YWU4
NWM4ZDNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRtbApAQCAt
MCwwICsxLDIgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBp
bmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgorPCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVzaXplT2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNz
LndpbmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5MmFmMmUw
YzA3OTE5NzQ1N2UwOTFkODRkZmRiMzc0MTcwMzM5NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9p
ZGxoYXJuZXNzLndpbmRvdy5qcwpAQCAtMCwwICsxLDM3IEBACisvLyBNRVRBOiBzY3JpcHQ9L3Jl
c291cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lkbGhh
cm5lc3MuanMKKy8vIE1FVEE6IHNjcmlwdD1yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwor
CisndXNlIHN0cmljdCc7CisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vUmVzaXplT2JzZXJ2
ZXIvCisKK2lkbF90ZXN0KAorICBbJ1Jlc2l6ZU9ic2VydmVyJ10sCisgIFsnZG9tJywgJ2dlb21l
dHJ5J10sCisgIGFzeW5jIGlkbF9hcnJheSA9PiB7CisgICAgaWRsX2FycmF5LmFkZF9vYmplY3Rz
KHsKKyAgICAgIFJlc2l6ZU9ic2VydmVyOiBbJ29ic2VydmVyJ10sCisgICAgICBSZXNpemVPYnNl
cnZlckVudHJ5OiBbJ2VudHJ5J10sCisgICAgfSk7CisKKyAgICBjb25zdCBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRp
dik7CisgICAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICAgIlJlc2l6
ZU9ic2VydmVyRW50cnkgY3JlYXRvciIsCisgICAgICBbCisgICAgICAgIHsKKyAgICAgICAgICBz
ZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICAgICAgc2VsZi5vYnNlcnZlciA9IG9ic2VydmVy
OworICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkaXYpOworICAgICAgICAgICAgZGl2LnN0
eWxlLndpZHRoID0gIjVweCI7CisgICAgICAgICAgfSwKKyAgICAgICAgICBub3RpZnk6IGVudHJp
ZXMgPT4geworICAgICAgICAgICAgc2VsZi5lbnRyeSA9IGVudHJpZXNbMF07CisgICAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDUsICJ0YXJnZXQg
d2lkdGgiKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIF0pOworICAgIGF3YWl0IGhl
bHBlci5zdGFydCgpOworICB9CispOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL25vdGlmeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUzMjc4NDFkYjZmOTZlODQx
OWQzOTkyMWY1MTdiZDc0MTgxYzAyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUwOiBSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6ZU9i
c2VydmVyIHRlc3RzCisKK3QxCit0MgordDMgaW5saW5lCisKK0hhcm5lc3MgRXJyb3IgKEZBSUwp
LCBtZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJlc2l6ZU9i
c2VydmVyCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmVyIiBtaXNzaW5nCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL25vdGlmeS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjEwMzhh
M2NiNjhiYTBlNDg2NDQxNmVhODgxYWFjMDI0M2Y4ZGUxYgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L25vdGlmeS5odG1sCkBAIC0wLDAgKzEsMzUxIEBACis8IWRvY3R5cGUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpSZXNpemVPYnNlcnZlckVuYWJsZWQ9dHJ1ZSBd
IC0tPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0Pgor
PHN0eWxlPgorICBkaXYgeworICAgIGJvcmRlcjogMXB4IGRvdHRlZCBncmF5CisgIH0KKyAgLnRy
YW5zZm9ybSB7CisgICAgdHJhbnNmb3JtOiBzY2FsZSgyLDIpIHJvdGF0ZSg5MGRlZykKKyAgfQor
PC9zdHlsZT4KKzxwPlJlc2l6ZU9ic2VydmVyIHRlc3RzPC9wPgorPGRpdiBpZD0idGFyZ2V0MSIg
c3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxCisgIDxkaXYgaWQ9InRhcmdldDIi
IHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MgorICAgIDxkaXYgaWQ9InRhcmdl
dDMiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MworICAgICAgPHNwYW4gaWQ9
ImlubGluZSI+aW5saW5lPC9zcGFuPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvZGl2PgorPGRp
diBpZD0iYWJzb2x1dGUiIHN0eWxlPSJ3aWR0aDoxMDAuNXB4O2hlaWdodDoxMDAuNXB4O3Bvc2l0
aW9uOmFic29sdXRlO3RvcDoxMC4zcHg7bGVmdDoxMC4zcHgiPjwvZGl2PgorPHNjcmlwdD4KKyd1
c2Ugc3RyaWN0JzsKKworbGV0IHQxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDEn
KTsKK2xldCB0MiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQyJyk7CitsZXQgdDMg
PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MycpOworbGV0IGFicyA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJyNhYnNvbHV0ZScpOworbGV0IGlubGluZSA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJyNpbmxpbmUnKTsKKworZnVuY3Rpb24gdGVzdDAoKSB7CisgIGxldCBoZWxwZXIg
PSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDA6IG5vdGlmaWNhdGlvbiBvcmRlcmlu
ZyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQzKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI1cHgiOwor
ICAgICAgICB0My5zdHlsZS53aWR0aCA9ICI1cHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0aCA9
ICI1cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDMsICIzIHJlc2l6ZXMiKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDMsICJvcmRlcmluZyIp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMV0udGFyZ2V0LCB0MiwgIm9yZGVyaW5n
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1syXS50YXJnZXQsIHQxLCAib3JkZXJp
bmciKTsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgICAgICB0MS5zdHlsZS53
aWR0aCA9ICIxMDBweCI7CisgICAgICAgIHQyLnN0eWxlLndpZHRoID0gIjEwMHB4IjsKKyAgICAg
ICAgdDMuc3R5bGUud2lkdGggPSAiMTAwcHgiOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJl
dHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEoKSB7CisgIGxldCBoZWxw
ZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDE6IGRpc3BsYXk6bm9uZSB0cmln
Z2VycyBub3RpZmljYXRpb24iLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxh
eSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIHQxLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CisgICAgICB9LAorICAg
ICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgdDEuc3R5bGUuZGlz
cGxheSA9ICIiOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQo
KTsKK30KKworCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVU
ZXN0SGVscGVyKAorICAgICJ0ZXN0MjogcmVtb3ZlL2FwcGVuZENoaWxkIHRyaWdnZXIgbm90aWZp
Y2F0aW9uIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVw
CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vICJyZW1vdmVDaGlsZCB0cmlnZ2VycyBub3RpZmlj
YXRpb24iCisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0MS5wYXJlbnROb2Rl
LnJlbW92ZUNoaWxkKHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSk7
CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAg
fSwKKyAgICB7IC8vICJhcHBlbmRDaGlsZCB0cmlnZ2VycyBub3RpZmljYXRpb24iLAorICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0
MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDEpCisgICAgICB9CisgICAg
fQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCisKK2Z1bmN0aW9uIHRlc3Qz
KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QzOiBk
aW1lbnNpb25zIG1hdGNoIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9
ICIyMDAuNXB4IjsKKyAgICAgICAgdDEuc3R5bGUuaGVpZ2h0ID0gIjEwMHB4IjsKKyAgICAgICAg
dDEuc3R5bGUucGFkZGluZ0xlZnQgPSAiMjBweCI7CisgICAgICAgIHQxLnN0eWxlLnBhZGRpbmdU
b3AgPSAiMTBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIp
ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmxlZnQs
MjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QudG9wLDEw
KTsKKyAgICAgICAgYXNzZXJ0X2JldHdlZW5faW5jbHVzaXZlKGVudHJpZXNbMF0uY29udGVudFJl
Y3Qud2lkdGgsIDIwMC40LCAyMDAuNiwgIndpZHRoIGlzIG5vdCByb3VuZGVkIik7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwMCk7CisgICAg
ICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlv
biB0ZXN0NCgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0
ZXN0NDogdHJhbnNmb3JtIGRvIG5vdCBjYXVzZSBub3RpZmljYXRpb25zIiwKKyAgWworICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIp
OworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAg
ICAgIHJldHVybiB0cnVlOyAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQyLmNsYXNzTGlzdC5hZGQo
InRyYW5zZm9ybSIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVy
KSA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoInRyYW5zZm9ybSBtdXN0IG5vdCB0cmln
Z2VyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgIH0sCisgICAgICB0aW1lb3V0OiAoKSA9PiB7Cisg
ICAgICAgIHQyLmNsYXNzTGlzdC5yZW1vdmUoInRyYW5zZm9ybSIpOworICAgICAgfQorICAgIH0K
KyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDUoKSB7
CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDU6IG1vdmlu
ZyBhbiBlbGVtZW50IGRvZXMgbm90IHRyaWdnZXIgbm90aWZpY2F0aW9ucyIsCisgIFsKKyAgICB7
CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGFi
cyk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgcmV0dXJuIHRydWU7IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgYWJzLnN0eWxlLnRvcCA9
ICIyMC4zM3B4IjsKKyAgICAgICAgYWJzLnN0eWxlLmxlZnQgPSAiMjAuMzNweCI7CisgICAgICB9
LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0
X3VucmVhY2hlZCgibW92ZW1lbnQgc2hvdWxkIG5vdCBjYXVzZSByZXNpemUgbm90aWZpY2F0aW9u
cyIpOworICAgICAgfSwKKyAgICAgIHRpbWVvdXQ6ICgpID0+IHsKKyAgICAgIH0KKyAgICB9Cisg
IF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q2KCkgewor
ICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q2OiBpbmxpbmUg
ZWxlbWVudCBkb2VzIG5vdCBub3RpZnkiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShpbmxpbmUpOworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiNjZweCI7CisgICAg
ICAgIGlubGluZS5zdHlsZS53aWR0aCA9ICI2NnB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMu
bGVuZ3RoLCAxLCAiaW5saW5lIGVsZW1lbnRzIG11c3Qgbm90IHRyaWdnZXIgbm90aWZpY2F0aW9u
cyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSwgImlubGlu
ZSBlbGVtZW50cyBtdXN0IG5vdCB0cmlnZ2VyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgcmV0
dXJuIHRydWU7IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeyAvLyAi
aW5saW5lIGVsZW1lbnQgdGhhdCBiZWNvbWVzIGJsb2NrIHNob3VsZCBub3RpZnkiLAorICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgaW5saW5lLnN0eWxlLmRpc3BsYXkgPSAiYmxv
Y2siOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIGlubGluZSk7CisgICAgICB9
CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0
ZXN0NygpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0
NzogdW5vYnNlcnZlIGluc2lkZSBub3RpZnkgY2FsbGJhY2siLAorICBbCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjc3N3B4IjsKKyAg
ICAgICAgdDIuc3R5bGUud2lkdGggPSAiNzc3cHgiOworICAgICAgICBvYnNlcnZlci51bm9ic2Vy
dmUodDEpOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiBpcyBvYnNlcnZlZCIpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MiwgIm9ubHkgdDIgaXMgb2JzZXJ2ZWQi
KTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3Q4KCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIo
CisgICAgInRlc3Q4OiBvYnNlcnZlIGluc2lkZSBub3RpZnkgY2FsbGJhY2siLAorICBbCisgICAg
eworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0
MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAgIHQyLnN0eWxlLndpZHRoID0gIjg4
OHB4IjsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0K
KyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAg
ICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzLmxlbmd0aCwgMSwgIm9ubHkgdDIgaXMgb2JzZXJ2ZWQiKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDIsICJvbmx5IHQyIGlzIG9ic2VydmVkIik7
CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitm
dW5jdGlvbiB0ZXN0OSgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAor
ICAgICJ0ZXN0OTogZGlzY29ubmVjdCBpbnNpZGUgbm90aWZ5IGNhbGxiYWNrIiwKKyAgWworICAg
IHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUo
dDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjk5OXB4IjsKKyAgICAgICAgb2JzZXJ2ZXIuZGlzY29u
bmVjdCgpOworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfdW5y
ZWFjaGVkKCJ0aGVyZSBzaG91bGQgYmUgbm8gbm90aWZpY2F0aW9ucyBhZnRlciBkaXNjb25uZWN0
Iik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgfQorICAgIH0KKyAg
XSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDEwKCkgewor
ICB2YXIgcGFyZW50ID0gdDEucGFyZW50Tm9kZTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVU
ZXN0SGVscGVyKAorICAgICJ0ZXN0MTA6IGVsZW1lbnQgbm90aWZpZXMgd2hlbiBwYXJlbnQgcmVt
b3ZlZCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBv
YnNlcnZlci5vYnNlcnZlKHQzKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBv
YnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAor
ICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAg
ICAgdDEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0MSk7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
Lmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQz
KTsKKyAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHQxKTsKKyAgICAgIH0KKyAgICB9CisgIF0p
OworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7
CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3Vh
cmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVk
IikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhl
bigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0
MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NCgpOyB9KQorICAudGhlbigoKSA9
PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NigpOyB9
KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NygpOyB9KQorICAudGhlbigoKSA9PiB7IHJl
dHVybiB0ZXN0OCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0OSgpOyB9KQorICAu
dGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MTAoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5k
b25lKCk7IH0pOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvb2JzZXJ2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzUwMDNlMDZkMzUzNzUx
MGE4NjU5YzZiNGI0MzRjZDcwMTgyMzdlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUwOiBS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6
ZU9ic2VydmVyIHRlc3RzCisKK3QxCit0MgorIAorCitGQUlMIFJlc2l6ZU9ic2VydmVyIGltcGxl
bWVudGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHByb3BlcnR5ICJSZXNpemVPYnNl
cnZlciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmM0NTkyZDQ1OTQ2YzE5YmZhODJlN2E2ZDcwYTg4MmQwMGIyOWU4
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUuaHRtbApAQCAtMCwwICsxLDIwNyBAQAor
PCFkb2N0eXBlIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBleHBlcmltZW50YWw6UmVz
aXplT2JzZXJ2ZXJFbmFibGVkPXRydWUgXSAtLT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jlc291cmNlcy9yZXNpemVU
ZXN0SGVscGVyLmpzIj48L3NjcmlwdD4KKzxwPlJlc2l6ZU9ic2VydmVyIHRlc3RzPC9wPgorPGRp
diBpZD0idGFyZ2V0MSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxPC9kaXY+
Cis8ZGl2IGlkPSJ0YXJnZXQyIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDI8
L2Rpdj4KKzxpbWcgaWQ9InRhcmdldDMiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7
Ij4KKzxpZnJhbWUgc3JjPSIuL3Jlc291cmNlcy9pZnJhbWUuaHRtbCIgd2lkdGg9IjMwMHB4IiBo
ZWlnaHQ9IjEwMHB4IiBzdHlsZT0iZGlzcGxheTpibG9jayI+PC9pZnJhbWU+Cis8c2NyaXB0Pgor
J3VzZSBzdHJpY3QnOworCitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0
MScpOworbGV0IHQyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDInKTsKKworLy8g
YWxsb3cgdW5jYXVnaHQgZXhjZXB0aW9uIGJlY2F1c2UgUmVzaXplT2JzZXJ2ZXIgcG9zdHMgZXhj
ZXB0aW9ucworLy8gdG8gd2luZG93IGVycm9yIGhhbmRsZXIgd2hlbiBsaW1pdCBpcyBleGNlZWRl
ZC4KK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rpb24g
dGVzdDAoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVz
dDA6IHNpbXBsZSBvYnNlcnZhdGlvbiIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2
ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUu
d2lkdGggPSAiNXB4IjsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBwZW5kaW5nIG5vdGlmaWNh
dGlvbiIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0MSwgInRh
cmdldCBpcyB0MSIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJl
Y3Qud2lkdGgsIDUsICJ0YXJnZXQgd2lkdGgiKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICBsZXQgaGVs
cGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBtdWx0aXBsZSBvYnNlcnZh
dGlvbiBvbiBzYW1lIGVsZW1lbnQgdHJpZ2dlciBvbmx5IG9uZSIsCisgIFsKKyAgICB7CisgICAg
ICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAg
ICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjEw
cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7Cisg
ICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5j
dGlvbiB0ZXN0MigpIHsKKyAgdGVzdCgoKSA9PiB7CisgICAgICBhc3NlcnRfdGhyb3dzKHtuYW1l
OiAiVHlwZUVycm9yIn0sIF89PiB7CisgICAgICAgIGxldCBybyA9IG5ldyBSZXNpemVPYnNlcnZl
cigoKSA9PiB7fSk7CisgICAgICAgIHJvLm9ic2VydmUoe30pOworICAgICAgfSk7CisgICAgfSwK
KyAgICAidGVzdDI6IHRocm93IGV4Y2VwdGlvbiB3aGVuIG9ic2VydmluZyBub24tZWxlbWVudCIK
KyAgKTsKKyAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOworfQorCitmdW5jdGlvbiB0ZXN0Mygp
IHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MzogZGlz
Y29ubmVjdCBzdG9wcyBhbGwgbm90aWZpY2F0aW9ucyIsIFsKKyAgICB7CisgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgb2Jz
ZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAg
ICAgdDEuc3R5bGUud2lkdGggPSAiMzBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRy
aWVzID0+IHsKKyAgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIm5vIGVudHJpZXMgc2hvdWxkIGJl
IG9ic2VydmVkIik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgICAv
LyBleHBlY3RlZAorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQo
KTsKK30KKworZnVuY3Rpb24gdGVzdDQoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVz
dEhlbHBlcigKKyAgICAidGVzdDQ6IHVub2JzZXJ2ZSB0YXJnZXQgc3RvcHMgbm90aWZpY2F0aW9u
cywgdW5vYnNlcnZlIG5vbi1vYnNlcnZlZCBkb2VzIG5vdGhpbmciLCBbCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci51bm9ic2VydmUodDEp
OworICAgICAgICBvYnNlcnZlci51bm9ic2VydmUoZG9jdW1lbnQuYm9keSk7CisgICAgICAgIHQx
LnN0eWxlLndpZHRoID0gIjQwcHgiOworICAgICAgICB0Mi5zdHlsZS53aWR0aCA9ICI0MHB4IjsK
KyAgICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAib25seSB0MiIpOworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXNbMF0udGFyZ2V0LCB0MiwgInQyIHdhcyBvYnNlcnZlZCIpOworICAgICAgfQorICAg
IH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDUo
KSB7CisgIGxldCB0MyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQzJyk7CisgIHZh
ciBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigidGVzdDU6IG9ic2VydmUgaW1nIixbCisg
ICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2
ZSh0Myk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQzLnN0eWxl
LndpZHRoID0gIjEwMC41cHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmllcyA9PiB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMC41KTsKKyAgICAgIH0K
KyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRl
c3Q2KCkgeworICBsZXQgcmVzb2x2ZVByb21pc2U7CisgIGxldCBwcm9taXNlID0gbmV3IFByb21p
c2UoKHJlc29sdmUpID0+IHsKKyAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7CisgIH0pOwor
ICBsZXQgdGVzdCA9IGFzeW5jX3Rlc3QoJ3Rlc3Q2OiBpZnJhbWUgbm90aWZpY2F0aW9ucycpOwor
ICBsZXQgdGVzdFJlcXVlc3RlZCA9IGZhbHNlOworICBsZXQgaWZyYW1lID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcignaWZyYW1lJyk7CisgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdl
JywgZXZlbnQgPT4geworICAgIHN3aXRjaChldmVudC5kYXRhKSB7CisgICAgY2FzZSAncmVhZHlU
b1Rlc3QnOgorICAgICAgaWYgKCF0ZXN0UmVxdWVzdGVkKSB7CisgICAgICAgIGlmcmFtZS5jb250
ZW50V2luZG93LnBvc3RNZXNzYWdlKCdzdGFydFRlc3QnLCAnKicpOworICAgICAgICB0ZXN0UmVx
dWVzdGVkID0gdHJ1ZTsKKyAgICAgIH0KKyAgICBicmVhazsKKyAgICBjYXNlICdzdWNjZXNzJzoK
KyAgICBjYXNlICdmYWlsJzoKKyAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkg
PT4geworICAgICAgICB0ZXN0LnN0ZXAoICgpID0+IHsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxz
KGV2ZW50LmRhdGEsICdzdWNjZXNzJyk7CisgICAgICAgICAgdGVzdC5kb25lKCk7CisgICAgICAg
ICAgcmVzb2x2ZVByb21pc2UoKTsKKyAgICAgICAgfSk7CisgICAgICB9KTsKKyAgICBicmVhazsK
KyAgICB9CisgIH0sIGZhbHNlKTsKKyAgcmV0dXJuIHByb21pc2U7Cit9CisKK2Z1bmN0aW9uIHRl
c3Q3KCkgeworICBsZXQgaGFybmVzc1Rlc3QgPSBhc3luY190ZXN0KCJ0ZXN0NzogY2FsbGJhY2su
dGhpcyIpOworICBsZXQgcmVzb2x2ZVByb21pc2U7CisgIGxldCBybyA9IG5ldyBSZXNpemVPYnNl
cnZlciggZnVuY3Rpb24oZW50cmllcywgb2JzKSAgeworICAgIGxldCBjYWxsYmFja1RoaXMgPSB0
aGlzOworICAgIHJlc29sdmVQcm9taXNlKCk7CisgICAgaGFybmVzc1Rlc3Quc3RlcCgoKSA9PiB7
CisgICAgICBhc3NlcnRfZXF1YWxzKGNhbGxiYWNrVGhpcywgcm8sICJjYWxsYmFjay50aGlzIGlz
IFJlc2l6ZU9ic2VydmVyIik7CisgICAgICBhc3NlcnRfZXF1YWxzKG9icywgcm8sICIybmQgYXJn
dW1lbnQgaXMgUmVzaXplT2JzZXJ2ZXIiKTsKKyAgICAgIHJvLmRpc2Nvbm5lY3QoKTsKKyAgICAg
IC8vIGV2ZXJ5IHJlZmVyZW5jZSB0byBSTyBtdXN0IGJlIG51bGwgYmVmb3JlIHRlc3QgY29tcGxl
dGVzCisgICAgICAvLyB0byBhdm9pZCB0cmlnZ2VyaW5nIHRlc3QgbGVhay1kZXRlY3Rpb24KKyAg
ICAgIHJvID0gbnVsbDsKKyAgICAgIGNhbGxiYWNrVGhpcyA9IG51bGw7CisgICAgICBvYnMgPSBu
dWxsOworICAgICAgaGFybmVzc1Rlc3QuZG9uZSgpOworICAgICB9KTsKKyAgICB9CisgICk7Cisg
IHJvLm9ic2VydmUodDEpOworCisgIHJldHVybiBuZXcgUHJvbWlzZSggKHJlc29sdmUsIHJlamVj
dCkgPT4geworICAgIHJlc29sdmVQcm9taXNlID0gcmVzb2x2ZTsKKyAgfSk7Cit9CisKK2xldCBn
dWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVzaXpl
T2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9i
c2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7IHJldHVybiB0
ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhlbigo
KSA9PiB7IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NCgp
OyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAudGhlbigoKSA9PiB7
IHJldHVybiB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NygpOyB9KQor
ICAudGhlbigoKSA9PiB7IGd1YXJkLmRvbmUoKTsgfSk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL2lmcmFtZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUxODMxN2I1MjBiNjhjYmY5MmIwOWU2N2E1N2YxZWNkMjcyNDM3NDcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKQEAgLTAsMCArMSwzOCBAQAor
PCFkb2N0eXBlIGh0bWw+Cis8aGVhZD4KKyAgPHNjcmlwdCBzcmM9Ii4vcmVzaXplVGVzdEhlbHBl
ci5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8cD5pZnJhbWUgdGVzdDwvcD4KKzxkaXYgaWQ9Iml0
YXJnZXQxIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDE8L2Rpdj4KKzxzY3Jp
cHQ+CisndXNlIHN0cmljdCc7CitsZXQgdDEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaXRh
cmdldDEnKTsKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgdGltZW91dElkID0gd2luZG93LnNl
dFRpbWVvdXQoICgpID0+IHsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCdmYWlsJywg
JyonKTsKKyAgfSwgUmVzaXplVGVzdEhlbHBlci5USU1FT1VUKTsKKyAgbGV0IHJvID0gbmV3IFJl
c2l6ZU9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpIHsKKyAgICB3aW5kb3cuY2xlYXJUaW1lb3V0
KHRpbWVvdXRJZCk7CisgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSgnc3VjY2VzcycsICcq
Jyk7CisgIH0pOworICByby5vYnNlcnZlKHQxKTsKK30KK2xldCB0ZXN0U3RhcnRlZCA9IGZhbHNl
Oword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBmdW5jdGlvbihldikgeworICAg
IHN3aXRjaChldi5kYXRhKSB7CisgICAgICAgIGNhc2UgJ3N0YXJ0VGVzdCc6CisgICAgICAgICAg
dGVzdFN0YXJ0ZWQgPSB0cnVlOworICAgICAgICAgIHRlc3QwKCk7CisgICAgICAgIGJyZWFrOwor
ICAgIH0KK30pOworLy8gSG93IGRvZXMgcGFyZW50IGtub3cgd2UndmUgbG9hZGVkIHByb2JsZW0g
aXMgc29sdmVkIGJ5CisvLyBicm9hZGNhc3RpbmcgcmVhZHlUb1Rlc3QgbWVzc2FnZSByZXBlYXRl
ZGx5IHVudGlsIHRlc3Qgc3RhcnRzLgorZnVuY3Rpb24gYnJvYWRjYXN0UmVhZHkoKSB7CisgIGlm
ICghdGVzdFN0YXJ0ZWQpIHsKKyAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKCdyZWFkeVRv
VGVzdCcsICcqJyk7CisgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShicm9hZGNhc3RS
ZWFkeSk7CisgIH0KK30KK2Jyb2FkY2FzdFJlYWR5KCk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRl
c3RIZWxwZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBjNjgxYmQ5MzMzNDU1MjkxNjcxMWJiYmUxNjdiYzRi
ZDU4ODQ3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0SGVscGVy
LmpzCkBAIC0wLDAgKzEsMTQ4IEBACisndXNlIHN0cmljdCc7CisKKy8qKgorICBSZXNpemVUZXN0
SGVscGVyIGlzIGEgZnJhbWV3b3JrIHRvIHRlc3QgUmVzaXplT2JzZXJ2ZXIKKyAgbm90aWZpY2F0
aW9ucy4gVXNlIGl0IHRvIG1ha2UgYXNzZXJ0aW9ucyBhYm91dCBSZXNpemVPYnNlcnZlckVudHJp
ZXMuCisgIFRoaXMgZnJhbWV3b3JrIGlzIG5lZWRlZCBiZWNhdXNlIFJlc2l6ZU9ic2VydmF0aW9u
cyBhcmUKKyAgZGVsaXZlcmVkIGFzeW5jaHJvbm91c2x5IGluc2lkZSB0aGUgZXZlbnQgbG9vcC4K
KworICBGZWF0dXJlczoKKyAgLSBjYW4gcXVldWUgbXVsdGlwbGUgbm90aWZpY2F0aW9uIHN0ZXBz
IGluIGEgdGVzdAorICAtIGhhbmRsZXMgdGltZW91dHMKKyAgLSByZXR1cm5zIFByb21pc2UgdGhh
dCBpcyBmdWxsZmlsbGVkIHdoZW4gdGVzdCBjb21wbGV0ZXMuCisgICAgVXNlIHRvIGNoYWluIHRl
c3RzIChzaW5jZSBwYXJhbGxlbCBhc3luYyBSZXNpemVPYnNlcnZlciB0ZXN0cworICAgIHdvdWxk
IGNvbmZsaWN0IGlmIHJldXNpbmcgc2FtZSBET00gZWxlbWVudHMpLgorCisgIFVzYWdlOgorCisg
IGNyZWF0ZSBSZXNpemVUZXN0SGVscGVyIGZvciBldmVyeSB0ZXN0LgorICBNYWtlIGFzc2VydGlv
bnMgaW5zaWRlIG5vdGlmeSwgdGltZW91dCBjYWxsYmFja3MuCisgIFN0YXJ0IHRlc3RzIHdpdGgg
aGVscGVyLnN0YXJ0KCkKKyAgQ2hhaW4gdGVzdHMgd2l0aCBQcm9taXNlcy4KKyAgQ291bnRzIGFu
aW1hdGlvbiBmcmFtZXMsIHNlZSBzdGFydENvdW50aW5nUmFmCisqLworCisvKgorICBAcGFyYW0g
bmFtZTogdGVzdCBuYW1lCisgIEBwYXJhbSBzdGVwczoKKyAgeworICAgIHNldHVwOiBmdW5jdGlv
bihSZXNpemVPYnNlcnZlcikgeworICAgICAgLy8gY2FsbGVkIGF0IHRoZSBiZWdpbm5pbmcgb2Yg
dGhlIHRlc3Qgc3RlcAorICAgICAgLy8geW91ciBvYnNlcnZlL3Jlc2l6ZSBjb2RlIGdvZXMgaGVy
ZQorICAgIH0sCisgICAgbm90aWZ5OiBmdW5jdGlvbihlbnRyaWVzLCBvYnNlcnZlcikgeworICAg
ICAgLy8gUmVzaXplT2JzZXJ2ZXIgY2FsbGJhY2suCisgICAgICAvLyBNYWtlIGFzc2VydGlvbnMg
aGVyZS4KKyAgICAgIC8vIFJldHVybiB0cnVlIGlmIG5leHQgc3RlcCBzaG91bGQgc3RhcnQgb24g
dGhlIG5leHQgZXZlbnQgbG9vcC4KKyAgICB9LAorICAgIHRpbWVvdXQ6IGZ1bmN0aW9uKCkgewor
ICAgICAgLy8gRGVmaW5lIHRoaXMgaWYgeW91ciB0ZXN0IGV4cGVjdHMgdG8gdGltZSBvdXQuCisg
ICAgICAvLyBJZiB1bmRlZmluZWQsIHRpbWVvdXQgaXMgYXNzZXJ0X3VucmVhY2hlZC4KKyAgICB9
CisgIH0KKyovCitmdW5jdGlvbiBSZXNpemVUZXN0SGVscGVyKG5hbWUsIHN0ZXBzKQoreworICAg
IHRoaXMuX25hbWUgPSBuYW1lOworICAgIHRoaXMuX3N0ZXBzID0gc3RlcHMgfHwgW107CisgICAg
dGhpcy5fc3RlcElkeCA9IC0xOworICAgIHRoaXMuX2hhcm5lc3NUZXN0ID0gbnVsbDsKKyAgICB0
aGlzLl9vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcih0aGlzLl9oYW5kbGVOb3RpZmljYXRp
b24uYmluZCh0aGlzKSk7CisgICAgdGhpcy5fdGltZW91dEJpbmQgPSB0aGlzLl9oYW5kbGVUaW1l
b3V0LmJpbmQodGhpcyk7CisgICAgdGhpcy5fbmV4dFN0ZXBCaW5kID0gdGhpcy5fbmV4dFN0ZXAu
YmluZCh0aGlzKTsKK30KKworUmVzaXplVGVzdEhlbHBlci5USU1FT1VUID0gMTAwOworCitSZXNp
emVUZXN0SGVscGVyLnByb3RvdHlwZSA9IHsKKyAgZ2V0IF9jdXJyZW50U3RlcCgpIHsKKyAgICBy
ZXR1cm4gdGhpcy5fc3RlcHNbdGhpcy5fc3RlcElkeF07CisgIH0sCisKKyAgX25leHRTdGVwOiBm
dW5jdGlvbigpIHsKKyAgICBpZiAoKyt0aGlzLl9zdGVwSWR4ID09IHRoaXMuX3N0ZXBzLmxlbmd0
aCkKKyAgICAgIHJldHVybiB0aGlzLl9kb25lKCk7CisgICAgdGhpcy5fdGltZW91dElkID0gdGhp
cy5faGFybmVzc1Rlc3Quc3RlcF90aW1lb3V0KAorICAgICAgdGhpcy5fdGltZW91dEJpbmQsIFJl
c2l6ZVRlc3RIZWxwZXIuVElNRU9VVCk7CisgICAgdHJ5IHsKKyAgICAgIHRoaXMuX3N0ZXBzW3Ro
aXMuX3N0ZXBJZHhdLnNldHVwKHRoaXMuX29ic2VydmVyKTsKKyAgICB9CisgICAgY2F0Y2goZXJy
KSB7CisgICAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgICAgYXNzZXJ0
X3VucmVhY2hlZCgiQ2F1Z2h0IGEgdGhyb3csIHBvc3NpYmxlIHN5bnRheCBlcnJvciIpOworICAg
ICAgfSk7CisgICAgfQorICB9LAorCisgIF9oYW5kbGVOb3RpZmljYXRpb246IGZ1bmN0aW9uKGVu
dHJpZXMpIHsKKyAgICBpZiAodGhpcy5fdGltZW91dElkKSB7CisgICAgICB3aW5kb3cuY2xlYXJU
aW1lb3V0KHRoaXMuX3RpbWVvdXRJZCk7CisgICAgICBkZWxldGUgdGhpcy5fdGltZW91dElkOwor
ICAgIH0KKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgIGxldCByYWZE
ZWxheSA9IHRoaXMuX2N1cnJlbnRTdGVwLm5vdGlmeShlbnRyaWVzLCB0aGlzLl9vYnNlcnZlcik7
CisgICAgICBpZiAocmFmRGVsYXkpCisgICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWUodGhpcy5fbmV4dFN0ZXBCaW5kKTsKKyAgICAgIGVsc2UKKyAgICAgICAgdGhpcy5fbmV4dFN0
ZXAoKTsKKyAgICB9KTsKKyAgfSwKKworICBfaGFuZGxlVGltZW91dDogZnVuY3Rpb24oKSB7Cisg
ICAgZGVsZXRlIHRoaXMuX3RpbWVvdXRJZDsKKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgp
ID0+IHsKKyAgICAgIGlmICh0aGlzLl9jdXJyZW50U3RlcC50aW1lb3V0KSB7CisgICAgICAgIHRo
aXMuX2N1cnJlbnRTdGVwLnRpbWVvdXQoKTsKKyAgICAgIH0KKyAgICAgIGVsc2UgeworICAgICAg
ICBhc3NlcnRfdW5yZWFjaGVkKCJUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZpY2F0aW9uLiAo
IiArIFJlc2l6ZVRlc3RIZWxwZXIuVElNRU9VVCArICJtcykiKTsKKyAgICAgIH0KKyAgICAgIHRo
aXMuX25leHRTdGVwKCk7CisgICAgfSk7CisgIH0sCisKKyAgX2RvbmU6IGZ1bmN0aW9uKCkgewor
ICAgIHRoaXMuX29ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICBkZWxldGUgdGhpcy5fb2JzZXJ2
ZXI7CisgICAgdGhpcy5faGFybmVzc1Rlc3QuZG9uZSgpOworICAgIGlmICh0aGlzLl9yYWZDb3Vu
dFJlcXVlc3QpIHsKKyAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWZD
b3VudFJlcXVlc3QpOworICAgICAgZGVsZXRlIHRoaXMuX3JhZkNvdW50UmVxdWVzdDsKKyAgICB9
CisgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7IHRoaXMuX3Jlc29sdmVQ
cm9taXNlKCk7IH0pOworICB9LAorCisgIHN0YXJ0OiBmdW5jdGlvbigpIHsKKyAgICB0aGlzLl9o
YXJuZXNzVGVzdCA9IGFzeW5jX3Rlc3QodGhpcy5fbmFtZSk7CisgICAgdGhpcy5faGFybmVzc1Rl
c3Quc3RlcCgoKSA9PiB7CisgICAgICBhc3NlcnRfZXF1YWxzKHRoaXMuX3N0ZXBJZHgsIC0xLCAi
c3RhcnQgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UiKTsKKyAgICAgIHRoaXMuX25leHRTdGVwKCk7
CisgICAgfSk7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKCAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7
CisgICAgICB0aGlzLl9yZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7CisgICAgICB0aGlzLl9yZWpl
Y3RQcm9taXNlID0gcmVqZWN0OworICAgIH0pOworICB9LAorCisgIGdldCByYWZDb3VudCgpIHsK
KyAgICBpZiAoIXRoaXMuX3JhZkNvdW50UmVxdWVzdCkKKyAgICAgIHRocm93ICJyQUYgY291bnQg
aXMgbm90IGFjdGl2ZSI7CisgICAgcmV0dXJuIHRoaXMuX3JhZkNvdW50OworICB9LAorCisgIF9p
bmNyZW1lbnRSYWY6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9yYWZDb3VudFJlcXVlc3Qp
IHsKKyAgICAgIHRoaXMuX3JhZkNvdW50Kys7CisgICAgICB0aGlzLl9yYWZDb3VudFJlcXVlc3Qg
PSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3JlbWVudFJhZkJpbmQpOwor
ICAgIH0KKyAgfSwKKworICBzdGFydENvdW50aW5nUmFmOiBmdW5jdGlvbigpIHsKKyAgICBpZiAo
dGhpcy5fcmFmQ291bnRSZXF1ZXN0KQorICAgICAgd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1l
KHRoaXMuX3JhZkNvdW50UmVxdWVzdCk7CisgICAgaWYgKCF0aGlzLl9pbmNyZW1lbnRSYWZCaW5k
KQorICAgICAgdGhpcy5faW5jcmVtZW50UmFmQmluZCA9IHRoaXMuX2luY3JlbWVudFJhZi5iaW5k
KHRoaXMpOworICAgIHRoaXMuX3JhZkNvdW50ID0gMDsKKyAgICB0aGlzLl9yYWZDb3VudFJlcXVl
c3QgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2luY3JlbWVudFJhZkJpbmQp
OworICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9y
ZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWYzN2NlYTVmYzA2NGFkYTc5YWNl
YzBkZjNjMzhmMTZmYWMwMTM4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2Mt
aW1wb3J0LmxvZwpAQCAtMCwwICsxLDE4IEBACitUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkg
d2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4KK0RvIE5PVCBtb2RpZnkgdGhl
c2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgorSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1
ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgorCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0t
dGVzdHMvd3B0CisKK1RoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMg
aW4gV2ViS2l0IHRvIHJlaW1wb3J0CisKK0RvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmls
ZS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitQcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4
ZXM6CitOb25lCitQcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05v
bmUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorTGlzdCBvZiBmaWxlczoKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1l
Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6
ZS1vYnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
c3ZnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGNmODM2
ZTVmMjBhYWEzOGIxN2YzMGQ0Y2EyZGFhYjRlY2EwMzMzMQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVy
L3N2Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUg
NTA6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBSZXNpemVPYnNlcnZlcgor
UmVzaXplT2JzZXJ2ZXIgc3ZnIHRlc3RzCisKK0hlcmUgaXMgYSBwYXJhZ3JhcGggdGhhdCByZXF1
aXJlcyB3b3JkIHdyYXAKKworc3ZnIHRleHQgdGFnCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIgaW1w
bGVtZW50ZWQgYXNzZXJ0X293bl9wcm9wZXJ0eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9i
c2VydmVyIiBtaXNzaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDllNWMxOTUzZWMyNzhlOTIxNzY5ZGM5MjQyMGM3OWNmN2YwMDM0NAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3N2Zy5odG1sCkBAIC0wLDAgKzEsMzMzIEBACis8IWRvY3R5cGUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIGV4cGVyaW1lbnRhbDpSZXNpemVPYnNlcnZl
ckVuYWJsZWQ9dHJ1ZSBdIC0tPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIu
anMiPjwvc2NyaXB0PgorPHA+UmVzaXplT2JzZXJ2ZXIgc3ZnIHRlc3RzPC9wPgorPHN2ZyBoZWln
aHQ9IjQzMCIgd2lkdGg9IjUwMCIgPgorICA8Y2lyY2xlIGN4PSIxMCIgY3k9IjEwIiByPSI1IiBz
dHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIiAvPgorICA8ZWxs
aXBzZSBjeD0iMTAiIGN5PSIzMCIgcng9IjUiIHJ5PSI1IiBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ry
b2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIi8+CisgIDxmb3JlaWduT2JqZWN0IGN5PSI1MCIgd2lk
dGg9IjEwMCIgaGVpZ2h0PSIyMCI+CisgICAgPGJvZHk+CisgICAgICA8cD5IZXJlIGlzIGEgcGFy
YWdyYXBoIHRoYXQgcmVxdWlyZXMgd29yZCB3cmFwPC9wPgorICAgIDwvYm9keT4KKyAgPC9mb3Jl
aWduT2JqZWN0PgorICA8aW1hZ2UgeGxpbms6aHJlZj0iIiB4PSIwIiB5PSIxMDAiIGhlaWdodD0i
MzAiIHdpZHRoPSIxMDAiIC8+CisgIDxsaW5lIHgxPSIwIiB5MT0iNTAiIHgyPSIyMCIgeTI9Ijcw
IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiLz4KKyAgPHBhdGggZD0iTSAwIDEwMCBM
IDEwMCAxMDAgTCA1MCAxNTAgeiIKKyAgICAgICAgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpi
bGFjaztzdHJva2Utd2lkdGg6MSIgLz4KKyAgPHBvbHlnb24gcG9pbnRzPSIwLDIwMCAxMDAsMjAw
IDUwLDI1MCIgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJva2Utd2lkdGg6MSIg
Lz4KKyAgPHBvbHlsaW5lIHBvaW50cz0iMCwzMDAgMTAwLDMwMCA1MCwzNTAiIHN0eWxlPSJmaWxs
Om9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEiLz4KKyAgPHJlY3QgeD0iMCIgeT0i
MzgwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHN0eWxlPSJmaWxsOm9yYW5nZTsgc3Ryb2tlOmJs
YWNrOyBzdHJva2Utd2lkdGg6MSIgLz4KKyAgPHRleHQgeD0iMCIgeT0iNDAwIiBmb250LXNpemU9
IjIwIj5zdmcgdGV4dCB0YWc8L3RleHQ+Cis8L3N2Zz4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7
CisKK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsKKworZnVuY3Rpb24g
dGVzdDAoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdjaXJjbGUn
KTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogb2Jz
ZXJ2ZSBzdmc6Y2lyY2xlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3Rp
Znk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERl
bGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncicsIDEwKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1
cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICBsZXQgdGFyZ2V0
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZWxsaXBzZScpOworICBsZXQgaGVscGVyID0gbmV3
IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBvYnNlcnZlIHN2ZzplbGxpcHNlIiwKKyAg
WworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9i
c2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZl
cikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAg
fQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFy
Z2V0LnNldEF0dHJpYnV0ZSgncngnLCAxMCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0
aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0
aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVp
Z2h0LCAxMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgp
OworfQorCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ2ZvcmVpZ25PYmplY3QnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0
SGVscGVyKAorICAgICJ0ZXN0Mjogb2JzZXJ2ZSBzdmc6Zm9yZWlnbk9iamVjdCIsCisgIFsKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5z
ZXRBdHRyaWJ1dGUoJ3dpZHRoJywgMjAwKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3Ro
LCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRo
LCAyMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVp
Z2h0LCAyMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgp
OworfQorCitmdW5jdGlvbiB0ZXN0MygpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5
U2VsZWN0b3IoJ2ltYWdlJyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigK
KyAgICAidGVzdDM6IG9ic2VydmUgc3ZnOmltYWdlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVw
OiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAg
IH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1
cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnaGVp
Z2h0JywgNDApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDQwKTsKKyAgICAg
IH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9u
IHRlc3Q0KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignbGluZScp
OworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q0OiBvYnNl
cnZlIHN2ZzpsaW5lIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5
IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVy
ID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgneTInLCA4MCk7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1sw
XS5jb250ZW50UmVjdC53aWR0aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNb
MF0uY29udGVudFJlY3QuaGVpZ2h0LCAzMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0
dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NSgpIHsKKyAgbGV0IHRhcmdl
dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3BhdGgnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBS
ZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0NTogb2JzZXJ2ZSBzdmc6cGF0aCIsCisgIFsKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAg
ICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5z
ZXRBdHRyaWJ1dGUoJ2QnLCAiTSAwIDEwMCBMIDEwMCAxMDAgTCA1MCAxNjAgeiIpOworICAgICAg
fSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOwor
ICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q2KCkgeworICBsZXQg
dGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncG9seWdvbicpOworICBsZXQgaGVscGVy
ID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q2OiBvYnNlcnZlIHN2ZzpwYXRoIiwK
KyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAg
ICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAg
dGFyZ2V0LnNldEF0dHJpYnV0ZSgncG9pbnRzJywgIjAsMjAwIDEwMCwyMDAgNTAsMjYwIik7Cisg
ICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNjApOworICAgICAgfQorICAgIH0KKyAg
XSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDcoKSB7Cisg
IGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdwb2x5bGluZScpOworICBsZXQg
aGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q3OiBvYnNlcnZlIHN2Zzpw
b2x5bGluZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0
IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7
CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3BvaW50cycsICIwLDMwMCAxMDAsMzAwIDUw
LDM2MCIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYwKTsKKyAgICAgIH0K
KyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRl
c3Q4KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncmVjdCcpOwor
ICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q4OiBvYnNlcnZl
IHN2ZzpyZWN0IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5l
eHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAiMjAiKTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
WzBdLmNvbnRlbnRSZWN0LndpZHRoLCAyMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICBy
ZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q5KCkgeworICBsZXQgdGFy
Z2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGV4dCcpOworICBsZXQgaGVscGVyID0gbmV3
IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q5OiBvYnNlcnZlIHN2Zzp0ZXh0IiwKKyAgWwor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2Vy
dmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikg
PT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQor
ICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0
LnNldEF0dHJpYnV0ZSgnZm9udC1zaXplJywgIjI1Iik7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
Lmxlbmd0aCwgMSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCisKK2Z1bmN0aW9uIHRlc3QxMCgpIHsKKyAgbGV0IHRhcmdldCA9IGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxw
ZXIoCisgICAgInRlc3QxMDogb2JzZXJ2ZSBzdmc6c3ZnLCB0b3AvbGVmdCBpcyAwIGV2ZW4gd2l0
aCBwYWRkaW5nIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVu
Z3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LnRv
cCwgMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5sZWZ0
LCAwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9
CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93
LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwg
IlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7
IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQor
ICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVy
biB0ZXN0NCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgpOyB9KQorICAudGhl
bigoKSA9PiB7IHJldHVybiB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0
NygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0OCgpOyB9KQorICAudGhlbigoKSA9
PiB7IHJldHVybiB0ZXN0OSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MTAoKTsg
fSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOworCis8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvdzNjLWltcG9ydC5sb2cKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTY0MWVlYzJjOGUwOWQxNDMzZjdmMDVlOWQ4YjIwMmZiM2M5ZDVkNQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAKK1RoZSB0ZXN0cyBpbiB0aGlz
IGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgorRG8gTk9U
IG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0ZWFkLCBjcmVhdGUg
YSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9naXRodWIuY29tL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0
LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1vZGlmeSBvciByZW1v
dmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVzOgorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL01FVEEu
eW1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUt
b2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5qcworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25v
dGlmeS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwKZGlmZiAtLWdpdCBhL0No
YW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhNjliN2JhMDIxZTAxMTljZDZjMjY0MzczOTk2MDQw
NDA3MmMwZjUwLi45YzRmMWVmYTg2NjJiZDZkZDY3MDU4OWUzNDA2MmQ0MmYyOWZhZjIxIDEwMDY0
NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTkt
MDEtMjcgIGNhdGhpZSBjaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIElt
cG9ydCBSZXNpemUgT2JzZXJ2ZXIgdGVzdCBjYXNlcyBmcm9tIFdQVHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzgyMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlOgorCiAyMDE5LTAxLTI0ICBHdWlsbGF1bWUgRW1vbnQgIDxndWlqZW1vbnRA
aWdhbGlhLmNvbT4KIAogICAgICAgICBbSlNDXSBSZWVuYWJsZSBiYXNlbGluZSBKSVQgb24gbWlw
cwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360346</attachid>
            <date>2019-01-28 08:32:34 -0800</date>
            <delta_ts>2019-01-29 06:58:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193821-20190129003231.patch</filename>
            <type>text/plain</type>
            <size>49986</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNTUyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBlYzA1NzQxMmNlMzY4YmQ3NDAzNmZmMTQzNmM2YTVjYWY0NDljN2FmLi41NTVjNjdkMzQw
ZWMyMmU0YTljOTg2NjlhMTc5MjE2ODYxOTc5OTM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzOCBAQAorMjAxOS0wMS0yOCAgY2F0aGllIGNoZW4gIDxjYXRoaWVj
aGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW1wb3J0IFJlc2l6ZSBPYnNlcnZlciB0ZXN0IGNh
c2VzIGZyb20gV1BUcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkzODIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiByZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvTUVUQS55bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9ldmVudGxvb3AuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53aW5k
b3cuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNl
cnZlci9pZGxoYXJuZXNzLndpbmRvdy5qczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ub3RpZnktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL29ic2VydmUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRl
c3RIZWxwZXIuanM6IEFkZGVkLgorICAgICAgICAoUmVzaXplVGVzdEhlbHBlcik6CisgICAgICAg
IChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5nZXQgX2N1cnJlbnRTdGVwKToKKyAgICAgICAg
KFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlLl9uZXh0U3RlcCk6CisgICAgICAgIChSZXNpemVU
ZXN0SGVscGVyLnByb3RvdHlwZS5faGFuZGxlTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFJlc2l6
ZVRlc3RIZWxwZXIucHJvdG90eXBlLl9oYW5kbGVUaW1lb3V0KToKKyAgICAgICAgKFJlc2l6ZVRl
c3RIZWxwZXIucHJvdG90eXBlLl9kb25lKToKKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJv
dG90eXBlLnN0YXJ0KToKKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlLmdldCBy
YWZDb3VudCk6CisgICAgICAgIChSZXNpemVUZXN0SGVscGVyLnByb3RvdHlwZS5faW5jcmVtZW50
UmFmKToKKyAgICAgICAgKFJlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlLnN0YXJ0Q291bnRpbmdS
YWYpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3Vy
Y2VzL3czYy1pbXBvcnQubG9nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzaXplLW9ic2VydmVyL3N2Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvdzNjLWltcG9ydC5sb2c6IEFkZGVk
LgorCiAyMDE5LTAxLTI0ICBDaGFybGVzIFZhemFjICA8Y3ZhemFjQGFrYW1haS5jb20+CiAKICAg
ICAgICAgSW1wbGVtZW50IFBlcmZvcm1hbmNlT2JzZXJ2ZXIuc3VwcG9ydGVkRW50cnlUeXBlcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb24gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgppbmRleCBkNmVlOTQxMjFjZDZhOGI1OTVhYzMyYzU2YjI5MzJm
MDk1MjgxNzMzLi4zYTBkZWY2NmIwY2RiOWMzNGFkYTM3YTE4YzMxMDhlZjYwMmNmNzJiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3Rh
dGlvbnMuanNvbgorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9y
dC1leHBlY3RhdGlvbnMuanNvbgpAQCAtMjk2LDYgKzI5Niw3IEBACiAgICAgIndlYi1wbGF0Zm9y
bS10ZXN0cy9yZW1vdGUtcGxheWJhY2siOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvcmVxdWVzdGlkbGVjYWxsYmFjayI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNpemUtb2JzZXJ2ZXIiOiAic2tpcCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyLyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
cyI6ICJpbXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL3NjcmVlbi1vcmllbnRhdGlv
biI6ICJza2lwIiwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9NRVRBLnltbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL01FVEEueW1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmVmNjY4NTYyMmIyYWIyZTI2Y2M2MzMwZjk4MTMwYmU1ZDQzMDFiMDMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c2l6ZS1vYnNlcnZlci9NRVRBLnltbApAQCAtMCwwICsxLDQgQEAKK3NwZWM6IGh0dHBzOi8vd2lj
Zy5naXRodWIuaW8vUmVzaXplT2JzZXJ2ZXIvCitzdWdnZXN0ZWRfcmV2aWV3ZXJzOgorICAtIGF0
b3RpYworICAtIGRob2xiZXJ0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3AtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2Jz
ZXJ2ZXIvZXZlbnRsb29wLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjIzMTA2NjQwNzdjNDc3
N2Q0MTcxMjIxNTQ1MzIzNTk5M2MyMTgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29w
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MDog
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJlc2l6ZU9ic2VydmVyCitSZXNp
emVPYnNlcnZlciBub3RpZmljYXRpb24gZXZlbnQgbG9vcCB0ZXN0cworCit0MQorCitGQUlMIFJl
c2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIGFzc2VydF9vd25fcHJvcGVydHk6IGV4cGVjdGVkIHBy
b3BlcnR5ICJSZXNpemVPYnNlcnZlciIgbWlzc2luZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxv
b3AuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL2V2ZW50bG9vcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1OWY1MmFkMmIzYTYwYTk2
ODg2NjE3Mjc3OGNlZjg2MTA2MmVkNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9ldmVudGxvb3Au
aHRtbApAQCAtMCwwICsxLDI1OSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi9yZXNvdXJj
ZXMvcmVzaXplVGVzdEhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIGRpdiB7CisgICAg
Ym9yZGVyOiAxcHggZG90dGVkIGdyYXkKKyAgfQorPC9zdHlsZT4KKzxwPlJlc2l6ZU9ic2VydmVy
IG5vdGlmaWNhdGlvbiBldmVudCBsb29wIHRlc3RzPC9wPgorPGRpdiBpZD0idGFyZ2V0MSIgc3R5
bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPnQxCis8L2Rpdj4KKzxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgIDxkaXYgaWQ9ImExIiBzdHlsZT0id2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4Ij4K
KyAgICA8ZGl2IGlkPSJhMiIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweCI+CisgICAg
PC9kaXY+CisgIDwvZGl2PgorICA8ZGl2IGlkPSJiMSIgc3R5bGU9IndpZHRoOjEwMHB4O2hlaWdo
dDoxMDBweCI+CisgICAgPGRpdiBpZD0iYjIiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWlnaHQ6MTAw
cHgiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0
JzsKKworbGV0IHQxID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhcmdldDEnKTsKKworLy8g
YWxsb3cgdW5jYXVnaHQgZXhjZXB0aW9uIGJlY2F1c2UgUmVzaXplT2JzZXJ2ZXIgcG9zdHMgZXhj
ZXB0aW9ucworLy8gdG8gd2luZG93IGVycm9yIGhhbmRsZXIgd2hlbiBsaW1pdCBpcyBleGNlZWRl
ZC4KKy8vIFRoaXMgY29kZXBhdGggaXMgdGVzdGVkIGluIHRoaXMgZmlsZS4KKworc2V0dXAoe2Fs
bG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZX0pOworCitmdW5jdGlvbiB0ZW1wbGF0ZSgpIHsK
KyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogdGl0bGUi
LAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgIH0sCisgICAg
ICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsg
IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxw
ZXIuc3RhcnQoKTsKK30KKwordmFyIG9uRXJyb3JDYWxsZWQgPSBmYWxzZTsKKword2luZG93Lm9u
ZXJyb3IgPSBlcnIgPT4geworICBvbkVycm9yQ2FsbGVkID0gdHJ1ZTsKK30KKworZnVuY3Rpb24g
dGVzdDAoKSB7CisKKyAgbGV0IGRpdnMgPSBbdDFdOworICBsZXQgckFGID0gMDsKKyAgbGV0IGhl
bHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogbXVsdGlwbGUgbm90aWZp
Y2F0aW9ucyBpbnNpZGUgc2FtZSBldmVudCBsb29wIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVw
OiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9uRXJyb3JDYWxsZWQgPSBmYWxzZTsKKyAgICAgICAg
bGV0IHQyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGxldCB0MyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICB0Mi5hcHBlbmRDaGlsZCh0
Myk7CisgICAgICAgIHQxLmFwcGVuZENoaWxkKHQyKTsKKyAgICAgICAgZGl2cy5wdXNoKHQyKTsK
KyAgICAgICAgZGl2cy5wdXNoKHQzKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7Cisg
ICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQz
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiMyBub3RpZmljYXRpb25zIik7
CisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAg
ICAgICBoZWxwZXIuc3RhcnRDb3VudGluZ1JhZigpOworICAgICAgICBkaXZzLmZvckVhY2goIGVs
ID0+IHsgZWwuc3R5bGUud2lkdGggPSAiMTAxcHgiO30pOworICAgICAgfSwKKyAgICAgIG5vdGlm
eTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIC8vIHQxIGlzIG5vdCBkZWxpdmVy
ZWQKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwgIjIgbm90aWZpY2F0
aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGhlbHBlci5yYWZDb3VudCwgMCwgInN0aWxs
IGluIHNhbWUgbG9vcCIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgZGl2cy5mb3JFYWNoKCBlbCA9PiB7IGVsLnN0eWxlLndpZHRo
ID0gIjEwMnB4Ijt9KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZl
cikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiMSBub3Rp
ZmljYXRpb25zIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoaGVscGVyLnJhZkNvdW50LCAwLCAi
c2FtZSBsb29wIik7CisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHQxIGFuZCB0MiBnZXQgbm90
aWZpZWQKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5
OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
Lmxlbmd0aCwgMiwgIjIgbm90aWZpY2F0aW9ucyIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGhl
bHBlci5yYWZDb3VudCwgMSwgIm5ldyBsb29wIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMob25F
cnJvckNhbGxlZCwgdHJ1ZSwgImVycm9yIHdhcyBmaXJlZCIpOworICAgICAgICBvYnNlcnZlci5k
aXNjb25uZWN0KCk7CisgICAgICAgIHdoaWxlICh0MS5jaGlsZE5vZGVzLmxlbmd0aCA+IDApCisg
ICAgICAgICAgdDEucmVtb3ZlQ2hpbGQodDEuY2hpbGROb2Rlc1swXSk7CisgICAgICB9CisgICAg
fQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MSgp
IHsKKworICB2YXIgcmVzaXplcnMgPSBbdDFdOworICAvLyBUZXN0aW5nIGRlcHRocyBvZiBzaGFk
b3cgcm9vdHMKKyAgLy8gRE9NOiB0MSA8LSB0MiA8LSB0MyA8LXNoYWRvdy0gdDQgPC0gdDUKKyAg
bGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MTogZGVwdGhzIG9m
IHNoYWRvdyByb290cyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4gewor
ICAgICAgICBvbkVycm9yQ2FsbGVkID0gZmFsc2U7CisgICAgICAgIGxldCB0MiA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICB0MS5hcHBlbmRDaGlsZCh0Mik7CisgICAg
ICAgIHJlc2l6ZXJzLnB1c2godDIpOworICAgICAgICBsZXQgdDMgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdkaXYnKTsKKyAgICAgICAgcmVzaXplcnMucHVzaCh0Myk7CisgICAgICAgIHQyLmFw
cGVuZENoaWxkKHQzKTsKKyAgICAgICAgbGV0IHNoYWRvdyA9IHQzLmF0dGFjaFNoYWRvdyh7IG1v
ZGU6ICJvcGVuIiB9KTsKKyAgICAgICAgbGV0IHQ0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
ZGl2Jyk7CisgICAgICAgIHJlc2l6ZXJzLnB1c2godDQpOworICAgICAgICBzaGFkb3cuYXBwZW5k
Q2hpbGQodDQpOworICAgICAgICBsZXQgdDUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYn
KTsKKyAgICAgICAgcmVzaXplcnMucHVzaCh0NSk7CisgICAgICAgIHQ0LmFwcGVuZENoaWxkKHQ1
KTsKKyAgICAgICAgcmVzaXplcnMuZm9yRWFjaCggZWwgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbCkg
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCA1LCAiYWxsIGVudHJpZXMgcmVzaXpl
ZCIpOworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsK
KyAgICAgICAgcmVzaXplcnMuZm9yRWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTExcHgi
ICk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgNCwgImRlcHRoIGxpbWl0ZWQiKTsK
KyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIHJlc2l6ZXJzLmZvckVhY2goIGVsID0+IGVsLnN0eWxlLndpZHRoID0gIjExMnB4IiApOwor
ICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
IGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDMsICJkZXB0aCBsaW1pdGVkIik7CisgICAg
ICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBy
ZXNpemVycy5mb3JFYWNoKCBlbCA9PiBlbC5zdHlsZS53aWR0aCA9ICIxMTNweCIgKTsKKyAgICAg
IH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAyLCAiZGVwdGggbGltaXRlZCIpOworICAgICAgfQor
ICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgcmVzaXpl
cnMuZm9yRWFjaCggZWwgPT4gZWwuc3R5bGUud2lkdGggPSAiMTE0cHgiICk7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgImRlcHRoIGxpbWl0ZWQiKTsKKyAgICAgIH0KKyAgICB9
LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90
aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzLmxlbmd0aCwgNCwgImxpbWl0IG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhvbkVycm9yQ2FsbGVkLCB0cnVlLCAiYnJlYWNoZWQgbGltaXQiKTsKKyAgICAgICAgb2Jz
ZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgICAgICB0MS5yZW1vdmVDaGlsZCh0MS5maXJzdENoaWxk
KTsKKyAgICAgIH0KKyAgICB9LAorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQor
CitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJyNjb250YWluZXInKTsKKyAgbGV0IGExID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcign
I2ExJyk7CisgIGxldCBhMiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNhMicpOworICBsZXQg
YjEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjYjEnKTsKKyAgbGV0IGIyID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignI2IyJyk7CisgIGxldCB0YXJnZXRzID0gW2ExLCBhMiwgYjEsIGIyXTsK
KworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QyOiBtb3Zl
IHRhcmdldCBpbiBkb20gd2hpbGUgaW5zaWRlIGV2ZW50IGxvb3AiLAorICBbCisgICAgeworICAg
ICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRzKQor
ICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAo
ZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBkZWxheSBu
ZXh0IG9ic2VydmF0aW9uCisgICAgICB9CisgICAgfSwKKyAgICB7IC8vIHJlc2l6ZSB0aGVtIGFs
bAorICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJn
ZXRzKQorICAgICAgICAgIHQuc3R5bGUud2lkdGggPSAiMTEwcHgiOworICAgICAgfSwKKyAgICAg
IG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllcy5sZW5ndGgsIHRhcmdldHMubGVuZ3RoLCAiYWxsIHRhcmdldHMgb2JzZXJ2ZWQiKTsK
KyAgICAgIH0KKyAgICB9LAorICAgIHsgLy8gcmVzaXplIGFsbCwgbW92ZSBkb20gdXB3YXJkcwor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgZm9yIChsZXQgdCBvZiB0YXJnZXRz
KQorICAgICAgICAgIHQuc3R5bGUud2lkdGggPSAiMTMwcHgiOworICAgICAgICBjb250YWluZXIu
YXBwZW5kQ2hpbGQoYjIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2Vy
dmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJiMiBt
b3ZlZCB1cHdhcmRzIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQs
IGEyKTsKKyAgICAgIH0KKyAgICB9LAorICAgIHsgLy8gcmVzaXplIGFsbCwgbW92ZSBkb20gZG93
bndhcmRzCisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBmb3IgKGxldCB0IG9m
IHRhcmdldHMpCisgICAgICAgICAgdC5zdHlsZS53aWR0aCA9ICIxMzBweCI7CisgICAgICAgIGEy
LmFwcGVuZENoaWxkKGIyKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNl
cnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAiYjIg
bW92ZWQgZG93bndhcmRzIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJn
ZXQsIGIyKTsKKyAgICAgICAgYTEuYXBwZW5kQ2hpbGQoYTIpOworICAgICAgfQorICAgIH0sCisg
IF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9
PiB7CisgIGFzc2VydF9vd25fcHJvcGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAg
Z3VhcmQgPSBhc3luY190ZXN0KCdndWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVu
dGVkIikKKwordGVzdDAoKQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAu
dGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7IGd1YXJkLmRv
bmUoKTsgfSk7CisKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRv
dy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYTdlYTMyNzkxY2IwMDY5M2YzNzk0YTIzZDMyODRhOTI2NzljNTJmZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMw
IEBACisKK0ZBSUwgaWRsX3Rlc3Qgc2V0dXAgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiR290IGFuIGVycm9yIGJlZm9yZSBwYXJzaW5nIGFueSBu
YW1lZCBkZWZpbml0aW9uOiBVbnJlY29nbmlzZWQgdG9rZW5zLCBsaW5lIDEgKHRva2VuczogIntc
ImVycm9yXCI6IHtcIm1lc3NhZ2VcIiIpCitbCisgICAgeworICAgICAgICAidHlwZSI6ICJ7IiwK
KyAgICAgICAgInZhbHVlIjogInsiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9LAorICAg
IHsKKyAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAgInZhbHVlIjogIlwiZXJyb3Jc
IiIsCisgICAgICAgICJ0cml2aWEiOiAiIgorICAgIH0sCisgICAgeworICAgICAgICAidHlwZSI6
ICI6IiwKKyAgICAgICAgInZhbHVlIjogIjoiLAorICAgICAgICAidHJpdmlhIjogIiIKKyAgICB9
LAorICAgIHsKKyAgICAgICAgInR5cGUiOiAieyIsCisgICAgICAgICJ2YWx1ZSI6ICJ7IiwKKyAg
ICAgICAgInRyaXZpYSI6ICIgIgorICAgIH0sCisgICAgeworICAgICAgICAidHlwZSI6ICJzdHJp
bmciLAorICAgICAgICAidmFsdWUiOiAiXCJtZXNzYWdlXCIiLAorICAgICAgICAidHJpdmlhIjog
IiIKKyAgICB9CitdIgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRvdy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvaWRsaGFybmVzcy53aW5kb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVk
NTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvaWRsaGFybmVzcy53
aW5kb3cuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3Ig
V2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndp
bmRvdy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
aXplLW9ic2VydmVyL2lkbGhhcm5lc3Mud2luZG93LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5MmFmMmUwYzA3
OTE5NzQ1N2UwOTFkODRkZmRiMzc0MTcwMzM5NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxo
YXJuZXNzLndpbmRvdy5qcwpAQCAtMCwwICsxLDM3IEBACisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291
cmNlcy9XZWJJRExQYXJzZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2VzL2lkbGhhcm5l
c3MuanMKKy8vIE1FVEE6IHNjcmlwdD1yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcworCisn
dXNlIHN0cmljdCc7CisKKy8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vUmVzaXplT2JzZXJ2ZXIv
CisKK2lkbF90ZXN0KAorICBbJ1Jlc2l6ZU9ic2VydmVyJ10sCisgIFsnZG9tJywgJ2dlb21ldHJ5
J10sCisgIGFzeW5jIGlkbF9hcnJheSA9PiB7CisgICAgaWRsX2FycmF5LmFkZF9vYmplY3RzKHsK
KyAgICAgIFJlc2l6ZU9ic2VydmVyOiBbJ29ic2VydmVyJ10sCisgICAgICBSZXNpemVPYnNlcnZl
ckVudHJ5OiBbJ2VudHJ5J10sCisgICAgfSk7CisKKyAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7
CisgICAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICAgIlJlc2l6ZU9i
c2VydmVyRW50cnkgY3JlYXRvciIsCisgICAgICBbCisgICAgICAgIHsKKyAgICAgICAgICBzZXR1
cDogb2JzZXJ2ZXIgPT4geworICAgICAgICAgICAgc2VsZi5vYnNlcnZlciA9IG9ic2VydmVyOwor
ICAgICAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkaXYpOworICAgICAgICAgICAgZGl2LnN0eWxl
LndpZHRoID0gIjVweCI7CisgICAgICAgICAgfSwKKyAgICAgICAgICBub3RpZnk6IGVudHJpZXMg
PT4geworICAgICAgICAgICAgc2VsZi5lbnRyeSA9IGVudHJpZXNbMF07CisgICAgICAgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDUsICJ0YXJnZXQgd2lk
dGgiKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIF0pOworICAgIGF3YWl0IGhlbHBl
ci5zdGFydCgpOworICB9CispOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2Vy
dmVyL25vdGlmeS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUzMjc4NDFkYjZmOTZlODQxOWQz
OTkyMWY1MTdiZDc0MTgxYzAyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25vdGlmeS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDUwOiBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUmVzaXplT2JzZXJ2ZXIKK1Jlc2l6ZU9ic2Vy
dmVyIHRlc3RzCisKK3QxCit0MgordDMgaW5saW5lCisKK0hhcm5lc3MgRXJyb3IgKEZBSUwpLCBt
ZXNzYWdlID0gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFJlc2l6ZU9ic2Vy
dmVyCisKK0ZBSUwgUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQgYXNzZXJ0X293bl9wcm9wZXJ0
eTogZXhwZWN0ZWQgcHJvcGVydHkgIlJlc2l6ZU9ic2VydmVyIiBtaXNzaW5nCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL25vdGlmeS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvbm90aWZ5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDU4ODg1MTVk
NWEwODY3MzNjMTAzNTkyMDQyYmZjNjM3ZjIxN2FhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL25v
dGlmeS5odG1sCkBAIC0wLDAgKzEsMzUxIEBACis8IWRvY3R5cGUgaHRtbD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuL3Jl
c291cmNlcy9yZXNpemVUZXN0SGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgZGl2IHsK
KyAgICBib3JkZXI6IDFweCBkb3R0ZWQgZ3JheQorICB9CisgIC50cmFuc2Zvcm0geworICAgIHRy
YW5zZm9ybTogc2NhbGUoMiwyKSByb3RhdGUoOTBkZWcpCisgIH0KKzwvc3R5bGU+Cis8cD5SZXNp
emVPYnNlcnZlciB0ZXN0czwvcD4KKzxkaXYgaWQ9InRhcmdldDEiIHN0eWxlPSJ3aWR0aDoxMDBw
eDtoZWlnaHQ6MTAwcHg7Ij50MQorICA8ZGl2IGlkPSJ0YXJnZXQyIiBzdHlsZT0id2lkdGg6MTAw
cHg7aGVpZ2h0OjEwMHB4OyI+dDIKKyAgICA8ZGl2IGlkPSJ0YXJnZXQzIiBzdHlsZT0id2lkdGg6
MTAwcHg7aGVpZ2h0OjEwMHB4OyI+dDMKKyAgICAgIDxzcGFuIGlkPSJpbmxpbmUiPmlubGluZTwv
c3Bhbj4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgaWQ9ImFic29sdXRlIiBz
dHlsZT0id2lkdGg6MTAwLjVweDtoZWlnaHQ6MTAwLjVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6
MTAuM3B4O2xlZnQ6MTAuM3B4Ij48L2Rpdj4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK2xl
dCB0MSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQxJyk7CitsZXQgdDIgPSBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCcjdGFyZ2V0MicpOworbGV0IHQzID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcignI3RhcmdldDMnKTsKK2xldCBhYnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcj
YWJzb2x1dGUnKTsKK2xldCBpbmxpbmUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaW5saW5l
Jyk7CisKK2Z1bmN0aW9uIHRlc3QwKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RI
ZWxwZXIoCisgICAgInRlc3QwOiBub3RpZmljYXRpb24gb3JkZXJpbmciLAorICBbCisgICAgewor
ICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Myk7
CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDIpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHQxKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiNXB4IjsKKyAgICAgICAgdDMuc3R5bGUu
d2lkdGggPSAiNXB4IjsKKyAgICAgICAgdDIuc3R5bGUud2lkdGggPSAiNXB4IjsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiMyByZXNpemVzIik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQzLCAib3JkZXJpbmciKTsKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzWzFdLnRhcmdldCwgdDIsICJvcmRlcmluZyIpOworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJpZXNbMl0udGFyZ2V0LCB0MSwgIm9yZGVyaW5nIik7CisgICAgICAgIG9i
c2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiMTAwcHgiOwor
ICAgICAgICB0Mi5zdHlsZS53aWR0aCA9ICIxMDBweCI7CisgICAgICAgIHQzLnN0eWxlLndpZHRo
ID0gIjEwMHB4IjsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0
KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRl
c3RIZWxwZXIoCisgICAgInRlc3QxOiBkaXNwbGF5Om5vbmUgdHJpZ2dlcnMgbm90aWZpY2F0aW9u
IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2Vy
dmVyLm9ic2VydmUodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2Vy
dmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAg
ICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICB0
MS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHQxLnN0eWxlLmRpc3BsYXkgPSAiIjsKKyAgICAg
IH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKKworZnVuY3Rp
b24gdGVzdDIoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAi
dGVzdDI6IHJlbW92ZS9hcHBlbmRDaGlsZCB0cmlnZ2VyIG5vdGlmaWNhdGlvbiIsCisgIFsKKyAg
ICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZl
KHQxKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0s
CisgICAgeyAvLyAicmVtb3ZlQ2hpbGQgdHJpZ2dlcnMgbm90aWZpY2F0aW9uIgorICAgICAgc2V0
dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdDEucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0MSk7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDEpOworICAgICAgICByZXR1cm4g
dHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeyAvLyAiYXBw
ZW5kQ2hpbGQgdHJpZ2dlcnMgbm90aWZpY2F0aW9uIiwKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodDEpOworICAgICAgfSwKKyAg
ICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS50YXJnZXQsIHQxKQorICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVy
biBoZWxwZXIuc3RhcnQoKTsKK30KKworCitmdW5jdGlvbiB0ZXN0MygpIHsKKyAgbGV0IGhlbHBl
ciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MzogZGltZW5zaW9ucyBtYXRjaCIs
CisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZl
ci5vYnNlcnZlKHQxKTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiMjAwLjVweCI7CisgICAg
ICAgIHQxLnN0eWxlLmhlaWdodCA9ICIxMDBweCI7CisgICAgICAgIHQxLnN0eWxlLnBhZGRpbmdM
ZWZ0ID0gIjIwcHgiOworICAgICAgICB0MS5zdHlsZS5wYWRkaW5nVG9wID0gIjEwcHgiOworICAg
ICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5sZWZ0LDIwKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LnRvcCwxMCk7CisgICAgICAgIGFzc2Vy
dF9iZXR3ZWVuX2luY2x1c2l2ZShlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAyMDAuNCwg
MjAwLjYsICJ3aWR0aCBpcyBub3Qgcm91bmRlZCIpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAxMDApOworICAgICAgfQorICAgIH0KKyAgXSk7
CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDQoKSB7CisgIGxl
dCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDQ6IHRyYW5zZm9ybSBk
byBub3QgY2F1c2Ugbm90aWZpY2F0aW9ucyIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2Jz
ZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgIH0sCisgICAg
ICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsg
Ly8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4geworICAgICAgICB0Mi5jbGFzc0xpc3QuYWRkKCJ0cmFuc2Zvcm0iKTsKKyAg
ICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBh
c3NlcnRfdW5yZWFjaGVkKCJ0cmFuc2Zvcm0gbXVzdCBub3QgdHJpZ2dlciBub3RpZmljYXRpb25z
Iik7CisgICAgICB9LAorICAgICAgdGltZW91dDogKCkgPT4geworICAgICAgICB0Mi5jbGFzc0xp
c3QucmVtb3ZlKCJ0cmFuc2Zvcm0iKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4g
aGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q1KCkgeworICBsZXQgaGVscGVyID0g
bmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q1OiBtb3ZpbmcgYW4gZWxlbWVudCBkb2Vz
IG5vdCB0cmlnZ2VyIG5vdGlmaWNhdGlvbnMiLAorICBbCisgICAgeworICAgICAgc2V0dXA6IG9i
c2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShhYnMpOworICAgICAgfSwKKyAg
ICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIHJldHVybiB0cnVl
OyAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVw
OiBvYnNlcnZlciA9PiB7CisgICAgICAgIGFicy5zdHlsZS50b3AgPSAiMjAuMzNweCI7CisgICAg
ICAgIGFicy5zdHlsZS5sZWZ0ID0gIjIwLjMzcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTog
KGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIm1vdmVt
ZW50IHNob3VsZCBub3QgY2F1c2UgcmVzaXplIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgIH0sCisg
ICAgICB0aW1lb3V0OiAoKSA9PiB7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhl
bHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NigpIHsKKyAgbGV0IGhlbHBlciA9IG5l
dyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0NjogaW5saW5lIGVsZW1lbnQgZG9lcyBub3Qg
bm90aWZ5IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUoaW5saW5lKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0MSk7
CisgICAgICAgIHQxLnN0eWxlLndpZHRoID0gIjY2cHgiOworICAgICAgICBpbmxpbmUuc3R5bGUu
d2lkdGggPSAiNjZweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2
ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgImlubGlu
ZSBlbGVtZW50cyBtdXN0IG5vdCB0cmlnZ2VyIG5vdGlmaWNhdGlvbnMiKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzWzBdLnRhcmdldCwgdDEsICJpbmxpbmUgZWxlbWVudHMgbXVzdCBu
b3QgdHJpZ2dlciBub3RpZmljYXRpb25zIik7CisgICAgICAgIHJldHVybiB0cnVlOyAvLyBEZWxh
eSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsgLy8gImlubGluZSBlbGVtZW50IHRo
YXQgYmVjb21lcyBibG9jayBzaG91bGQgbm90aWZ5IiwKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIGlubGluZS5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0udGFyZ2V0LCBpbmxpbmUpOworICAgICAgfQorICAgIH0KKyAgXSk7Cisg
IHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDcoKSB7CisgIGxldCBo
ZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDc6IHVub2JzZXJ2ZSBpbnNp
ZGUgbm90aWZ5IGNhbGxiYWNrIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9
PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICBvYnNlcnZlci5vYnNl
cnZlKHQyKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4g
eworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI3NzdweCI7CisgICAgICAgIHQyLnN0eWxlLndp
ZHRoID0gIjc3N3B4IjsKKyAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKHQxKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0
aCwgMSwgIm9ubHkgdDIgaXMgb2JzZXJ2ZWQiKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzWzBdLnRhcmdldCwgdDIsICJvbmx5IHQyIGlzIG9ic2VydmVkIik7CisgICAgICB9CisgICAg
fQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0OCgp
IHsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0ODogb2Jz
ZXJ2ZSBpbnNpZGUgbm90aWZ5IGNhbGxiYWNrIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgfSwKKyAg
ICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIG9ic2VydmVyLm9i
c2VydmUodDIpOworICAgICAgICB0Mi5zdHlsZS53aWR0aCA9ICI4ODhweCI7CisgICAgICAgIHJl
dHVybiB0cnVlOyAgLy8gRGVsYXkgbmV4dCBzdGVwCisgICAgICB9CisgICAgfSwKKyAgICB7Cisg
ICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJp
ZXMsIG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEsICJvbmx5IHQyIGlzIG9ic2VydmVkIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmll
c1swXS50YXJnZXQsIHQyLCAib25seSB0MiBpcyBvYnNlcnZlZCIpOworICAgICAgfQorICAgIH0K
KyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDkoKSB7
CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAidGVzdDk6IGRpc2Nv
bm5lY3QgaW5zaWRlIG5vdGlmeSBjYWxsYmFjayIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDog
b2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICB0MS5zdHlsZS53
aWR0aCA9ICI5OTlweCI7CisgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50
cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X3VucmVhY2hlZCgidGhlcmUgc2hv
dWxkIGJlIG5vIG5vdGlmaWNhdGlvbnMgYWZ0ZXIgZGlzY29ubmVjdCIpOworICAgICAgfSwKKyAg
ICAgIHRpbWVvdXQ6ICgpID0+IHsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVs
cGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxMCgpIHsKKyAgdmFyIHBhcmVudCA9IHQx
LnBhcmVudE5vZGU7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAgICAi
dGVzdDEwOiBlbGVtZW50IG5vdGlmaWVzIHdoZW4gcGFyZW50IHJlbW92ZWQiLAorICBbCisgICAg
eworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0
Myk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAg
ICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIHQxLnBhcmVudE5vZGUu
cmVtb3ZlQ2hpbGQodDEpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2Vy
dmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0udGFyZ2V0LCB0Myk7CisgICAgICAgIHBhcmVu
dC5hcHBlbmRDaGlsZCh0MSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBl
ci5zdGFydCgpOworfQorCitsZXQgZ3VhcmQ7Cit0ZXN0KF8gPT4geworICBhc3NlcnRfb3duX3By
b3BlcnR5KHdpbmRvdywgIlJlc2l6ZU9ic2VydmVyIik7CisgIGd1YXJkID0gYXN5bmNfdGVzdCgn
Z3VhcmQnKTsKK30sICJSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCIpCisKK3Rlc3QwKCkKKyAg
LnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDEoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4g
dGVzdDIoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDMoKTsgfSkKKyAgLnRoZW4o
KCkgPT4geyByZXR1cm4gdGVzdDQoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDUo
KTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDYoKTsgfSkKKyAgLnRoZW4oKCkgPT4g
eyByZXR1cm4gdGVzdDcoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDgoKTsgfSkK
KyAgLnRoZW4oKCkgPT4geyByZXR1cm4gdGVzdDkoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyByZXR1
cm4gdGVzdDEwKCk7IH0pCisgIC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9KTsKKworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL29ic2VydmUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1MDAzZTA2ZDM1Mzc1MTBhODY1OWM2YjRiNDM0Y2Q3
MDE4MjM3ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9vYnNlcnZlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MDogUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IFJlc2l6ZU9ic2VydmVyCitSZXNpemVPYnNlcnZlciB0ZXN0cwor
Cit0MQordDIKKyAKKworRkFJTCBSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBleHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXIiIG1pc3NpbmcKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRjMWYxOTU4YjM1MDFkZjMyYmI2ODhkMTAwOWIwODIzYjRhMmQ2YWYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9vYnNlcnZlLmh0bWwKQEAgLTAsMCArMSwyMDcgQEAKKzwhZG9jdHlwZSBodG1sPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0PgorPHA+UmVz
aXplT2JzZXJ2ZXIgdGVzdHM8L3A+Cis8ZGl2IGlkPSJ0YXJnZXQxIiBzdHlsZT0id2lkdGg6MTAw
cHg7aGVpZ2h0OjEwMHB4OyI+dDE8L2Rpdj4KKzxkaXYgaWQ9InRhcmdldDIiIHN0eWxlPSJ3aWR0
aDoxMDBweDtoZWlnaHQ6MTAwcHg7Ij50MjwvZGl2PgorPGltZyBpZD0idGFyZ2V0MyIgc3R5bGU9
IndpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsiPgorPGlmcmFtZSBzcmM9Ii4vcmVzb3VyY2VzL2lm
cmFtZS5odG1sIiB3aWR0aD0iMzAwcHgiIGhlaWdodD0iMTAwcHgiIHN0eWxlPSJkaXNwbGF5OmJs
b2NrIj48L2lmcmFtZT4KKzxzY3JpcHQ+CisndXNlIHN0cmljdCc7CisKK2xldCB0MSA9IGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YXJnZXQxJyk7CitsZXQgdDIgPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCcjdGFyZ2V0MicpOworCisvLyBhbGxvdyB1bmNhdWdodCBleGNlcHRpb24gYmVjYXVz
ZSBSZXNpemVPYnNlcnZlciBwb3N0cyBleGNlcHRpb25zCisvLyB0byB3aW5kb3cgZXJyb3IgaGFu
ZGxlciB3aGVuIGxpbWl0IGlzIGV4Y2VlZGVkLgorc2V0dXAoe2FsbG93X3VuY2F1Z2h0X2V4Y2Vw
dGlvbjogdHJ1ZX0pOworCitmdW5jdGlvbiB0ZXN0MCgpIHsKKyAgbGV0IGhlbHBlciA9IG5ldyBS
ZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0MDogc2ltcGxlIG9ic2VydmF0aW9uIiwKKyAgWwor
ICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2Vy
dmUodDEpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICI1cHgiOworICAgICAgfSwKKyAgICAg
IG5vdGlmeTogZW50cmllcyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEsICIxIHBlbmRpbmcgbm90aWZpY2F0aW9uIik7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZW50cmllc1swXS50YXJnZXQsIHQxLCAidGFyZ2V0IGlzIHQxIik7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgNSwgInRhcmdldCB3aWR0aCIpOwor
ICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVu
Y3Rpb24gdGVzdDEoKSB7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXplVGVzdEhlbHBlcigKKyAg
ICAidGVzdDE6IG11bHRpcGxlIG9ic2VydmF0aW9uIG9uIHNhbWUgZWxlbWVudCB0cmlnZ2VyIG9u
bHkgb25lIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodDEpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQxKTsKKyAg
ICAgICAgdDEuc3R5bGUud2lkdGggPSAiMTBweCI7CisgICAgICB9LAorICAgICAgbm90aWZ5OiBl
bnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgIjEg
cGVuZGluZyBub3RpZmljYXRpb24iKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4g
aGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QyKCkgeworICB0ZXN0KCgpID0+IHsK
KyAgICAgIGFzc2VydF90aHJvd3Moe25hbWU6ICJUeXBlRXJyb3IifSwgXz0+IHsKKyAgICAgICAg
bGV0IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHt9KTsKKyAgICAgICAgcm8ub2JzZXJ2
ZSh7fSk7CisgICAgICB9KTsKKyAgICB9LAorICAgICJ0ZXN0MjogdGhyb3cgZXhjZXB0aW9uIHdo
ZW4gb2JzZXJ2aW5nIG5vbi1lbGVtZW50IgorICApOworICByZXR1cm4gUHJvbWlzZS5yZXNvbHZl
KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QzKCkgeworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRl
c3RIZWxwZXIoCisgICAgInRlc3QzOiBkaXNjb25uZWN0IHN0b3BzIGFsbCBub3RpZmljYXRpb25z
IiwgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVy
Lm9ic2VydmUodDEpOworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQyKTsKKyAgICAgICAgb2Jz
ZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgICAgICB0MS5zdHlsZS53aWR0aCA9ICIzMHB4IjsKKyAg
ICAgIH0sCisgICAgICBub3RpZnk6IGVudHJpZXMgPT4geworICAgICAgICAgYXNzZXJ0X3VucmVh
Y2hlZCgibm8gZW50cmllcyBzaG91bGQgYmUgb2JzZXJ2ZWQiKTsKKyAgICAgIH0sCisgICAgICB0
aW1lb3V0OiAoKSA9PiB7CisgICAgICAgIC8vIGV4cGVjdGVkCisgICAgICB9CisgICAgfQorICBd
KTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NCgpIHsKKyAg
bGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0NDogdW5vYnNlcnZl
IHRhcmdldCBzdG9wcyBub3RpZmljYXRpb25zLCB1bm9ic2VydmUgbm9uLW9ic2VydmVkIGRvZXMg
bm90aGluZyIsIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBv
YnNlcnZlci5vYnNlcnZlKHQxKTsKKyAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh0Mik7CisgICAg
ICAgIG9ic2VydmVyLnVub2JzZXJ2ZSh0MSk7CisgICAgICAgIG9ic2VydmVyLnVub2JzZXJ2ZShk
b2N1bWVudC5ib2R5KTsKKyAgICAgICAgdDEuc3R5bGUud2lkdGggPSAiNDBweCI7CisgICAgICAg
IHQyLnN0eWxlLndpZHRoID0gIjQwcHgiOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogZW50cmll
cyA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICJvbmx5IHQy
Iik7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS50YXJnZXQsIHQyLCAidDIgd2Fz
IG9ic2VydmVkIik7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFy
dCgpOworfQorCitmdW5jdGlvbiB0ZXN0NSgpIHsKKyAgbGV0IHQzID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcignI3RhcmdldDMnKTsKKyAgdmFyIGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVy
KCJ0ZXN0NTogb2JzZXJ2ZSBpbWciLFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4g
eworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHQzKTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6
IGVudHJpZXMgPT4geworICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2Vy
dmVyID0+IHsKKyAgICAgICAgdDMuc3R5bGUud2lkdGggPSAiMTAwLjVweCI7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiBlbnRyaWVzID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVz
Lmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVj
dC53aWR0aCwgMTAwLjUpOworICAgICAgfQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIu
c3RhcnQoKTsKK30KKworZnVuY3Rpb24gdGVzdDYoKSB7CisgIGxldCByZXNvbHZlUHJvbWlzZTsK
KyAgbGV0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgIHJlc29sdmVQ
cm9taXNlID0gcmVzb2x2ZTsKKyAgfSk7CisgIGxldCB0ZXN0ID0gYXN5bmNfdGVzdCgndGVzdDY6
IGlmcmFtZSBub3RpZmljYXRpb25zJyk7CisgIGxldCB0ZXN0UmVxdWVzdGVkID0gZmFsc2U7Cisg
IGxldCBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTsKKyAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBldmVudCA9PiB7CisgICAgc3dpdGNoKGV2ZW50
LmRhdGEpIHsKKyAgICBjYXNlICdyZWFkeVRvVGVzdCc6CisgICAgICBpZiAoIXRlc3RSZXF1ZXN0
ZWQpIHsKKyAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoJ3N0YXJ0VGVz
dCcsICcqJyk7CisgICAgICAgIHRlc3RSZXF1ZXN0ZWQgPSB0cnVlOworICAgICAgfQorICAgIGJy
ZWFrOworICAgIGNhc2UgJ3N1Y2Nlc3MnOgorICAgIGNhc2UgJ2ZhaWwnOgorICAgICAgd2luZG93
LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7CisgICAgICAgIHRlc3Quc3RlcCggKCkgPT4g
eworICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQuZGF0YSwgJ3N1Y2Nlc3MnKTsKKyAgICAg
ICAgICB0ZXN0LmRvbmUoKTsKKyAgICAgICAgICByZXNvbHZlUHJvbWlzZSgpOworICAgICAgICB9
KTsKKyAgICAgIH0pOworICAgIGJyZWFrOworICAgIH0KKyAgfSwgZmFsc2UpOworICByZXR1cm4g
cHJvbWlzZTsKK30KKworZnVuY3Rpb24gdGVzdDcoKSB7CisgIGxldCBoYXJuZXNzVGVzdCA9IGFz
eW5jX3Rlc3QoInRlc3Q3OiBjYWxsYmFjay50aGlzIik7CisgIGxldCByZXNvbHZlUHJvbWlzZTsK
KyAgbGV0IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKCBmdW5jdGlvbihlbnRyaWVzLCBvYnMpICB7
CisgICAgbGV0IGNhbGxiYWNrVGhpcyA9IHRoaXM7CisgICAgcmVzb2x2ZVByb21pc2UoKTsKKyAg
ICBoYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoY2FsbGJhY2tU
aGlzLCBybywgImNhbGxiYWNrLnRoaXMgaXMgUmVzaXplT2JzZXJ2ZXIiKTsKKyAgICAgIGFzc2Vy
dF9lcXVhbHMob2JzLCBybywgIjJuZCBhcmd1bWVudCBpcyBSZXNpemVPYnNlcnZlciIpOworICAg
ICAgcm8uZGlzY29ubmVjdCgpOworICAgICAgLy8gZXZlcnkgcmVmZXJlbmNlIHRvIFJPIG11c3Qg
YmUgbnVsbCBiZWZvcmUgdGVzdCBjb21wbGV0ZXMKKyAgICAgIC8vIHRvIGF2b2lkIHRyaWdnZXJp
bmcgdGVzdCBsZWFrLWRldGVjdGlvbgorICAgICAgcm8gPSBudWxsOworICAgICAgY2FsbGJhY2tU
aGlzID0gbnVsbDsKKyAgICAgIG9icyA9IG51bGw7CisgICAgICBoYXJuZXNzVGVzdC5kb25lKCk7
CisgICAgIH0pOworICAgIH0KKyAgKTsKKyAgcm8ub2JzZXJ2ZSh0MSk7CisKKyAgcmV0dXJuIG5l
dyBQcm9taXNlKCAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgcmVzb2x2ZVByb21pc2UgPSBy
ZXNvbHZlOworICB9KTsKK30KKworbGV0IGd1YXJkOwordGVzdChfID0+IHsKKyAgYXNzZXJ0X293
bl9wcm9wZXJ0eSh3aW5kb3csICJSZXNpemVPYnNlcnZlciIpOworICBndWFyZCA9IGFzeW5jX3Rl
c3QoJ2d1YXJkJyk7Cit9LCAiUmVzaXplT2JzZXJ2ZXIgaW1wbGVtZW50ZWQiKQorCit0ZXN0MCgp
CisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QxKCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0
dXJuIHRlc3QyKCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3QzKCk7IH0pCisgIC50
aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q0KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRl
c3Q1KCk7IH0pCisgIC50aGVuKCgpID0+IHsgcmV0dXJuIHRlc3Q2KCk7IH0pCisgIC50aGVuKCgp
ID0+IHsgcmV0dXJuIHRlc3Q3KCk7IH0pCisgIC50aGVuKCgpID0+IHsgZ3VhcmQuZG9uZSgpOyB9
KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZl
ci9yZXNvdXJjZXMvaWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTE4MzE3YjUyMGI2OGNiZjkyYjA5
ZTY3YTU3ZjFlY2QyNzI0Mzc0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9pZnJh
bWUuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxoZWFkPgorICA8c2Ny
aXB0IHNyYz0iLi9yZXNpemVUZXN0SGVscGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxwPmlm
cmFtZSB0ZXN0PC9wPgorPGRpdiBpZD0iaXRhcmdldDEiIHN0eWxlPSJ3aWR0aDoxMDBweDtoZWln
aHQ6MTAwcHg7Ij50MTwvZGl2PgorPHNjcmlwdD4KKyd1c2Ugc3RyaWN0JzsKK2xldCB0MSA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNpdGFyZ2V0MScpOworZnVuY3Rpb24gdGVzdDAoKSB7Cisg
IGxldCB0aW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCggKCkgPT4geworICAgIHdpbmRvdy5w
YXJlbnQucG9zdE1lc3NhZ2UoJ2ZhaWwnLCAnKicpOworICB9LCBSZXNpemVUZXN0SGVscGVyLlRJ
TUVPVVQpOworICBsZXQgcm8gPSBuZXcgUmVzaXplT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcykg
eworICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGltZW91dElkKTsKKyAgICB3aW5kb3cucGFyZW50
LnBvc3RNZXNzYWdlKCdzdWNjZXNzJywgJyonKTsKKyAgfSk7CisgIHJvLm9ic2VydmUodDEpOwor
fQorbGV0IHRlc3RTdGFydGVkID0gZmFsc2U7Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVz
c2FnZScsIGZ1bmN0aW9uKGV2KSB7CisgICAgc3dpdGNoKGV2LmRhdGEpIHsKKyAgICAgICAgY2Fz
ZSAnc3RhcnRUZXN0JzoKKyAgICAgICAgICB0ZXN0U3RhcnRlZCA9IHRydWU7CisgICAgICAgICAg
dGVzdDAoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfSk7CisvLyBIb3cgZG9lcyBwYXJlbnQg
a25vdyB3ZSd2ZSBsb2FkZWQgcHJvYmxlbSBpcyBzb2x2ZWQgYnkKKy8vIGJyb2FkY2FzdGluZyBy
ZWFkeVRvVGVzdCBtZXNzYWdlIHJlcGVhdGVkbHkgdW50aWwgdGVzdCBzdGFydHMuCitmdW5jdGlv
biBicm9hZGNhc3RSZWFkeSgpIHsKKyAgaWYgKCF0ZXN0U3RhcnRlZCkgeworICAgIHdpbmRvdy5w
YXJlbnQucG9zdE1lc3NhZ2UoJ3JlYWR5VG9UZXN0JywgJyonKTsKKyAgICB3aW5kb3cucmVxdWVz
dEFuaW1hdGlvbkZyYW1lKGJyb2FkY2FzdFJlYWR5KTsKKyAgfQorfQorYnJvYWRjYXN0UmVhZHko
KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1v
YnNlcnZlci9yZXNvdXJjZXMvcmVzaXplVGVzdEhlbHBlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MGM2ODFi
ZDkzMzM0NTUyOTE2NzExYmJiZTE2N2JjNGJkNTg4NDczCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIv
cmVzb3VyY2VzL3Jlc2l6ZVRlc3RIZWxwZXIuanMKQEAgLTAsMCArMSwxNDggQEAKKyd1c2Ugc3Ry
aWN0JzsKKworLyoqCisgIFJlc2l6ZVRlc3RIZWxwZXIgaXMgYSBmcmFtZXdvcmsgdG8gdGVzdCBS
ZXNpemVPYnNlcnZlcgorICBub3RpZmljYXRpb25zLiBVc2UgaXQgdG8gbWFrZSBhc3NlcnRpb25z
IGFib3V0IFJlc2l6ZU9ic2VydmVyRW50cmllcy4KKyAgVGhpcyBmcmFtZXdvcmsgaXMgbmVlZGVk
IGJlY2F1c2UgUmVzaXplT2JzZXJ2YXRpb25zIGFyZQorICBkZWxpdmVyZWQgYXN5bmNocm9ub3Vz
bHkgaW5zaWRlIHRoZSBldmVudCBsb29wLgorCisgIEZlYXR1cmVzOgorICAtIGNhbiBxdWV1ZSBt
dWx0aXBsZSBub3RpZmljYXRpb24gc3RlcHMgaW4gYSB0ZXN0CisgIC0gaGFuZGxlcyB0aW1lb3V0
cworICAtIHJldHVybnMgUHJvbWlzZSB0aGF0IGlzIGZ1bGxmaWxsZWQgd2hlbiB0ZXN0IGNvbXBs
ZXRlcy4KKyAgICBVc2UgdG8gY2hhaW4gdGVzdHMgKHNpbmNlIHBhcmFsbGVsIGFzeW5jIFJlc2l6
ZU9ic2VydmVyIHRlc3RzCisgICAgd291bGQgY29uZmxpY3QgaWYgcmV1c2luZyBzYW1lIERPTSBl
bGVtZW50cykuCisKKyAgVXNhZ2U6CisKKyAgY3JlYXRlIFJlc2l6ZVRlc3RIZWxwZXIgZm9yIGV2
ZXJ5IHRlc3QuCisgIE1ha2UgYXNzZXJ0aW9ucyBpbnNpZGUgbm90aWZ5LCB0aW1lb3V0IGNhbGxi
YWNrcy4KKyAgU3RhcnQgdGVzdHMgd2l0aCBoZWxwZXIuc3RhcnQoKQorICBDaGFpbiB0ZXN0cyB3
aXRoIFByb21pc2VzLgorICBDb3VudHMgYW5pbWF0aW9uIGZyYW1lcywgc2VlIHN0YXJ0Q291bnRp
bmdSYWYKKyovCisKKy8qCisgIEBwYXJhbSBuYW1lOiB0ZXN0IG5hbWUKKyAgQHBhcmFtIHN0ZXBz
OgorICB7CisgICAgc2V0dXA6IGZ1bmN0aW9uKFJlc2l6ZU9ic2VydmVyKSB7CisgICAgICAvLyBj
YWxsZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgdGVzdCBzdGVwCisgICAgICAvLyB5b3VyIG9i
c2VydmUvcmVzaXplIGNvZGUgZ29lcyBoZXJlCisgICAgfSwKKyAgICBub3RpZnk6IGZ1bmN0aW9u
KGVudHJpZXMsIG9ic2VydmVyKSB7CisgICAgICAvLyBSZXNpemVPYnNlcnZlciBjYWxsYmFjay4K
KyAgICAgIC8vIE1ha2UgYXNzZXJ0aW9ucyBoZXJlLgorICAgICAgLy8gUmV0dXJuIHRydWUgaWYg
bmV4dCBzdGVwIHNob3VsZCBzdGFydCBvbiB0aGUgbmV4dCBldmVudCBsb29wLgorICAgIH0sCisg
ICAgdGltZW91dDogZnVuY3Rpb24oKSB7CisgICAgICAvLyBEZWZpbmUgdGhpcyBpZiB5b3VyIHRl
c3QgZXhwZWN0cyB0byB0aW1lIG91dC4KKyAgICAgIC8vIElmIHVuZGVmaW5lZCwgdGltZW91dCBp
cyBhc3NlcnRfdW5yZWFjaGVkLgorICAgIH0KKyAgfQorKi8KK2Z1bmN0aW9uIFJlc2l6ZVRlc3RI
ZWxwZXIobmFtZSwgc3RlcHMpCit7CisgICAgdGhpcy5fbmFtZSA9IG5hbWU7CisgICAgdGhpcy5f
c3RlcHMgPSBzdGVwcyB8fCBbXTsKKyAgICB0aGlzLl9zdGVwSWR4ID0gLTE7CisgICAgdGhpcy5f
aGFybmVzc1Rlc3QgPSBudWxsOworICAgIHRoaXMuX29ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2Vy
dmVyKHRoaXMuX2hhbmRsZU5vdGlmaWNhdGlvbi5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl90aW1l
b3V0QmluZCA9IHRoaXMuX2hhbmRsZVRpbWVvdXQuYmluZCh0aGlzKTsKKyAgICB0aGlzLl9uZXh0
U3RlcEJpbmQgPSB0aGlzLl9uZXh0U3RlcC5iaW5kKHRoaXMpOworfQorCitSZXNpemVUZXN0SGVs
cGVyLlRJTUVPVVQgPSAxMDA7CisKK1Jlc2l6ZVRlc3RIZWxwZXIucHJvdG90eXBlID0geworICBn
ZXQgX2N1cnJlbnRTdGVwKCkgeworICAgIHJldHVybiB0aGlzLl9zdGVwc1t0aGlzLl9zdGVwSWR4
XTsKKyAgfSwKKworICBfbmV4dFN0ZXA6IGZ1bmN0aW9uKCkgeworICAgIGlmICgrK3RoaXMuX3N0
ZXBJZHggPT0gdGhpcy5fc3RlcHMubGVuZ3RoKQorICAgICAgcmV0dXJuIHRoaXMuX2RvbmUoKTsK
KyAgICB0aGlzLl90aW1lb3V0SWQgPSB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwX3RpbWVvdXQoCisg
ICAgICB0aGlzLl90aW1lb3V0QmluZCwgUmVzaXplVGVzdEhlbHBlci5USU1FT1VUKTsKKyAgICB0
cnkgeworICAgICAgdGhpcy5fc3RlcHNbdGhpcy5fc3RlcElkeF0uc2V0dXAodGhpcy5fb2JzZXJ2
ZXIpOworICAgIH0KKyAgICBjYXRjaChlcnIpIHsKKyAgICAgIHRoaXMuX2hhcm5lc3NUZXN0LnN0
ZXAoKCkgPT4geworICAgICAgICBhc3NlcnRfdW5yZWFjaGVkKCJDYXVnaHQgYSB0aHJvdywgcG9z
c2libGUgc3ludGF4IGVycm9yIik7CisgICAgICB9KTsKKyAgICB9CisgIH0sCisKKyAgX2hhbmRs
ZU5vdGlmaWNhdGlvbjogZnVuY3Rpb24oZW50cmllcykgeworICAgIGlmICh0aGlzLl90aW1lb3V0
SWQpIHsKKyAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fdGltZW91dElkKTsKKyAgICAg
IGRlbGV0ZSB0aGlzLl90aW1lb3V0SWQ7CisgICAgfQorICAgIHRoaXMuX2hhcm5lc3NUZXN0LnN0
ZXAoKCkgPT4geworICAgICAgbGV0IHJhZkRlbGF5ID0gdGhpcy5fY3VycmVudFN0ZXAubm90aWZ5
KGVudHJpZXMsIHRoaXMuX29ic2VydmVyKTsKKyAgICAgIGlmIChyYWZEZWxheSkKKyAgICAgICAg
d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLl9uZXh0U3RlcEJpbmQpOworICAgICAg
ZWxzZQorICAgICAgICB0aGlzLl9uZXh0U3RlcCgpOworICAgIH0pOworICB9LAorCisgIF9oYW5k
bGVUaW1lb3V0OiBmdW5jdGlvbigpIHsKKyAgICBkZWxldGUgdGhpcy5fdGltZW91dElkOworICAg
IHRoaXMuX2hhcm5lc3NUZXN0LnN0ZXAoKCkgPT4geworICAgICAgaWYgKHRoaXMuX2N1cnJlbnRT
dGVwLnRpbWVvdXQpIHsKKyAgICAgICAgdGhpcy5fY3VycmVudFN0ZXAudGltZW91dCgpOworICAg
ICAgfQorICAgICAgZWxzZSB7CisgICAgICAgIGFzc2VydF91bnJlYWNoZWQoIlRpbWVkIG91dCB3
YWl0aW5nIGZvciBub3RpZmljYXRpb24uICgiICsgUmVzaXplVGVzdEhlbHBlci5USU1FT1VUICsg
Im1zKSIpOworICAgICAgfQorICAgICAgdGhpcy5fbmV4dFN0ZXAoKTsKKyAgICB9KTsKKyAgfSwK
KworICBfZG9uZTogZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fb2JzZXJ2ZXIuZGlzY29ubmVjdCgp
OworICAgIGRlbGV0ZSB0aGlzLl9vYnNlcnZlcjsKKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5kb25l
KCk7CisgICAgaWYgKHRoaXMuX3JhZkNvdW50UmVxdWVzdCkgeworICAgICAgd2luZG93LmNhbmNl
bEFuaW1hdGlvbkZyYW1lKHRoaXMuX3JhZkNvdW50UmVxdWVzdCk7CisgICAgICBkZWxldGUgdGhp
cy5fcmFmQ291bnRSZXF1ZXN0OworICAgIH0KKyAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZy
YW1lKCgpID0+IHsgdGhpcy5fcmVzb2x2ZVByb21pc2UoKTsgfSk7CisgIH0sCisKKyAgc3RhcnQ6
IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2hhcm5lc3NUZXN0ID0gYXN5bmNfdGVzdCh0aGlzLl9u
YW1lKTsKKyAgICB0aGlzLl9oYXJuZXNzVGVzdC5zdGVwKCgpID0+IHsKKyAgICAgIGFzc2VydF9l
cXVhbHModGhpcy5fc3RlcElkeCwgLTEsICJzdGFydCBjYW4gb25seSBiZSBjYWxsZWQgb25jZSIp
OworICAgICAgdGhpcy5fbmV4dFN0ZXAoKTsKKyAgICB9KTsKKyAgICByZXR1cm4gbmV3IFByb21p
c2UoIChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgIHRoaXMuX3Jlc29sdmVQcm9taXNlID0g
cmVzb2x2ZTsKKyAgICAgIHRoaXMuX3JlamVjdFByb21pc2UgPSByZWplY3Q7CisgICAgfSk7Cisg
IH0sCisKKyAgZ2V0IHJhZkNvdW50KCkgeworICAgIGlmICghdGhpcy5fcmFmQ291bnRSZXF1ZXN0
KQorICAgICAgdGhyb3cgInJBRiBjb3VudCBpcyBub3QgYWN0aXZlIjsKKyAgICByZXR1cm4gdGhp
cy5fcmFmQ291bnQ7CisgIH0sCisKKyAgX2luY3JlbWVudFJhZjogZnVuY3Rpb24oKSB7CisgICAg
aWYgKHRoaXMuX3JhZkNvdW50UmVxdWVzdCkgeworICAgICAgdGhpcy5fcmFmQ291bnQrKzsKKyAg
ICAgIHRoaXMuX3JhZkNvdW50UmVxdWVzdCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
dGhpcy5faW5jcmVtZW50UmFmQmluZCk7CisgICAgfQorICB9LAorCisgIHN0YXJ0Q291bnRpbmdS
YWY6IGZ1bmN0aW9uKCkgeworICAgIGlmICh0aGlzLl9yYWZDb3VudFJlcXVlc3QpCisgICAgICB3
aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmQ291bnRSZXF1ZXN0KTsKKyAgICBp
ZiAoIXRoaXMuX2luY3JlbWVudFJhZkJpbmQpCisgICAgICB0aGlzLl9pbmNyZW1lbnRSYWZCaW5k
ID0gdGhpcy5faW5jcmVtZW50UmFmLmJpbmQodGhpcyk7CisgICAgdGhpcy5fcmFmQ291bnQgPSAw
OworICAgIHRoaXMuX3JhZkNvdW50UmVxdWVzdCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJh
bWUodGhpcy5faW5jcmVtZW50UmFmQmluZCk7CisgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291
cmNlcy93M2MtaW1wb3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy93M2MtaW1wb3J0LmxvZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZjM3Y2VhNWZjMDY0YWRhNzlhY2VjMGRmM2MzOGYxNmZhYzAxMzgwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNp
emUtb2JzZXJ2ZXIvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMTggQEAKK1Ro
ZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBv
c2l0b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJ
bnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6
Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xz
L1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9U
IG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRp
ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZp
bGVzOgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL3Jlc291cmNlcy9pZnJhbWUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9ic2VydmVyL3Jlc291cmNlcy9yZXNpemVUZXN0
SGVscGVyLmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9zdmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kY2Y4MzZlNWYyMGFhYTM4YjE3ZjMwZDRjYTJkYWFiNGVjYTAz
MzMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkg
QEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA1MDogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IFJlc2l6ZU9ic2VydmVyCitSZXNpemVPYnNlcnZlciBzdmcgdGVzdHMKKworSGVy
ZSBpcyBhIHBhcmFncmFwaCB0aGF0IHJlcXVpcmVzIHdvcmQgd3JhcAorCitzdmcgdGV4dCB0YWcK
KworRkFJTCBSZXNpemVPYnNlcnZlciBpbXBsZW1lbnRlZCBhc3NlcnRfb3duX3Byb3BlcnR5OiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUmVzaXplT2JzZXJ2ZXIiIG1pc3NpbmcKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2
ZXIvc3ZnLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc2l6ZS1vYnNlcnZlci9zdmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lM2ExYWI2NjA3NjA5NjVmMmIx
MDhlOGI2MTc0MjdlNTcwNzBlNjNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwKQEAg
LTAsMCArMSwzMzMgQEAKKzwhZG9jdHlwZSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL3Jlc2l6
ZVRlc3RIZWxwZXIuanMiPjwvc2NyaXB0PgorPHA+UmVzaXplT2JzZXJ2ZXIgc3ZnIHRlc3RzPC9w
PgorPHN2ZyBoZWlnaHQ9IjQzMCIgd2lkdGg9IjUwMCIgPgorICA8Y2lyY2xlIGN4PSIxMCIgY3k9
IjEwIiByPSI1IiBzdHlsZT0iZmlsbDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDox
IiAvPgorICA8ZWxsaXBzZSBjeD0iMTAiIGN5PSIzMCIgcng9IjUiIHJ5PSI1IiBzdHlsZT0iZmls
bDpvcmFuZ2U7c3Ryb2tlOmJsYWNrO3N0cm9rZS13aWR0aDoxIi8+CisgIDxmb3JlaWduT2JqZWN0
IGN5PSI1MCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIyMCI+CisgICAgPGJvZHk+CisgICAgICA8cD5I
ZXJlIGlzIGEgcGFyYWdyYXBoIHRoYXQgcmVxdWlyZXMgd29yZCB3cmFwPC9wPgorICAgIDwvYm9k
eT4KKyAgPC9mb3JlaWduT2JqZWN0PgorICA8aW1hZ2UgeGxpbms6aHJlZj0iIiB4PSIwIiB5PSIx
MDAiIGhlaWdodD0iMzAiIHdpZHRoPSIxMDAiIC8+CisgIDxsaW5lIHgxPSIwIiB5MT0iNTAiIHgy
PSIyMCIgeTI9IjcwIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiLz4KKyAgPHBhdGgg
ZD0iTSAwIDEwMCBMIDEwMCAxMDAgTCA1MCAxNTAgeiIKKyAgICAgICAgc3R5bGU9ImZpbGw6b3Jh
bmdlO3N0cm9rZTpibGFjaztzdHJva2Utd2lkdGg6MSIgLz4KKyAgPHBvbHlnb24gcG9pbnRzPSIw
LDIwMCAxMDAsMjAwIDUwLDI1MCIgc3R5bGU9ImZpbGw6b3JhbmdlO3N0cm9rZTpibGFjaztzdHJv
a2Utd2lkdGg6MSIgLz4KKyAgPHBvbHlsaW5lIHBvaW50cz0iMCwzMDAgMTAwLDMwMCA1MCwzNTAi
IHN0eWxlPSJmaWxsOm9yYW5nZTtzdHJva2U6YmxhY2s7c3Ryb2tlLXdpZHRoOjEiLz4KKyAgPHJl
Y3QgeD0iMCIgeT0iMzgwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHN0eWxlPSJmaWxsOm9yYW5n
ZTsgc3Ryb2tlOmJsYWNrOyBzdHJva2Utd2lkdGg6MSIgLz4KKyAgPHRleHQgeD0iMCIgeT0iNDAw
IiBmb250LXNpemU9IjIwIj5zdmcgdGV4dCB0YWc8L3RleHQ+Cis8L3N2Zz4KKzxzY3JpcHQ+Cisn
dXNlIHN0cmljdCc7CisKK3NldHVwKHthbGxvd191bmNhdWdodF9leGNlcHRpb246IHRydWV9KTsK
KworZnVuY3Rpb24gdGVzdDAoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCdjaXJjbGUnKTsKKyAgbGV0IGhlbHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAg
ICJ0ZXN0MDogb2JzZXJ2ZSBzdmc6Y2lyY2xlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0s
CisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4g
dHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAg
c2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncicsIDEw
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgIH0KKyAgICB9Cisg
IF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QxKCkgewor
ICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZWxsaXBzZScpOworICBsZXQg
aGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxOiBvYnNlcnZlIHN2Zzpl
bGxpcHNlIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAg
IG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRy
aWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQg
c3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsK
KyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncngnLCAxMCk7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhl
bnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC53aWR0aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3QuaGVpZ2h0LCAxMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhl
bHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MigpIHsKKyAgbGV0IHRhcmdldCA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ZvcmVpZ25PYmplY3QnKTsKKyAgbGV0IGhlbHBlciA9IG5l
dyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0Mjogb2JzZXJ2ZSBzdmc6Zm9yZWlnbk9iamVj
dCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAK
KyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgMjAwKTsKKyAgICAgIH0sCisgICAgICBu
b3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRl
bnRSZWN0LndpZHRoLCAyMDApOworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29u
dGVudFJlY3QuaGVpZ2h0LCAyMCk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJuIGhl
bHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0MygpIHsKKyAgbGV0IHRhcmdldCA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2ltYWdlJyk7CisgIGxldCBoZWxwZXIgPSBuZXcgUmVzaXpl
VGVzdEhlbHBlcigKKyAgICAidGVzdDM6IG9ic2VydmUgc3ZnOmltYWdlIiwKKyAgWworICAgIHsK
KyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFy
Z2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4gewor
ICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0s
CisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0
dHJpYnV0ZSgnaGVpZ2h0JywgNDApOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMs
IG9ic2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEp
OworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEw
MCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQs
IDQwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9
CisKK2Z1bmN0aW9uIHRlc3Q0KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvcignbGluZScpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAg
InRlc3Q0OiBvYnNlcnZlIHN2ZzpsaW5lIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNl
cnZlciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisg
ICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1
ZTsgIC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0
dXA6IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgneTInLCA4MCk7
CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMjApOworICAgICAgICBhc3NlcnRfZXF1
YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3QuaGVpZ2h0LCAzMCk7CisgICAgICB9CisgICAgfQor
ICBdKTsKKyAgcmV0dXJuIGhlbHBlci5zdGFydCgpOworfQorCitmdW5jdGlvbiB0ZXN0NSgpIHsK
KyAgbGV0IHRhcmdldCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3BhdGgnKTsKKyAgbGV0IGhl
bHBlciA9IG5ldyBSZXNpemVUZXN0SGVscGVyKAorICAgICJ0ZXN0NTogb2JzZXJ2ZSBzdmc6cGF0
aCIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIgPT4geworICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAvLyBEZWxheSBuZXh0IHN0ZXAK
KyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ2QnLCAiTSAwIDEwMCBMIDEwMCAxMDAgTCA1MCAxNjAg
eiIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9ic2VydmVyKSA9PiB7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYwKTsKKyAgICAgIH0KKyAg
ICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q2
KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncG9seWdvbicpOwor
ICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q2OiBvYnNlcnZl
IHN2ZzpwYXRoIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAg
ICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChl
bnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5l
eHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+
IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgncG9pbnRzJywgIjAsMjAwIDEwMCwyMDAg
NTAsMjYwIik7CisgICAgICB9LAorICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+
IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICAgIGFz
c2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC53aWR0aCwgMTAwKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LmhlaWdodCwgNjApOworICAgICAg
fQorICAgIH0KKyAgXSk7CisgIHJldHVybiBoZWxwZXIuc3RhcnQoKTsKK30KKworZnVuY3Rpb24g
dGVzdDcoKSB7CisgIGxldCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdwb2x5bGlu
ZScpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q3OiBv
YnNlcnZlIHN2Zzpwb2x5bGluZSIsCisgIFsKKyAgICB7CisgICAgICBzZXR1cDogb2JzZXJ2ZXIg
PT4geworICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7CisgICAgICB9LAorICAgICAg
bm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgcmV0dXJuIHRydWU7ICAv
LyBEZWxheSBuZXh0IHN0ZXAKKyAgICAgIH0KKyAgICB9LAorICAgIHsKKyAgICAgIHNldHVwOiBv
YnNlcnZlciA9PiB7CisgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoJ3BvaW50cycsICIwLDMw
MCAxMDAsMzAwIDUwLDM2MCIpOworICAgICAgfSwKKyAgICAgIG5vdGlmeTogKGVudHJpZXMsIG9i
c2VydmVyKSA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNbMF0uY29udGVudFJlY3Qud2lkdGgsIDEwMCk7
CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDYw
KTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisK
K2Z1bmN0aW9uIHRlc3Q4KCkgeworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigncmVjdCcpOworICBsZXQgaGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRl
c3Q4OiBvYnNlcnZlIHN2ZzpyZWN0IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAg
ICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsg
IC8vIERlbGF5IG5leHQgc3RlcAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6
IG9ic2VydmVyID0+IHsKKyAgICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCAiMjAi
KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzWzBdLmNvbnRlbnRSZWN0LndpZHRoLCAyMCk7CisgICAgICAgIGFzc2VydF9l
cXVhbHMoZW50cmllc1swXS5jb250ZW50UmVjdC5oZWlnaHQsIDEwKTsKKyAgICAgIH0KKyAgICB9
CisgIF0pOworICByZXR1cm4gaGVscGVyLnN0YXJ0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3Q5KCkg
eworICBsZXQgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigndGV4dCcpOworICBsZXQg
aGVscGVyID0gbmV3IFJlc2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3Q5OiBvYnNlcnZlIHN2Zzp0
ZXh0IiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZlciA9PiB7CisgICAgICAgIG9i
c2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAgICBub3RpZnk6IChlbnRyaWVz
LCBvYnNlcnZlcikgPT4geworICAgICAgICByZXR1cm4gdHJ1ZTsgIC8vIERlbGF5IG5leHQgc3Rl
cAorICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgc2V0dXA6IG9ic2VydmVyID0+IHsKKyAg
ICAgICAgdGFyZ2V0LnNldEF0dHJpYnV0ZSgnZm9udC1zaXplJywgIjI1Iik7CisgICAgICB9LAor
ICAgICAgbm90aWZ5OiAoZW50cmllcywgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgICAgICB9CisgICAgfQorICBdKTsKKyAgcmV0dXJu
IGhlbHBlci5zdGFydCgpOworfQorCisKK2Z1bmN0aW9uIHRlc3QxMCgpIHsKKyAgbGV0IHRhcmdl
dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpOworICBsZXQgaGVscGVyID0gbmV3IFJl
c2l6ZVRlc3RIZWxwZXIoCisgICAgInRlc3QxMDogb2JzZXJ2ZSBzdmc6c3ZnLCB0b3AvbGVmdCBp
cyAwIGV2ZW4gd2l0aCBwYWRkaW5nIiwKKyAgWworICAgIHsKKyAgICAgIHNldHVwOiBvYnNlcnZl
ciA9PiB7CisgICAgICAgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgICAgIH0sCisgICAg
ICBub3RpZnk6IChlbnRyaWVzLCBvYnNlcnZlcikgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxz
KGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzWzBdLmNv
bnRlbnRSZWN0LnRvcCwgMCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cmllc1swXS5jb250
ZW50UmVjdC5sZWZ0LCAwKTsKKyAgICAgIH0KKyAgICB9CisgIF0pOworICByZXR1cm4gaGVscGVy
LnN0YXJ0KCk7Cit9CisKK2xldCBndWFyZDsKK3Rlc3QoXyA9PiB7CisgIGFzc2VydF9vd25fcHJv
cGVydHkod2luZG93LCAiUmVzaXplT2JzZXJ2ZXIiKTsKKyAgZ3VhcmQgPSBhc3luY190ZXN0KCdn
dWFyZCcpOworfSwgIlJlc2l6ZU9ic2VydmVyIGltcGxlbWVudGVkIikKKwordGVzdDAoKQorICAu
dGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0
ZXN0MigpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0MygpOyB9KQorICAudGhlbigo
KSA9PiB7IHJldHVybiB0ZXN0NCgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NSgp
OyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0NigpOyB9KQorICAudGhlbigoKSA9PiB7
IHJldHVybiB0ZXN0NygpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0OCgpOyB9KQor
ICAudGhlbigoKSA9PiB7IHJldHVybiB0ZXN0OSgpOyB9KQorICAudGhlbigoKSA9PiB7IHJldHVy
biB0ZXN0MTAoKTsgfSkKKyAgLnRoZW4oKCkgPT4geyBndWFyZC5kb25lKCk7IH0pOworCis8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvdzNjLWltcG9ydC5sb2cK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTY0MWVlYzJjOGUwOWQxNDMzZjdmMDVlOWQ4YjIwMmZiM2M5ZDVkNQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzaXplLW9ic2VydmVyL3czYy1pbXBvcnQubG9nCkBAIC0wLDAgKzEsMjIgQEAKK1RoZSB0
ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0
b3J5LgorRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCitJbnN0
ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6CisJaHR0cHM6Ly9n
aXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKKworVGhlbiBydW4gdGhlIFRvb2xzL1Nj
cmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKKworRG8gTk9UIG1v
ZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1Byb3BlcnRpZXMg
cmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKK05vbmUKK1Byb3BlcnR5IHZhbHVlcyByZXF1aXJp
bmcgdmVuZG9yIHByZWZpeGVzOgorTm9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMaXN0IG9mIGZpbGVz
OgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXplLW9i
c2VydmVyL01FVEEueW1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvZXZlbnRsb29wLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc2l6ZS1vYnNlcnZlci9pZGxoYXJuZXNzLndpbmRv
dy5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzaXpl
LW9ic2VydmVyL25vdGlmeS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvb2JzZXJ2ZS5odG1sCisvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNpemUtb2JzZXJ2ZXIvc3ZnLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>