<?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>144840</bug_id>
          
          <creation_ts>2015-05-09 20:49:13 -0700</creation_ts>
          <short_desc>run-benchmark should support SunSpider, Kraken and Octane</short_desc>
          <delta_ts>2015-05-11 15:38:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>144842</blocked>
    
    <blocked>144849</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>glenn</cc>
    
    <cc>kling</cc>
    
    <cc>msaboff</cc>
    
    <cc>ossy</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1093498</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-09 20:49:13 -0700</bug_when>
    <thetext>We should be able to run SunSpider and Kraken using run-benchmark.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093502</commentid>
    <comment_count>1</comment_count>
      <attachid>252804</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-09 21:05:22 -0700</bug_when>
    <thetext>Created attachment 252804
Adds the support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093506</commentid>
    <comment_count>2</comment_count>
      <attachid>252804</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-10 00:51:57 -0700</bug_when>
    <thetext>Comment on attachment 252804
Adds the support

Let me change the strategy a little...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093509</commentid>
    <comment_count>3</comment_count>
      <attachid>252807</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-10 01:25:18 -0700</bug_when>
    <thetext>Created attachment 252807
Adds the support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093514</commentid>
    <comment_count>4</comment_count>
      <attachid>252810</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-10 03:22:18 -0700</bug_when>
    <thetext>Created attachment 252810
Fixed a bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093515</commentid>
    <comment_count>5</comment_count>
      <attachid>252811</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-10 03:26:30 -0700</bug_when>
    <thetext>Created attachment 252811
Fixed kraken.plan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093897</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-11 14:42:06 -0700</bug_when>
    <thetext>Thanks for the reviews, Darin!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093898</commentid>
    <comment_count>7</comment_count>
      <attachid>252811</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-11 14:42:14 -0700</bug_when>
    <thetext>Comment on attachment 252811
Fixed kraken.plan

Clearing flags on attachment: 252811

Committed r184124: &lt;http://trac.webkit.org/changeset/184124&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093899</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-11 14:42:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093907</commentid>
    <comment_count>9</comment_count>
      <attachid>252811</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2015-05-11 15:19:39 -0700</bug_when>
    <thetext>Comment on attachment 252811
Fixed kraken.plan

View in context: https://bugs.webkit.org/attachment.cgi?id=252811&amp;action=review

&gt; Tools/Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan:6
&gt; +    &quot;remote_archive&quot;: &quot;../../../../PerformanceTests/JetStream&quot;,

Is this supposed to be local_copy?

&gt; Tools/Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan:8
&gt; +    &quot;create_script&quot;: [&quot;ruby&quot;, &quot;create.rb&quot;],

Since it only runs on the machine that is under control, it may not be a security issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093912</commentid>
    <comment_count>10</comment_count>
      <attachid>252811</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-11 15:35:57 -0700</bug_when>
    <thetext>Comment on attachment 252811
Fixed kraken.plan

View in context: https://bugs.webkit.org/attachment.cgi?id=252811&amp;action=review

&gt;&gt; Tools/Scripts/webkitpy/benchmark_runner/data/plans/jetstream.plan:6
&gt;&gt; +    &quot;remote_archive&quot;: &quot;../../../../PerformanceTests/JetStream&quot;,
&gt; 
&gt; Is this supposed to be local_copy?

Oops, right. Will fix that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093914</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-05-11 15:38:31 -0700</bug_when>
    <thetext>Fixed in http://trac.webkit.org/changeset/184126.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252804</attachid>
            <date>2015-05-09 21:05:22 -0700</date>
            <delta_ts>2015-05-10 00:51:57 -0700</delta_ts>
            <desc>Adds the support</desc>
            <filename>bug-144840-20150509210403.patch</filename>
            <type>text/plain</type>
            <size>17495</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDMyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2I2YTUxODA4NDg2MTA3YzIxOGM4NzY3ZTI2OTAzMzRk
YWQyOGRhMy4uMGZiMTUxZmYyMzZlOGU0ZTAxZWJkZTZlYjUwOTkxNjhiZjYxZTI5ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU1
IEBACiAyMDE1LTA1LTA5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCisgICAg
ICAgIHJ1bi1iZW5jaG1hcmsgc2hvdWxkIHN1cHBvcnQgU3VuU3BpZGVyIGFuZCBLcmFrZW4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDg0MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBz
dXBwb3J0IGZvciBTdW5TcGlkZXIgYW5kIEtyYWtlbi4gQmVjYXVzZSBvZiB0aGUgbGljZW5zaW5n
IGlzc3Vlcywgd2UgY2FuJ3QgY29tbWl0IHRoZSBLcmFrZW4KKyAgICAgICAgc291cmNlIGNvZGUg
aW50byB0aGUgV2ViS2l0IHJlcG9zaXRvcnkgYXMgZG9uZSBmb3Igb3RoZXIgYmVuY2htYXJrcy4g
SW5zdGVhZCwgd2UnbGwgZHluYW1pY2FsbHkgZG93bmxvYWQKKyAgICAgICAgaXQgZnJvbSB0aGUg
cmVtb3RlIHNlcnZlciB1c2luZyBuZXdseSBhZGRlZCBSZW1vdGVaaXBCZW5jaG1hcmtCdWlsZGVy
LgorCisgICAgICAgIEFsc28gZ2VuZXJhbGl6ZWQgdGhlIGFiaWxpdHkgdG8gcnVuIGEgImNyZWF0
ZSBzY3JpcHQiIGluIEpldFN0cmVhbUJlbmNobWFya0J1aWxkZXIgc2luY2UgaXQncyBhbHNvIG5l
ZWRlZAorICAgICAgICBmb3IgU3VuU3BpZGVyIGFuZCBLcmFrZW4uIFRoaXMgZmVhdHVyZSBoYXMg
bm93IGJlZW4gZm9sZGVkIGludG8gR2VuZXJpY0JlbmNobWFya0J1aWxkZXIuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvYmVu
Y2htYXJrX2J1aWxkZXJzLmpzb246IEFkZGVkCisgICAgICAgIFJlbW90ZVppcEJlbmNobWFya0J1
aWxkZXIgZm9yIEtyYWtlbiBhbmQgcmVtb3ZlZCBKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyIHNp
bmNlIEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyCisgICAgICAgIG5vdyBoYXMgdGhlIGFiaWxpdHkg
dG8gcnVuIGFuIGFyYml0cmFyeSAiY3JlYXRlIHNjcmlwdCIuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvZ2VuZXJpY19iZW5j
aG1hcmtfYnVpbGRlci5weToKKyAgICAgICAgKEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyLl9faW5p
dF9fKTogQWRkZWQuIEluaXRpYWxpemUgdHdvIG1lbWJlciB2YXJpYWJsZXMgdXNlZCB0aHJvdWdo
b3V0IHRoZSBjbGFzcy4KKyAgICAgICAgKEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyLnByZXBhcmUp
OiBNb3ZlZCB0aGUgbG9nZ2luZyBmb3Igd2ViUm9vdCBoZXJlLiBBbHNvIGNhbGwgc2VsZi5jbGVh
bigpIGFzIG5lZWRlZAorICAgICAgICBoZXJlIGluc3RlYWQgb2YgcmVseWluZyBvbiBfYXBwbHlQ
YXRjaCB0byBkbyBpdC4KKyAgICAgICAgKEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyLl9ydW5DcmVh
dGVTY3JpcHQpOiBNb3ZlZCBmcm9tIEpldFN0cmVhbUJlbmNobWFya0J1aWxkZXIuX3J1bkNyZWF0
ZVNjcmlwdCBzaW5jZQorICAgICAgICBKZXRTdHJlYW0sIFN1blNwaWRlciwgS3Jha2VuIGFsbCB1
c2UgdGhpcyBmZWF0dXJlLgorICAgICAgICAoR2VuZXJpY0JlbmNobWFya0J1aWxkZXIuX2NvcHlC
ZW5jaG1hcmtUb1RlbXBEaXIpOgorICAgICAgICAoR2VuZXJpY0JlbmNobWFya0J1aWxkZXIuX2Fw
cGx5UGF0Y2gpOiBEb24ndCBzdXBwcmVzcyB0aGUgZXhjZXB0aW9uIGhlcmUgYW5kIGJsb3cgdXAg
bXlzdGVyaW91c2x5IGxhdGVyLgorICAgICAgICBUaGUgY2FsbCB0byBzZWxmLmNsZWFuKCkgaGFz
IGJlZW4gbW92ZWQgdG8gcHJlcGFyZSgpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2pldHN0cmVhbV9iZW5jaG1hcmtfYnVp
bGRlci5weTogRGVsZXRlZC4KKyAgICAgICAgKEpldFN0cmVhbUJlbmNobWFya0J1aWxkZXIucHJl
cGFyZSk6CisgICAgICAgIChKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyLl9ydW5DcmVhdGVTY3Jp
cHQpOiBNb3ZlZCB0byBHZW5lcmljQmVuY2htYXJrQnVpbGRlci4KKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfYnVpbGRlci9yZW1vdGVfemlw
X2JlbmNobWFya19idWlsZGVyLnB5OiBBZGRlZC4KKyAgICAgICAgKFJlbW90ZVppcEJlbmNobWFy
a0J1aWxkZXIuX2NvcHlCZW5jaG1hcmtUb1RlbXBEaXIpOiBEb3dubG9hZCB0aGUgYmVuY2htYXJr
IGFzIGEgWklQIGZpbGUgZnJvbSBhIHJlbW90ZQorICAgICAgICBzZXJ2ZXIgYW5kIHVuemlwIGl0
IGluc2lkZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weToKKyAgICAgICAgKEJlbmNo
bWFya1J1bm5lci5leGVjdXRlKTogUGFzcyBpbiB0aGUgbmV3bHkgYWRkZWQgJ2NyZWF0ZV9zY3Jp
cHQnIG9wdGlvbiBpbiB0aGUgcGxhbi4gQWxzbyB1c2UgZGljdC5nZXQKKyAgICAgICAgaW5zdGVh
ZCBvZiBleHBsaWNpdCAiWVtYXSBpZiBYIGluIFkgZWxzZSBOb25lIiBwYXR0ZXJuLgorICAgICAg
ICAKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRj
aGVzL0tyYWtlbi5wYXRjaDogQWRkZWQuIFBhdGNoZXMgS3Jha2VuIHRvIHJlcG9ydCByZXN1bHRz
LgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNo
ZXMvU3VuU3BpZGVyLnBhdGNoOiBEaXR0byBmb3IgU3VuU3BpZGVyLgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL2pldHN0cmVhbS5wbGFuOiBB
ZGRlZCAnY3JlYXRlX3NjcmlwdCcgdG8gcnVuICdjcmVhdGUucmInLgorICAgICAgICBBbHNvIHVz
ZXMgR2VuZXJpY0JlbmNobWFya0J1aWxkZXIgaW5zdGVhZCBvZiBKZXRTdHJlYW1CZW5jaG1hcmtC
dWlsZGVyLiBTZWUgYWJvdmUuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL2RhdGEvcGxhbnMva3Jha2VuLnBsYW46IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL3N1bnNwaWRlci5wbGFuOiBBZGRl
ZC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2Vy
X2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weToKKyAgICAgICAgKE9TWFNhZmFyaURyaXZlci5s
YXVuY2hVcmwpOgorCisyMDE1LTA1LTA5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgorCiAgICAgICAgIE1ha2UgYXJndW1lbnRzIG9mIHJ1bi1iZW5jaG1hcmsgbW9yZSB1c2VyIGZy
aWVuZGx5CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDQ4MzUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2JlbmNobWFya19idWlsZGVyL2JlbmNobWFya19idWlsZGVycy5qc29uIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2JlbmNobWFy
a19idWlsZGVycy5qc29uCmluZGV4IGI4ZmM5MzJlNmU5ZGU1YTExNGFkZjhjMGUwYTU2MGRjMzVl
NDEwNTYuLjRiZGFkMDJkNGVkY2M2YWI0ZDZmYjI4MGJhNmRhY2ZmMTk0NTc1ZGMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfYnVp
bGRlci9iZW5jaG1hcmtfYnVpbGRlcnMuanNvbgorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvYmVuY2htYXJrX2J1aWxkZXJzLmpz
b24KQEAgLTMsOCArMyw4IEBACiAgICAgICAgICJmaWxlUGF0aCI6ICJiZW5jaG1hcmtfYnVpbGRl
ci5nZW5lcmljX2JlbmNobWFya19idWlsZGVyIiwKICAgICAgICAgIm1vZHVsZU5hbWUiOiAiR2Vu
ZXJpY0JlbmNobWFya0J1aWxkZXIiCiAgICAgfSwKLSAgICAiSmV0U3RyZWFtQmVuY2htYXJrQnVp
bGRlciI6IHsKLSAgICAgICAgImZpbGVQYXRoIjogImJlbmNobWFya19idWlsZGVyLmpldHN0cmVh
bV9iZW5jaG1hcmtfYnVpbGRlciIsCi0gICAgICAgICJtb2R1bGVOYW1lIjogIkpldFN0cmVhbUJl
bmNobWFya0J1aWxkZXIiCisgICAgIlJlbW90ZVppcEJlbmNobWFya0J1aWxkZXIiOiB7CisgICAg
ICAgICJmaWxlUGF0aCI6ICJiZW5jaG1hcmtfYnVpbGRlci5yZW1vdGVfemlwX2JlbmNobWFya19i
dWlsZGVyIiwKKyAgICAgICAgIm1vZHVsZU5hbWUiOiAiUmVtb3RlWmlwQmVuY2htYXJrQnVpbGRl
ciIKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFy
a19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvZ2VuZXJpY19iZW5jaG1hcmtfYnVpbGRlci5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfYnVpbGRl
ci9nZW5lcmljX2JlbmNobWFya19idWlsZGVyLnB5CmluZGV4IDZhYzI2ZjM0YWFkZDNiZjYwNjg1
MDhmMzc4M2FmNTc1MDY5MmJmNTUuLmIxNWZkMWVmZjA2NmZiMmVhOGE1ZjBlODRmMTFlMWQxYzM0
MmU2MWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9iZW5jaG1hcmtfYnVpbGRlci9nZW5lcmljX2JlbmNobWFya19idWlsZGVyLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfYnVpbGRlci9n
ZW5lcmljX2JlbmNobWFya19idWlsZGVyLnB5CkBAIC0xNCwxMyArMTQsMzMgQEAgX2xvZyA9IGxv
Z2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiBjbGFzcyBHZW5lcmljQmVuY2htYXJrQnVpbGRl
cihvYmplY3QpOgogCi0gICAgZGVmIHByZXBhcmUoc2VsZiwgYmVuY2htYXJrUGF0aCwgcGF0Y2gp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgIyBGSVhNRTogRG8gd2UgcmVhbGx5
IG5lZWQgdHdvIHZhcmlhYmxlcz8KKyAgICAgICAgc2VsZi53ZWJSb290ID0gTm9uZQorICAgICAg
ICBzZWxmLmRlc3QgPSBOb25lCisKKyAgICBkZWYgcHJlcGFyZShzZWxmLCBiZW5jaG1hcmtQYXRo
LCBwYXRjaCwgY3JlYXRlU2NyaXB0KToKICAgICAgICAgc2VsZi5fY29weUJlbmNobWFya1RvVGVt
cERpcihiZW5jaG1hcmtQYXRoKQotICAgICAgICByZXR1cm4gc2VsZi5fYXBwbHlQYXRjaChwYXRj
aCkKKyAgICAgICAgX2xvZy5kZWJ1ZygnU2VydmVyaW5nIGF0IHdlYlJvb3Q6ICVzJyAlIHNlbGYu
d2ViUm9vdCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaWYgY3JlYXRlU2NyaXB0OgorICAg
ICAgICAgICAgICAgIHNlbGYuX3J1bkNyZWF0ZVNjcmlwdChjcmVhdGVTY3JpcHQpCisgICAgICAg
ICAgICByZXR1cm4gc2VsZi5fYXBwbHlQYXRjaChwYXRjaCkKKyAgICAgICAgZXhjZXB0OgorICAg
ICAgICAgICAgc2VsZi5jbGVhbigpCisgICAgICAgICAgICByYWlzZQorCisgICAgZGVmIF9ydW5D
cmVhdGVTY3JpcHQoc2VsZiwgY3JlYXRlU2NyaXB0KToKKyAgICAgICAgb2xkV29ya2luZ0RpcmVj
dG9yeSA9IG9zLmdldGN3ZCgpCisgICAgICAgIG9zLmNoZGlyKHNlbGYuZGVzdCkKKyAgICAgICAg
X2xvZy5kZWJ1ZygnUnVubmluZyAlcyBpbiAlcycgJSAoY3JlYXRlU2NyaXB0LCBzZWxmLmRlc3Qp
KQorICAgICAgICBlcnJvckNvZGUgPSBzdWJwcm9jZXNzLmNhbGwoY3JlYXRlU2NyaXB0KQorICAg
ICAgICBvcy5jaGRpcihvbGRXb3JraW5nRGlyZWN0b3J5KQorICAgICAgICBpZiBlcnJvckNvZGU6
CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0Nhbm5vdCBjcmVhdGUgdGhlIGJlbmNobWFy
aycsIGVycm9yQ29kZSkKIAogICAgIGRlZiBfY29weUJlbmNobWFya1RvVGVtcERpcihzZWxmLCBi
ZW5jaG1hcmtQYXRoKToKICAgICAgICAgc2VsZi53ZWJSb290ID0gdGVtcGZpbGUubWtkdGVtcCgp
Ci0gICAgICAgIF9sb2cuZGVidWcoJ1NlcnZlcmluZyBhdCB3ZWJSb290OiAlcycgJSBzZWxmLndl
YlJvb3QpCiAgICAgICAgIHNlbGYuZGVzdCA9IG9zLnBhdGguam9pbihzZWxmLndlYlJvb3QsIG9z
LnBhdGguc3BsaXQoYmVuY2htYXJrUGF0aClbMV0pCiAgICAgICAgIHNodXRpbC5jb3B5dHJlZShn
ZXRQYXRoRnJvbVByb2plY3RSb290KGJlbmNobWFya1BhdGgpLCBzZWxmLmRlc3QpCiAKQEAgLTMy
LDkgKzUyLDcgQEAgY2xhc3MgR2VuZXJpY0JlbmNobWFya0J1aWxkZXIob2JqZWN0KToKICAgICAg
ICAgZXJyb3JDb2RlID0gc3VicHJvY2Vzcy5jYWxsKFsncGF0Y2gnLCAnLXAxJywgJy1mJywgJy1p
JywgZ2V0UGF0aEZyb21Qcm9qZWN0Um9vdChwYXRjaCldKQogICAgICAgICBvcy5jaGRpcihvbGRX
b3JraW5nRGlyZWN0b3J5KQogICAgICAgICBpZiBlcnJvckNvZGU6Ci0gICAgICAgICAgICBfbG9n
LmVycm9yKCdDYW5ub3QgYXBwbHkgcGF0Y2gsIHdpbGwgc2tpcCBjdXJyZW50IGJlbmNobWFya1Bh
dGgnKQotICAgICAgICAgICAgc2VsZi5jbGVhbigpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQor
ICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdDYW5ub3QgYXBwbHkgcGF0Y2gsIHdpbGwgc2tp
cCBjdXJyZW50IGJlbmNobWFya1BhdGgnKQogICAgICAgICByZXR1cm4gc2VsZi53ZWJSb290CiAK
ICAgICBkZWYgY2xlYW4oc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvamV0c3RyZWFtX2JlbmNobWFya19i
dWlsZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNo
bWFya19idWlsZGVyL2pldHN0cmVhbV9iZW5jaG1hcmtfYnVpbGRlci5weQpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggM2Q5NThlMzRkYjMzMTdhMDdiODVmZTk1NjNmNWUxMTk5MDJiZjg2
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvamV0c3Ry
ZWFtX2JlbmNobWFya19idWlsZGVyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAot
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0KLWltcG9ydCBsb2dnaW5nCi1pbXBvcnQgb3MKLWltcG9y
dCBzdWJwcm9jZXNzCi0KLWZyb20gZ2VuZXJpY19iZW5jaG1hcmtfYnVpbGRlciBpbXBvcnQgR2Vu
ZXJpY0JlbmNobWFya0J1aWxkZXIKLQotCi1fbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1l
X18pCi0KLQotY2xhc3MgSmV0U3RyZWFtQmVuY2htYXJrQnVpbGRlcihHZW5lcmljQmVuY2htYXJr
QnVpbGRlcik6Ci0KLSAgICBkZWYgcHJlcGFyZShzZWxmLCBiZW5jaG1hcmtQYXRoLCBwYXRjaCk6
Ci0gICAgICAgIHN1cGVyKHNlbGYuX19jbGFzc19fLCBzZWxmKS5fY29weUJlbmNobWFya1RvVGVt
cERpcihiZW5jaG1hcmtQYXRoKQotICAgICAgICBzZWxmLl9ydW5DcmVhdGVTY3JpcHQoKQotICAg
ICAgICByZXR1cm4gc3VwZXIoc2VsZi5fX2NsYXNzX18sIHNlbGYpLl9hcHBseVBhdGNoKHBhdGNo
KQotCi0gICAgZGVmIF9ydW5DcmVhdGVTY3JpcHQoc2VsZik6Ci0gICAgICAgIG9sZFdvcmtpbmdE
aXJlY3RvcnkgPSBvcy5nZXRjd2QoKQotICAgICAgICBvcy5jaGRpcihzZWxmLmRlc3QpCi0gICAg
ICAgIF9sb2cuZGVidWcoc2VsZi5kZXN0KQotICAgICAgICBlcnJvckNvZGUgPSBzdWJwcm9jZXNz
LmNhbGwoWydydWJ5JywgJ2NyZWF0ZS5yYiddKQotICAgICAgICBvcy5jaGRpcihvbGRXb3JraW5n
RGlyZWN0b3J5KQotICAgICAgICBpZiBlcnJvckNvZGU6Ci0gICAgICAgICAgICBfbG9nLmVycm9y
KCdDYW5ub3QgY3JlYXRlIEpldFN0cmVhbSBCZW5jaG1hcmsnKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL3JlbW90
ZV96aXBfYmVuY2htYXJrX2J1aWxkZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvcmVtb3RlX3ppcF9iZW5jaG1hcmtfYnVpbGRl
ci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yN2Q2M2ZlY2I0NDdmZWZiNmY4N2U3MzY0OTM4OGY5NWM3MzU2NWYy
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2JlbmNobWFya19idWlsZGVyL3JlbW90ZV96aXBfYmVuY2htYXJrX2J1aWxkZXIucHkKQEAg
LTAsMCArMSwzMiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisKK2ltcG9ydCBsb2dnaW5nCitp
bXBvcnQgdGVtcGZpbGUKK2ltcG9ydCBvcworaW1wb3J0IHVybGxpYgorCitmcm9tIHppcGZpbGUg
aW1wb3J0IFppcEZpbGUKK2Zyb20gd2Via2l0cHkuYmVuY2htYXJrX3J1bm5lci5iZW5jaG1hcmtf
YnVpbGRlci5nZW5lcmljX2JlbmNobWFya19idWlsZGVyIGltcG9ydCBHZW5lcmljQmVuY2htYXJr
QnVpbGRlcgorCisKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKKworCitjbGFz
cyBSZW1vdGVaaXBCZW5jaG1hcmtCdWlsZGVyKEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyKToKKwor
ICAgIGRlZiBfY29weUJlbmNobWFya1RvVGVtcERpcihzZWxmLCBiZW5jaG1hcmtQYXRoKToKKyAg
ICAgICAgZGVzdGluYXRpb24gPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgYXJjaGl2ZV9w
YXRoID0gb3MucGF0aC5qb2luKGRlc3RpbmF0aW9uLCAnYXJjaGl2ZS56aXAnKQorICAgICAgICBf
bG9nLmluZm8oJ0Rvd25sb2FkaW5nICVzIHRvICVzJyAlIChiZW5jaG1hcmtQYXRoLCBhcmNoaXZl
X3BhdGgpKQorICAgICAgICB1cmxsaWIudXJscmV0cmlldmUoYmVuY2htYXJrUGF0aCwgYXJjaGl2
ZV9wYXRoKQorCisgICAgICAgIHdlYlJvb3QgPSBvcy5wYXRoLmpvaW4oZGVzdGluYXRpb24sICdi
ZW5jaG1hcmsnKQorICAgICAgICBvcy5ta2Rpcih3ZWJSb290KQorICAgICAgICB3aXRoIFppcEZp
bGUoYXJjaGl2ZV9wYXRoLCAncicpIGFzIGFyY2hpdmU6CisgICAgICAgICAgICBhcmNoaXZlLmV4
dHJhY3RhbGwod2ViUm9vdCkKKworICAgICAgICB1bmFyY2hpdmVkRmlsZXMgPSBmaWx0ZXIobGFt
YmRhIG5hbWU6IG5vdCBuYW1lLnN0YXJ0c3dpdGgoJy4nKSwgb3MubGlzdGRpcih3ZWJSb290KSkK
KyAgICAgICAgaWYgbGVuKHVuYXJjaGl2ZWRGaWxlcykgPT0gMSBhbmQgb3MucGF0aC5pc2Rpcihv
cy5wYXRoLmpvaW4od2ViUm9vdCwgdW5hcmNoaXZlZEZpbGVzWzBdKSk6CisgICAgICAgICAgICB3
ZWJSb290ID0gb3MucGF0aC5qb2luKHdlYlJvb3QsIHVuYXJjaGl2ZWRGaWxlc1swXSkKKyAgICAg
ICAgc2VsZi53ZWJSb290ID0gd2ViUm9vdAorICAgICAgICBzZWxmLmRlc3QgPSB3ZWJSb290CmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2ht
YXJrX3J1bm5lci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9i
ZW5jaG1hcmtfcnVubmVyLnB5CmluZGV4IDE3OTI4N2Q3YTIwYjM4MzA0ZGVkZGMxMDAxNmNkODQ4
Y2NkNjQxYTAuLjdkZWQzNjA4ODFmMTA5YzhhMDU1NDRhYWY4NWQ3ZjBjYjM3MjNkNDMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtf
cnVubmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9i
ZW5jaG1hcmtfcnVubmVyLnB5CkBAIC01Niw3ICs1Niw3IEBAIGNsYXNzIEJlbmNobWFya1J1bm5l
cihvYmplY3QpOgogICAgICAgICBfbG9nLmluZm8oJ1N0YXJ0IGEgbmV3IGJlbmNobWFyaycpCiAg
ICAgICAgIHJlc3VsdHMgPSBbXQogICAgICAgICBiZW5jaG1hcmtCdWlsZGVyID0gQmVuY2htYXJr
QnVpbGRlckZhY3RvcnkuY3JlYXRlKFtzZWxmLnBsYW5bJ2JlbmNobWFya19idWlsZGVyJ11dKQot
ICAgICAgICB3ZWJSb290ID0gYmVuY2htYXJrQnVpbGRlci5wcmVwYXJlKHNlbGYucGxhblsnb3Jp
Z2luYWxfYmVuY2htYXJrJ10sIHNlbGYucGxhblsnYmVuY2htYXJrX3BhdGNoJ10gaWYgJ2JlbmNo
bWFya19wYXRjaCcgaW4gc2VsZi5wbGFuIGVsc2UgTm9uZSkKKyAgICAgICAgd2ViUm9vdCA9IGJl
bmNobWFya0J1aWxkZXIucHJlcGFyZShzZWxmLnBsYW5bJ29yaWdpbmFsX2JlbmNobWFyayddLCBz
ZWxmLnBsYW4uZ2V0KCdiZW5jaG1hcmtfcGF0Y2gnKSwgc2VsZi5wbGFuLmdldCgnY3JlYXRlX3Nj
cmlwdCcpKQogICAgICAgICBmb3IgeCBpbiB4cmFuZ2UoaW50KHNlbGYucGxhblsnY291bnQnXSkp
OgogICAgICAgICAgICAgX2xvZy5pbmZvKCdTdGFydCB0aGUgaXRlcmF0aW9uICVkIG9mIGN1cnJl
bnQgYmVuY2htYXJrJyAlICh4ICsgMSkpCiAgICAgICAgICAgICBzZWxmLmh0dHBTZXJ2ZXJEcml2
ZXIuc2VydmUod2ViUm9vdCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVu
Y2htYXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvS3Jha2VuLnBhdGNoIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9LcmFrZW4ucGF0Y2gKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjk2NTdhYWQzYjczMDAwY2Q0Y2QyYjlmZjAyYjFmNWE2YThlNzJmMwotLS0gL2Rldi9u
dWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3Bh
dGNoZXMvS3Jha2VuLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK2RpZmYgLS1naXQgYS9ob3N0ZWQv
a3Jha2VuLTEuMS9kcml2ZXIuaHRtbCBiL2hvc3RlZC9rcmFrZW4tMS4xL2RyaXZlcjIuaHRtbAor
aW5kZXggYmZiMmM5NC4uNWFkMTcwNCAxMDA2NDQKKy0tLSBhL2hvc3RlZC9rcmFrZW4tMS4xL2Ry
aXZlci5odG1sCisrKysgYi9ob3N0ZWQva3Jha2VuLTEuMS9kcml2ZXIyLmh0bWwKK0BAIC0xMTcs
MjAgKzExNywyOCBAQCBmdW5jdGlvbiByZWNvcmRSZXN1bHQodGltZSkKKyAKKyBmdW5jdGlvbiBm
aW5pc2goKQorIHsKKy0gICAgdmFyIG91dHB1dFN0cmluZyA9ICJ7IjsKKy0gICAgb3V0cHV0U3Ry
aW5nICs9ICcidiI6ICJrcmFrZW4tMS4xIiwgJzsKKysgICAgdmFyIHRlc3RzID0ge307CisgICAg
IGZvciAodmFyIHRlc3QgaW4gb3V0cHV0WzBdKSB7CistICAgICAgICBvdXRwdXRTdHJpbmcgKz0g
JyInICsgdGVzdCArICciOlsnOworLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvdXRwdXQu
bGVuZ3RoOyBpKyspIHsKKy0gICAgICAgICAgICAgb3V0cHV0U3RyaW5nICs9IG91dHB1dFtpXVt0
ZXN0XSArICIsIjsKKy0gICAgICAgIH0KKy0gICAgICAgIG91dHB1dFN0cmluZyA9IG91dHB1dFN0
cmluZy5zdWJzdHJpbmcoMCwgb3V0cHV0U3RyaW5nLmxlbmd0aCAtIDEpOworLSAgICAgICAgb3V0
cHV0U3RyaW5nICs9ICJdLCI7CisrICAgICAgICB2YXIgdmFsdWVzID0gbmV3IEFycmF5KG91dHB1
dC5sZW5ndGgpOworKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvdXRwdXQubGVuZ3RoOyBp
KyspCisrICAgICAgICAgICAgdmFsdWVzW2ldID0gb3V0cHV0W2ldW3Rlc3RdOworKyAgICAgICAg
dGVzdHNbdGVzdF0gPSB7Im1ldHJpY3MiOiB7ImN1cnJlbnQiOiB2YWx1ZXN9fQorICAgICB9Cist
ICAgIG91dHB1dFN0cmluZyA9IG91dHB1dFN0cmluZy5zdWJzdHJpbmcoMCwgb3V0cHV0U3RyaW5n
Lmxlbmd0aCAtIDEpOworLSAgICBvdXRwdXRTdHJpbmcgKz0gIn0iOworIAorLSAgICBsb2NhdGlv
biA9ICJyZXN1bHRzLmh0bWw/IiArIGVuY29kZVVSSShvdXRwdXRTdHJpbmcpOworKyAgICB2YXIg
cmVzdWx0cyA9IEpTT04uc3RyaW5naWZ5KHsiS3Jha2VuIjogeyJtZXRyaWNzIjogeyJUaW1lIjog
WyJUb3RhbCJdfSwgInRlc3RzIjogdGVzdHN9fSk7CisrICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0
cFJlcXVlc3QoKTsKKysgICAgeGhyLm9wZW4oIlBPU1QiLCAiL3JlcG9ydCIpOworKyAgICB4aHIu
c2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC10eXBlIiwgImFwcGxpY2F0aW9uL2pzb24iKTsKKysg
ICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtbGVuZ3RoIiwgcmVzdWx0cy5sZW5ndGgp
OworKyAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29ubmVjdGlvbiIsICJjbG9zZSIpOworKyAg
ICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CisrICAgIGlmKHhoci5yZWFk
eVN0YXRlID09IFhNTEh0dHBSZXF1ZXN0LkRPTkUgJiYgeGhyLnN0YXR1cyA9PSAyMDApIHsKKysg
ICAgICAgICAgICBjbG9zZVJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKysgICAgICAg
ICAgICBjbG9zZVJlcXVlc3Qub3BlbigiR0VUIiwgIi9zaHV0ZG93biIpOworKyAgICAgICAgICAg
IGNsb3NlUmVxdWVzdC5zZW5kKCk7CisrICAgICAgICB9CisrICAgIH0KKysgICAgeGhyLnNlbmQo
cmVzdWx0cyk7CisgfQorIAorIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9TdW5TcGlkZXIucGF0Y2ggYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL1N1blNw
aWRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NDY2NjcwNGYyOWM5ZDRhNzE2NjkyOTI3YTIyMTc5Zjc0
NTI0YjU2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1h
cmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9TdW5TcGlkZXIucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAor
ZGlmZiAtLWdpdCBhL1N1blNwaWRlci9ob3N0ZWQvc3Vuc3BpZGVyLTEuMC4xL2RyaXZlci5odG1s
IGIvU3VuU3BpZGVyL2hvc3RlZC9zdW5zcGlkZXItMS4wLjEvZHJpdmVyLmh0bWwKK2luZGV4IDA3
MDBiYjIuLjJkZGUwMWEgMTAwNjQ0CistLS0gYS9TdW5TcGlkZXIvaG9zdGVkL3N1bnNwaWRlci0x
LjAuMS9kcml2ZXIuaHRtbAorKysrIGIvU3VuU3BpZGVyL2hvc3RlZC9zdW5zcGlkZXItMS4wLjEv
ZHJpdmVyLmh0bWwKK0BAIC0xMDMsMjMgKzEwMywyOCBAQCBmdW5jdGlvbiByZWNvcmRSZXN1bHQo
dGltZSkKKyAKKyBmdW5jdGlvbiBmaW5pc2goKQorIHsKKy0gICAgdmFyIG91dHB1dFN0cmluZyA9
ICJ7IjsKKy0gICAgb3V0cHV0U3RyaW5nICs9ICcidiI6ICJzdW5zcGlkZXItMS4wLjEiLCAnOwor
KyAgICB2YXIgdGVzdHMgPSB7fTsKKyAgICAgZm9yICh2YXIgdGVzdCBpbiBvdXRwdXRbMF0pIHsK
Ky0gICAgICAgIG91dHB1dFN0cmluZyArPSAnIicgKyB0ZXN0ICsgJyI6Wyc7CistICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IG91dHB1dC5sZW5ndGg7IGkrKykgeworLSAgICAgICAgICAgIHZh
ciB0aW1lID0gb3V0cHV0W2ldW3Rlc3RdOworLSAgICAgICAgICAgIGlmICh0aW1lICE9IHRpbWUp
CistICAgICAgICAgICAgICAgIHRpbWUgPSAiXCJOYU5cIiI7CistICAgICAgICAgICAgb3V0cHV0
U3RyaW5nICs9IHRpbWUgKyAiLCI7CistICAgICAgICB9CistICAgICAgICBvdXRwdXRTdHJpbmcg
PSBvdXRwdXRTdHJpbmcuc3Vic3RyaW5nKDAsIG91dHB1dFN0cmluZy5sZW5ndGggLSAxKTsKKy0g
ICAgICAgIG91dHB1dFN0cmluZyArPSAiXSwiOworKyAgICAgICAgdmFyIHZhbHVlcyA9IG5ldyBB
cnJheShvdXRwdXQubGVuZ3RoKTsKKysgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0cHV0
Lmxlbmd0aDsgaSsrKQorKyAgICAgICAgICAgIHZhbHVlc1tpXSA9IG91dHB1dFtpXVt0ZXN0XTsK
KysgICAgICAgIHRlc3RzW3Rlc3RdID0geyJtZXRyaWNzIjogeyJUaW1lIjogeyJjdXJyZW50Ijog
W3ZhbHVlc119fX0KKyAgICAgfQorLSAgICBvdXRwdXRTdHJpbmcgPSBvdXRwdXRTdHJpbmcuc3Vi
c3RyaW5nKDAsIG91dHB1dFN0cmluZy5sZW5ndGggLSAxKTsKKy0gICAgb3V0cHV0U3RyaW5nICs9
ICJ9IjsKKyAKKy0gICAgbG9jYXRpb24gPSAicmVzdWx0cy5odG1sPyIgKyBlbmNvZGVVUkkob3V0
cHV0U3RyaW5nKTsKKysgICAgdmFyIHJlc3VsdHMgPSBKU09OLnN0cmluZ2lmeSh7IlN1blNwaWRl
ciI6IHsibWV0cmljcyI6IHsiVGltZSI6IFsiVG90YWwiXX0sICJ0ZXN0cyI6IHRlc3RzfX0pOwor
KyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisrICAgIHhoci5vcGVuKCJQT1NU
IiwgIi9yZXBvcnQiKTsKKysgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtdHlwZSIs
ICJhcHBsaWNhdGlvbi9qc29uIik7CisrICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50
LWxlbmd0aCIsIHJlc3VsdHMubGVuZ3RoKTsKKysgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNv
bm5lY3Rpb24iLCAiY2xvc2UiKTsKKysgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0
aW9uKCkgeworKyAgICBpZih4aHIucmVhZHlTdGF0ZSA9PSBYTUxIdHRwUmVxdWVzdC5ET05FICYm
IHhoci5zdGF0dXMgPT0gMjAwKSB7CisrICAgICAgICAgICAgY2xvc2VSZXF1ZXN0ID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7CisrICAgICAgICAgICAgY2xvc2VSZXF1ZXN0Lm9wZW4oIkdFVCIsICIv
c2h1dGRvd24iKTsKKysgICAgICAgICAgICBjbG9zZVJlcXVlc3Quc2VuZCgpOworKyAgICAgICAg
fQorKyAgICB9CisrICAgIHhoci5zZW5kKHJlc3VsdHMpOworIH0KKyAKKyA8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3Bs
YW5zL2pldHN0cmVhbS5wbGFuIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2RhdGEvcGxhbnMvamV0c3RyZWFtLnBsYW4KaW5kZXggYjZlN2UxN2I3NGFiMmUyZDYxMDI4
MzMxOTIxNWQ3ZDUzOTExNTNjOC4uMmY3NmE1YzVjNmJhNTdlMjYzZDI2OWE2NjI0MThmNzgzY2Ez
MGQyNSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L2RhdGEvcGxhbnMvamV0c3RyZWFtLnBsYW4KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvamV0c3RyZWFtLnBsYW4KQEAgLTIsOSArMiwxMCBA
QAogICAgICJodHRwX3NlcnZlcl9kcml2ZXIiOiAiU2ltcGxlSFRUUFNlcnZlckRyaXZlciIsIAog
ICAgICJ0aW1lb3V0IiA6IDYwMCwKICAgICAiY291bnQiOiA1LAotICAgICJiZW5jaG1hcmtfYnVp
bGRlciI6ICJKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyIiwKKyAgICAiYmVuY2htYXJrX2J1aWxk
ZXIiOiAiR2VuZXJpY0JlbmNobWFya0J1aWxkZXIiLAogICAgICJvcmlnaW5hbF9iZW5jaG1hcmsi
OiAiLi4vLi4vLi4vLi4vUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0iLAogICAgICJiZW5jaG1h
cmtfcGF0Y2giOiAiZGF0YS9wYXRjaGVzL0pldFN0cmVhbS5wYXRjaCIsCisgICAgImNyZWF0ZV9z
Y3JpcHQiOiBbInJ1YnkiLCAiY3JlYXRlLnJiIl0sCiAgICAgImVudHJ5X3BvaW50IjogIkpldFN0
cmVhbS9KZXRTdHJlYW0tMS4wLjEvaW5kZXguaHRtbCIsCiAgICAgIm91dHB1dF9maWxlIjogImpl
dHN0cmVhbS5yZXN1bHQiCiB9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jl
bmNobWFya19ydW5uZXIvZGF0YS9wbGFucy9rcmFrZW4ucGxhbiBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL2tyYWtlbi5wbGFuCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVlNTE0YjZlZWY5YTIyNGZiMDdiZDVkYzZlOGRhMDIxMGEwODZjNGMKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFucy9r
cmFrZW4ucGxhbgpAQCAtMCwwICsxLDExIEBACit7CisgICAgImh0dHBfc2VydmVyX2RyaXZlciI6
ICJTaW1wbGVIVFRQU2VydmVyRHJpdmVyIiwKKyAgICAidGltZW91dCI6IDMwMCwKKyAgICAiY291
bnQiOiA1LAorICAgICJiZW5jaG1hcmtfYnVpbGRlciI6ICJSZW1vdGVaaXBCZW5jaG1hcmtCdWls
ZGVyIiwKKyAgICAib3JpZ2luYWxfYmVuY2htYXJrIjogImh0dHA6Ly9oZy5tb3ppbGxhLm9yZy9w
cm9qZWN0cy9rcmFrZW4vYXJjaGl2ZS90aXAuemlwIiwKKyAgICAiYmVuY2htYXJrX3BhdGNoIjog
ImRhdGEvcGF0Y2hlcy9LcmFrZW4ucGF0Y2giLAorICAgICJjcmVhdGVfc2NyaXB0IjogWyJweXRo
b24iLCAibWFrZS1ob3N0ZWQucHkiXSwKKyAgICAiZW50cnlfcG9pbnQiOiAiaG9zdGVkL2tyYWtl
bi0xLjEvZHJpdmVyLmh0bWwiLAorICAgICJvdXRwdXRfZmlsZSI6ICJzdW5zcGlkZXIucmVzdWx0
IgorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L2RhdGEvcGxhbnMvc3Vuc3BpZGVyLnBsYW4gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvZGF0YS9wbGFucy9zdW5zcGlkZXIucGxhbgpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjY5MTlm
YTg3YmZhNjA4NGU2Nzg5MDNlYzAwZGU4MTdjZDFkYzJiCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvc3Vuc3BpZGVy
LnBsYW4KQEAgLTAsMCArMSwxMSBAQAoreworICAgICJodHRwX3NlcnZlcl9kcml2ZXIiOiAiU2lt
cGxlSFRUUFNlcnZlckRyaXZlciIsCisgICAgInRpbWVvdXQiOiAzMDAsCisgICAgImNvdW50Ijog
NSwKKyAgICAiYmVuY2htYXJrX2J1aWxkZXIiOiAiR2VuZXJpY0JlbmNobWFya0J1aWxkZXIiLAor
ICAgICJvcmlnaW5hbF9iZW5jaG1hcmsiOiAiLi4vLi4vLi4vLi4vUGVyZm9ybWFuY2VUZXN0cy9T
dW5TcGlkZXIiLAorICAgICJiZW5jaG1hcmtfcGF0Y2giOiAiZGF0YS9wYXRjaGVzL1N1blNwaWRl
ci5wYXRjaCIsCisgICAgImNyZWF0ZV9zY3JpcHQiOiBbInBlcmwiLCAibWFrZS1ob3N0ZWQiXSwK
KyAgICAiZW50cnlfcG9pbnQiOiAiU3VuU3BpZGVyL2hvc3RlZC9zdW5zcGlkZXItMS4wLjEvZHJp
dmVyLmh0bWwiLAorICAgICJvdXRwdXRfZmlsZSI6ICJzdW5zcGlkZXIucmVzdWx0IgorfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252807</attachid>
            <date>2015-05-10 01:25:18 -0700</date>
            <delta_ts>2015-05-10 03:22:13 -0700</delta_ts>
            <desc>Adds the support</desc>
            <filename>bug-144840-20150510012359.patch</filename>
            <type>text/plain</type>
            <size>31364</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDQ0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWM4NWRmM2Q0YjJkZWNkOTBiYjAxODY3NDcwOWZmZjUw
NDcxMTI0MC4uYzhjMTVkMTU3OTFmYWI2NjUwOWNiOTEwODAwNmJhMTc2NjJkMzAwNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcw
IEBACisyMDE1LTA1LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAg
ICAgIHJ1bi1iZW5jaG1hcmsgc2hvdWxkIHN1cHBvcnQgU3VuU3BpZGVyIGFuZCBLcmFrZW4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDg0MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRoZSBz
dXBwb3J0IGZvciBTdW5TcGlkZXIsIEtyYWtlbiwgYW5kIE9jdGFuZS4gQmVjYXVzZSBvZiB0aGUg
bGljZW5zaW5nIGlzc3Vlcywgd2UgY2FuJ3QgY29tbWl0IHRoZQorICAgICAgICBLcmFrZW4gc291
cmNlIGNvZGUgaW50byB0aGUgV2ViS2l0IHJlcG9zaXRvcnkgYXMgZG9uZSBmb3Igb3RoZXIgYmVu
Y2htYXJrcy4gSW5zdGVhZCwgd2UnbGwgZHluYW1pY2FsbHkKKyAgICAgICAgZG93bmxvYWQgaXQg
ZnJvbSB0aGUgcmVtb3RlIHNlcnZlciB1c2luZyBuZXdseSBhZGRlZCBSZW1vdGVaaXBCZW5jaG1h
cmtCdWlsZGVyLiBXZSBkbyB0aGUgc2FtZSBmb3IgT2N0YW5lCisgICAgICAgIGZvciBzaW1wbGlj
aXR5LiBVc2UgbmV3bHkgYWRkZWQgLS1sb2NhbC1jb3B5IG9wdGlvbiB0byBzcGVjaWZ5IHRoZSBs
b2NhdGlvbiBvZiBhIGxvY2FsIGNvcHkgaWYgdGhlcmUgaXMgYW55LgorCisgICAgICAgIFJlbmFt
ZWQgIm9yaWdpbmFsX2JlbmNobWFyayBpbiB0aGUgcGxhbiBmaWxlIHRvICJsb2NhbF9jb3B5IiBh
bmQgYWRkZWQgYSBuZXcgb3B0aW9uYWwgInJlbW90ZV9hcmNoaXZlIiB0bworICAgICAgICBzcGVj
aWZ5IHRoZSBVUkwgdG8gYSByZW1vdGUgWklQIGZpbGUuIFRoaXMgb3B0aW9uYWwgZmllbGQgaXMg
dXNlZCBieSBLcmFrZW4gYW5kIE9jdGFuZSBiZW5jaG1hcmsgcGxhbnMuCisKKyAgICAgICAgSW4g
YWRkaXRpb24sIGdlbmVyYWxpemVkIHRoZSBhYmlsaXR5IHRvIHJ1biBhICJjcmVhdGUgc2NyaXB0
IiBpbiBKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyIHNpbmNlIGl0J3MgYWxzbworICAgICAgICBu
ZWVkZWQgZm9yIFN1blNwaWRlciBhbmQgS3Jha2VuLiBUaGlzIGZlYXR1cmUgaGFzIG5vdyBiZWVu
IGZvbGRlZCBpbnRvIEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyLgorCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2JlbmNobWFya19i
dWlsZGVycy5qc29uOiBBZGRlZAorICAgICAgICBSZW1vdGVaaXBCZW5jaG1hcmtCdWlsZGVyIGZv
ciBLcmFrZW4gYW5kIHJlbW92ZWQgSmV0U3RyZWFtQmVuY2htYXJrQnVpbGRlciBzaW5jZSBHZW5l
cmljQmVuY2htYXJrQnVpbGRlcgorICAgICAgICBub3cgaGFzIHRoZSBhYmlsaXR5IHRvIHJ1biBh
biBhcmJpdHJhcnkgImNyZWF0ZSBzY3JpcHQiLgorCisgICAgICAgICogU2NyaXB0cy9ydW4tYmVu
Y2htYXJrOgorICAgICAgICAobWFpbik6IEFkZGVkIGFuIG9wdGlvbmFsIGFyZ3VtZW50LCAtLWxv
Y2FsLWNvcHksIHRvIG92ZXJyaWRlIHRoZSBsb2NhdGlvbiBvZiB0aGUgYmVuY2htYXJrJ3MgbG9j
YWwgY29weS4KKyAgICAgICAgVGhpcyBhbHNvIG92ZXJyaWRlcyB0aGUgcmVtb3RlIGFyY2hpdmUg
VVJMIHNwZWNpZmllZCBpbiB0aGUgcGxhbi4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
YmVuY2htYXJrX3J1bm5lci9SRUFETUUubWQ6IFVwZGF0ZWQgdGhlIGRlc2NyaXB0aW9uLgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWls
ZGVyL2JlbmNobWFya19idWlsZGVycy5qc29uOiBEZWxldGVkIHRoZSBlbnRyeSBmb3IKKyAgICAg
ICAgSmV0U3RyZWFtQmVuY2htYXJrQnVpbGRlci4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfYnVpbGRlci9nZW5lcmljX2JlbmNobWFya19i
dWlsZGVyLnB5OiAKKyAgICAgICAgKEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyLl9faW5pdF9fKTog
QWRkZWQgdG8gaW5pdGlhbGl6ZSBtZW1iZXIgdmFyaWFibGVzLgorICAgICAgICAoR2VuZXJpY0Jl
bmNobWFya0J1aWxkZXIucHJlcGFyZSk6IENhbGwgX2ZldGNoUmVtb3RlQXJjaGl2ZSBpZiBsb2Nh
bF9jb3B5IGlzIG5vdCBzcGVjaWZpZWQgaW4gdGhlIHBsYW4gb3IKKyAgICAgICAgYnkgLS1sb2Nh
bC1jb3B5IG9wdGlvbiBidXQgcmVtb3RlX2FyY2hpdmUgaXMgc3BlY2lmaWVkLiBBbHNvIGNhbGwg
c2VsZi5jbGVhbigpIGhlcmUgaW5zdGVhZCBvZiByZWx5aW5nIG9uCisgICAgICAgIF9ydW5DcmVh
dGVTY3JpcHQgYW5kIF9hcHBseVBhdGNoIHRvIGNsZWFuIGFmdGVyIHRoZW1zZWx2ZXMuCisgICAg
ICAgIChHZW5lcmljQmVuY2htYXJrQnVpbGRlci5fcnVuQ3JlYXRlU2NyaXB0KTogTW92ZWQgZnJv
bSBKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyLl9ydW5DcmVhdGVTY3JpcHQgc2luY2UKKyAgICAg
ICAgSmV0U3RyZWFtLCBTdW5TcGlkZXIsIEtyYWtlbiBhbGwgdXNlIHRoaXMgZmVhdHVyZS4KKyAg
ICAgICAgKEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyLl9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKTog
VXNlIHNlbGYubmFtZSBhcyB0aGUgZGVzdGluYXRpb24gbG9jYXRpb24gaW5zdGVhZCBvZgorICAg
ICAgICB0aGUgbGVhZiBkaXJlY3RvcnkgbmFtZSBzaW5jZSB0aGUgbGF0dGVyIGlzIG5vdCBhdmFp
bGFibGUgd2hlbiBhIHJlbW90ZSBaSVAgZmlsZSBpcyB1c2VkLgorICAgICAgICAoR2VuZXJpY0Jl
bmNobWFya0J1aWxkZXIuX2ZldGNoUmVtb3RlQXJjaGl2ZSk6IEFkZGVkLgorICAgICAgICAoR2Vu
ZXJpY0JlbmNobWFya0J1aWxkZXIuX2FwcGx5UGF0Y2gpOiBBcHBseSB0aGUgcGF0Y2ggaW5zaWRl
IGRlc3RpbmF0aW9uIGRpcmVjdG9yeSB0byBhdm9pZCBoYXJkIGNvZGluZworICAgICAgICB0aGUg
YmVuY2htYXJrIG5hbWUgaW4gdGhlIHBhdGNoZXMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvamV0c3RyZWFtX2JlbmNobWFy
a19idWlsZGVyLnB5OiBSZW1vdmVkLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5j
aG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIucHk6CisgICAgICAgIChCZW5jaG1hcmtSdW5u
ZXIuX19pbml0X18pOiBTZXQgc2VsZi5wbGFuTmFtZS4gQWxzbyBvdmVycmlkZSAnbG9jYWxfY29w
eScgd2hlbiAtLWxvY2FsLWNvcHkgb3B0aW9uIGlzIHVzZWQuCisgICAgICAgIChCZW5jaG1hcmtS
dW5uZXIuZXhlY3V0ZSk6IEV4aXQgZWFybHkgaWYgbmVpdGhlciBsb2NhbF9jb3B5IG5vciByZW1v
dGVfYXJjaGl2ZSBpcyBzcGVjaWZpZWQuIFByZWZpeCB0aGUgVVJMCisgICAgICAgIHRoZSBicm93
c2VyIG9wZW5zIGJ5IHBsYW5OYW1lIGFzIHRoZSBwbGFuIGZpbGUgbm8gbG9uZ2VyIGNvbnRhaW5z
IHRoYXQuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0
YS9wYXRjaGVzL0pldFN0cmVhbS5wYXRjaDogQ2hhbmdlZCB0aGUgcGF0aCB0byBiZSByZWxhdGl2
ZSBhZ2FpbnN0CisgICAgICAgIHRoZSB0b3AgZGlyZWN0b3J5IG9mIEpldFN0cmVhbSBpbnN0ZWFk
IG9mIGl0cyBwYXJlbnQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVu
bmVyL2RhdGEvcGF0Y2hlcy9LcmFrZW4ucGF0Y2g6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvT2N0YW5lLnBhdGNoOiBBZGRl
ZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRj
aGVzL1NwZWVkb21ldGVyLnBhdGNoOiBDaGFuZ2VkIHRoZSBwYXRoIHRvIGJlIHJlbGF0aXZlIGFn
YWluc3QKKyAgICAgICAgdGhlIHRvcCBkaXJlY3Rvcnkgb2YgSmV0U3RyZWFtIGluc3RlYWQgb2Yg
aXRzIHBhcmVudC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
ZGF0YS9wYXRjaGVzL1N1blNwaWRlci5wYXRjaDogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvamV0c3RyZWFtLnBsYW46IFVzZXMg
R2VuZXJpY0JlbmNobWFya0J1aWxkZXIgYW5kIHNwZWNpZmllcworICAgICAgICB0aGUgc2NyaXB0
IHRvIHJ1bi4gVGhlIGVudHJ5IHBvaW50IHdhcyBjaGFuZ2VkIHRvIHRoZSByZWxhdGl2ZSBwYXRo
IGZyb20gdGhlIHRvcCBkaXJlY3Rvcnkgb2YgSmV0U3RyZWFtIGFzCisgICAgICAgIGRvbmUgaW4g
SmV0U3RyZWFtLnBhdGNoLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1
bm5lci9kYXRhL3BsYW5zL2tyYWtlbi5wbGFuOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFucy9vY3RhbmUucGxhbjogQWRkZWQuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvc3Bl
ZWRvbWV0ZXIucGxhbjogVGhlIGVudHJ5IHBvaW50IHdhcyBjaGFuZ2VkIHRvIHRoZSByZWxhdGl2
ZQorICAgICAgICBwYXRoIGZyb20gdGhlIHRvcCBkaXJlY3Rvcnkgb2YgSmV0U3RyZWFtIGFzIGRv
bmUgaW4gSmV0U3RyZWFtLnBhdGNoLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9kYXRhL3BsYW5zL3N1bnNwaWRlci5wbGFuOiBBZGRlZC4KKwogMjAxNS0wNS0w
OSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIGFyZ3Vt
ZW50cyBvZiBydW4tYmVuY2htYXJrIG1vcmUgdXNlciBmcmllbmRseQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy9ydW4tYmVuY2htYXJrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmVuY2htYXJrCmlu
ZGV4IDZkNWY2NmUzNTk4NzI5NDdiNjM1ZTU1ZjIyYmU5YmU1OWU2MDQ2NDQuLjc3ZmM0NzI0NDU3
YTFlYTY5YTBiNTFhYjU2OTE3NGEzMmQzMzRhYjkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMv
cnVuLWJlbmNobWFyaworKysgYi9Ub29scy9TY3JpcHRzL3J1bi1iZW5jaG1hcmsKQEAgLTI2LDYg
KzI2LDcgQEAgZGVmIG1haW4oKToKICAgICAjIEZJWE1FOiBTaG91bGQgd2UgYWRkIGNocm9tZSBh
cyBhbiBvcHRpb24/IFdlbGwsIGNocm9tZSB1c2VzIHdlYmtpdCBpbiBpT1MuCiAgICAgcGFyc2Vy
LmFkZF9hcmd1bWVudCgnLS1icm93c2VyJywgZGVzdD0nYnJvd3NlcicsIHJlcXVpcmVkPVRydWUs
IGNob2ljZXM9QnJvd3NlckRyaXZlckZhY3RvcnkuYXZhaWxhYmxlX2Jyb3dzZXJzKCkpCiAgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgnLS1kZWJ1ZycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCisgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgnLS1sb2NhbC1jb3B5JywgZGVzdD0nbG9jYWxDb3B5JywgaGVs
cD0nUGF0aCB0byBhIGxvY2FsIGNvcHkgb2YgdGhlIGJlbmNobWFyay4gZS5nLiBQZXJmb3JtYW5j
ZVRlc3RzL1N1blNwaWRlci8nKQogICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCiAKICAg
ICBpZiBhcmdzLmRlYnVnOgpAQCAtMzQsNyArMzUsNyBAQCBkZWYgbWFpbigpOgogICAgIF9sb2cu
ZGVidWcoJ1x0b3V0cHV0IGZpbGUgbmFtZVx0OiAlcycgJSBhcmdzLm91dHB1dCkKICAgICBfbG9n
LmRlYnVnKCdcdGJ1aWxkIGRpcmVjdG9yeVx0OiAlcycgJSBhcmdzLmJ1aWxkRGlyKQogICAgIF9s
b2cuZGVidWcoJ1x0cGxhbiBuYW1lXHQ6ICVzJywgYXJncy5wbGFuKQotICAgIHJ1bm5lciA9IEJl
bmNobWFya1J1bm5lcihhcmdzLnBsYW4sIGFyZ3MuYnVpbGREaXIsIGFyZ3Mub3V0cHV0LCBhcmdz
LnBsYXRmb3JtLCBhcmdzLmJyb3dzZXIpCisgICAgcnVubmVyID0gQmVuY2htYXJrUnVubmVyKGFy
Z3MucGxhbiwgYXJncy5sb2NhbENvcHksIGFyZ3MuYnVpbGREaXIsIGFyZ3Mub3V0cHV0LCBhcmdz
LnBsYXRmb3JtLCBhcmdzLmJyb3dzZXIpCiAgICAgcmV0dXJuIHJ1bm5lci5leGVjdXRlKCkKIAog
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvUkVB
RE1FLm1kIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL1JFQURNRS5t
ZAppbmRleCAwY2FkNGExOThlM2UwNzE2MDM0YzNlODY1ZGRhNDFlYmEwOTgwMDQ3Li42Yjk1MmM4
NWZmNGQwN2NiOTJjNmQ1OWQxYWRkZjkwZGM0YWQzODcxIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvUkVBRE1FLm1kCisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9SRUFETUUubWQKQEAgLTU4LDcgKzU4LDcgQEAg
VG8gY3JlYXRlIGEgcGxhbiwgeW91IG1heSByZWZlciB0byBQbGFucy9qZXRzdHJlYW0ucGxhbi4K
ICAgICAidGltZW91dCIgOiA2MDAsCiAgICAgImNvdW50IjogNSwKICAgICAiYmVuY2htYXJrX2J1
aWxkZXIiOiAiSmV0U3RyZWFtQmVuY2htYXJrQnVpbGRlciIsCi0gICAgIm9yaWdpbmFsX2JlbmNo
bWFyayI6ICIuLi8uLi8uLi8uLi9QZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVhbSIsCisgICAgImxv
Y2FsX2NvcHkiOiAiLi4vLi4vLi4vLi4vUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0iLAogICAg
ICJiZW5jaG1hcmtfcGF0Y2giOiAiZGF0YS9wYXRjaGVzL0pldFN0cmVhbS5wYXRjaCIsCiAgICAg
ImVudHJ5X3BvaW50IjogIkpldFN0cmVhbS9KZXRTdHJlYW0tMS4wLjEvaW5kZXguaHRtbCIsCiAg
ICAgIm91dHB1dF9maWxlIjogImpldHN0cmVhbS5yZXN1bHQiCkBAIC02OSw5ICs2OSwxMCBAQCBQ
bGFuIGlzIGEganNvbi1mb3JtYXR0ZWQgZGljdGlvbmFyeSB3aGljaCBjb250YWlucyBmb2xsb3dp
bmcga2V5cwogKiAqKnRpbWVvdXQqKjogdGltZSBsaW1pdCBmb3IgKipFQUNIIFJVTioqIG9mIHRo
ZSBiZW5jaG1hcmsuIFRoaXMgY2FuIGF2b2lkIHByb2dyYW0gZ2V0dGluZyBzdHVjayBpbiB0aGUg
ZXh0cmVtZSBjaXJjdW1zdGFuY2VzLiBUaGUgdGltZSBsaW1pdCBpcyBzdWdnZXN0ZWQgdG8gYmUg
MS41LTJ4IHRoZSB0aW1lIHNwZW50IGluIGEgbm9ybWFsIHJ1bi4KICogKipjb3VudCoqOiB0aGUg
bnVtYmVyIG9mIHRpbWVzIHlvdSB3YW50IHRvIHJ1biBiZW5jaG1hcmsKICogKipiZW5jaG1hcmtf
YnVpbGRlcioqOiAgYnVpbGRlciBvZiB0aGUgYmVuY2htYXJrIHdoaWNoIGlzIHJlc3BvbnNpYmxl
IGZvciBhcnJhbmdpbmcgYmVuY2htYXJrIGJlZm9yZSB0aGUgd2ViIHNlcnZlciBzZXJ2aW5nIHRo
ZSBkaXJlY3RvcnkuIEluIG1vc3QgY2FzZSwgJ0dlbmVyaWNCZW5jaG1hcmtIYW5kbGVyJyBpcyBz
dWZmaWNpZW50LiBJdCBjb3BpZXMgdGhlIGJlbmNobWFyayB0byBhIHRlbXBvcmFyeSBkaXJlY3Rv
cnkgYW5kIGFwcGxpZXMgcGF0Y2ggdG8gYmVuY2htYXJrLiBJZiB5b3UgaGF2ZSBzcGVjaWFsIHJl
cXVpcmVtZW50LCB5b3UgY291bGQgZGVzaWduIHlvdXIgb3duIGJlbmNobWFyayBoYW5kbGUsIGp1
c3QgbGlrZSB0aGUgJ0pldFN0cmVhbUJlbmNobWFya0hhbmRsZScgaW4gdGhpcyBleGFtcGxlLgot
KiAqKm9yaWdpbmFsX2JlbmNobWFyayoqOiBwYXRoIG9mIGJlbmNobWFyaywgYSByZWxhdGl2ZSBw
YXRoIHRvIHRoZSByb290IG9mIHRoaXMgcHJvamVjdCAoJ2JlbmNobWFya19ydW5uZXInIGRpcmVj
dG9yeSkKKyogKipsb2NhbF9jb3B5Kio6IHBhdGggb2YgYmVuY2htYXJrLCBhIHJlbGF0aXZlIHBh
dGggdG8gdGhlIHJvb3Qgb2YgdGhpcyBwcm9qZWN0ICgnYmVuY2htYXJrX3J1bm5lcicgZGlyZWN0
b3J5KQorKiAqKnJlbW90ZV9hcmNoaXZlKio6ICgqKk9QVElPTkFMKiopIFVSTCBvZiB0aGUgcmVt
b3RlIChodHRwL2h0dHBzKSBaSVAgZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSBiZW5jaG1hcmsuCiAq
ICoqYmVuY2htYXJrX3BhdGgqKjogKCoqT1BUSU9OQUwqKikgcGF0aCBvZiBwYXRjaCwgYSByZWxh
dGl2ZSBwYXRoIHRvIHRoZSByb290IG9mIHRoaXMgcHJvamVjdCAoJ2JlbmNobWFya19ydW5uZXIn
IGRpcmVjdG9yeSkKLSogKiplbnRyeV9wb2ludCoqOiB0aGUgcmVsYXRpdmUgdXJsIHlvdSB3YW50
IGJyb3dzZXIgdG8gbGF1bmNoIChhIHJlbGF0aXZlIHBhdGggdG8gdGhlIHdlYlJvb3QpCisqICoq
ZW50cnlfcG9pbnQqKjogdGhlIHJlbGF0aXZlIHVybCB5b3Ugd2FudCBicm93c2VyIHRvIGxhdW5j
aCAoYSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBiZW5jaG1hcmsgZGlyZWN0b3J5KQogKiAqKm91dHB1
dF9maWxlKio6IHNwZWNpZnkgdGhlIG91dHB1dCBmaWxlLCB0aGlzIGNhbiBiZSBvdmVyd3JpdHRl
biBieSBzcGVjaWZ5aW5nICctLW91dHB1dC1maWxlJyB3aGlsZSBpbnZva2luZyBydW4tYmVuY2ht
YXJrIHNjcmlwdAogCiAjIyMgSG93IHRvIGltcG9ydCBhIGJlbmNobWFyawpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVy
L2JlbmNobWFya19idWlsZGVycy5qc29uIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1h
cmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2JlbmNobWFya19idWlsZGVycy5qc29uCmluZGV4
IGI4ZmM5MzJlNmU5ZGU1YTExNGFkZjhjMGUwYTU2MGRjMzVlNDEwNTYuLjFmNGJkZjNjZjhmYTAy
MmJkNjA1NGIxYjk2YTBhNjRlN2QwM2QzMWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfYnVpbGRlci9iZW5jaG1hcmtfYnVpbGRl
cnMuanNvbgorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVu
Y2htYXJrX2J1aWxkZXIvYmVuY2htYXJrX2J1aWxkZXJzLmpzb24KQEAgLTIsOSArMiw1IEBACiAg
ICAgIkdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyIjogewogICAgICAgICAiZmlsZVBhdGgiOiAiYmVu
Y2htYXJrX2J1aWxkZXIuZ2VuZXJpY19iZW5jaG1hcmtfYnVpbGRlciIsCiAgICAgICAgICJtb2R1
bGVOYW1lIjogIkdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyIgotICAgIH0sCi0gICAgIkpldFN0cmVh
bUJlbmNobWFya0J1aWxkZXIiOiB7Ci0gICAgICAgICJmaWxlUGF0aCI6ICJiZW5jaG1hcmtfYnVp
bGRlci5qZXRzdHJlYW1fYmVuY2htYXJrX2J1aWxkZXIiLAotICAgICAgICAibW9kdWxlTmFtZSI6
ICJKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyIgogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfYnVpbGRlci9nZW5l
cmljX2JlbmNobWFya19idWlsZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1h
cmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2dlbmVyaWNfYmVuY2htYXJrX2J1aWxkZXIucHkK
aW5kZXggNmFjMjZmMzRhYWRkM2JmNjA2ODUwOGYzNzgzYWY1NzUwNjkyYmY1NS4uYjVmYjRiN2Iw
Yzg0YmZmNjU0MTkxYzE2ZWQzZDU0MjA0MmNlZTY4NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2dlbmVyaWNfYmVu
Y2htYXJrX2J1aWxkZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL2JlbmNobWFya19idWlsZGVyL2dlbmVyaWNfYmVuY2htYXJrX2J1aWxkZXIucHkKQEAg
LTMsOSArMywxMSBAQAogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IG9z
CitpbXBvcnQgdXJsbGliCiBpbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3VicHJvY2VzcwogCitmcm9t
IHppcGZpbGUgaW1wb3J0IFppcEZpbGUKIGZyb20gd2Via2l0cHkuYmVuY2htYXJrX3J1bm5lci51
dGlscyBpbXBvcnQgZ2V0UGF0aEZyb21Qcm9qZWN0Um9vdCwgZm9yY2VSZW1vdmUKIAogCkBAIC0x
NCwyNyArMTYsNjggQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiBjbGFz
cyBHZW5lcmljQmVuY2htYXJrQnVpbGRlcihvYmplY3QpOgogCi0gICAgZGVmIHByZXBhcmUoc2Vs
ZiwgYmVuY2htYXJrUGF0aCwgcGF0Y2gpOgotICAgICAgICBzZWxmLl9jb3B5QmVuY2htYXJrVG9U
ZW1wRGlyKGJlbmNobWFya1BhdGgpCi0gICAgICAgIHJldHVybiBzZWxmLl9hcHBseVBhdGNoKHBh
dGNoKQorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgIyBGSVhNRTogRG8gd2UgcmVh
bGx5IG5lZWQgdHdvIHZhcmlhYmxlcz8KKyAgICAgICAgc2VsZi5uYW1lID0gTm9uZQorICAgICAg
ICBzZWxmLndlYlJvb3QgPSBOb25lCisgICAgICAgIHNlbGYuZGVzdCA9IE5vbmUKKworICAgIGRl
ZiBwcmVwYXJlKHNlbGYsIG5hbWUsIGJlbmNobWFya1BhdGgsIGFyY2hpdmVVUkwsIHBhdGNoLCBj
cmVhdGVTY3JpcHQpOgorICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCisgICAgICAgIGlmIGJlbmNo
bWFya1BhdGg6CisgICAgICAgICAgICBzZWxmLl9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKGJlbmNo
bWFya1BhdGgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBhc3NlcnQoYXJjaGl2ZVVSTCkK
KyAgICAgICAgICAgIHNlbGYuX2ZldGNoUmVtb3RlQXJjaGl2ZShhcmNoaXZlVVJMKQorICAgICAg
ICBfbG9nLmRlYnVnKCdTZXJ2ZXJpbmcgYXQgd2ViUm9vdDogJXMnICUgc2VsZi53ZWJSb290KQor
ICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiBjcmVhdGVTY3JpcHQ6CisgICAgICAgICAgICAg
ICAgc2VsZi5fcnVuQ3JlYXRlU2NyaXB0KGNyZWF0ZVNjcmlwdCkKKyAgICAgICAgICAgIHJldHVy
biBzZWxmLl9hcHBseVBhdGNoKHBhdGNoKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBz
ZWxmLmNsZWFuKCkKKyAgICAgICAgICAgIHJhaXNlCisKKyAgICBkZWYgX3J1bkNyZWF0ZVNjcmlw
dChzZWxmLCBjcmVhdGVTY3JpcHQpOgorICAgICAgICBvbGRXb3JraW5nRGlyZWN0b3J5ID0gb3Mu
Z2V0Y3dkKCkKKyAgICAgICAgb3MuY2hkaXIoc2VsZi5kZXN0KQorICAgICAgICBfbG9nLmRlYnVn
KCdSdW5uaW5nICVzIGluICVzJyAlIChjcmVhdGVTY3JpcHQsIHNlbGYuZGVzdCkpCisgICAgICAg
IGVycm9yQ29kZSA9IHN1YnByb2Nlc3MuY2FsbChjcmVhdGVTY3JpcHQpCisgICAgICAgIG9zLmNo
ZGlyKG9sZFdvcmtpbmdEaXJlY3RvcnkpCisgICAgICAgIGlmIGVycm9yQ29kZToKKyAgICAgICAg
ICAgIHJhaXNlIEV4Y2VwdGlvbignQ2Fubm90IGNyZWF0ZSB0aGUgYmVuY2htYXJrJywgZXJyb3JD
b2RlKQogCiAgICAgZGVmIF9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKHNlbGYsIGJlbmNobWFya1Bh
dGgpOgogICAgICAgICBzZWxmLndlYlJvb3QgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKLSAgICAgICAg
X2xvZy5kZWJ1ZygnU2VydmVyaW5nIGF0IHdlYlJvb3Q6ICVzJyAlIHNlbGYud2ViUm9vdCkKLSAg
ICAgICAgc2VsZi5kZXN0ID0gb3MucGF0aC5qb2luKHNlbGYud2ViUm9vdCwgb3MucGF0aC5zcGxp
dChiZW5jaG1hcmtQYXRoKVsxXSkKKyAgICAgICAgc2VsZi5kZXN0ID0gb3MucGF0aC5qb2luKHNl
bGYud2ViUm9vdCwgc2VsZi5uYW1lKQogICAgICAgICBzaHV0aWwuY29weXRyZWUoZ2V0UGF0aEZy
b21Qcm9qZWN0Um9vdChiZW5jaG1hcmtQYXRoKSwgc2VsZi5kZXN0KQogCisgICAgZGVmIF9mZXRj
aFJlbW90ZUFyY2hpdmUoc2VsZiwgYXJjaGl2ZVVSTCk6CisgICAgICAgIGRlc3RpbmF0aW9uID0g
dGVtcGZpbGUubWtkdGVtcCgpCisgICAgICAgIGFyY2hpdmVfcGF0aCA9IG9zLnBhdGguam9pbihk
ZXN0aW5hdGlvbiwgJ2FyY2hpdmUuemlwJykKKyAgICAgICAgX2xvZy5pbmZvKCdEb3dubG9hZGlu
ZyAlcyB0byAlcycgJSAoYXJjaGl2ZVVSTCwgYXJjaGl2ZV9wYXRoKSkKKyAgICAgICAgdXJsbGli
LnVybHJldHJpZXZlKGFyY2hpdmVVUkwsIGFyY2hpdmVfcGF0aCkKKworICAgICAgICB3ZWJSb290
ID0gb3MucGF0aC5qb2luKGRlc3RpbmF0aW9uLCAnYmVuY2htYXJrJykKKyAgICAgICAgb3MubWtk
aXIod2ViUm9vdCkKKyAgICAgICAgd2l0aCBaaXBGaWxlKGFyY2hpdmVfcGF0aCwgJ3InKSBhcyBh
cmNoaXZlOgorICAgICAgICAgICAgYXJjaGl2ZS5leHRyYWN0YWxsKHdlYlJvb3QpCisKKyAgICAg
ICAgdW5hcmNoaXZlZEZpbGVzID0gZmlsdGVyKGxhbWJkYSBuYW1lOiBub3QgbmFtZS5zdGFydHN3
aXRoKCcuJyksIG9zLmxpc3RkaXIod2ViUm9vdCkpCisgICAgICAgIGlmIGxlbih1bmFyY2hpdmVk
RmlsZXMpID09IDEgYW5kIG9zLnBhdGguaXNkaXIob3MucGF0aC5qb2luKHdlYlJvb3QsIHVuYXJj
aGl2ZWRGaWxlc1swXSkpOgorICAgICAgICAgICAgd2ViUm9vdCA9IG9zLnBhdGguam9pbih3ZWJS
b290LCB1bmFyY2hpdmVkRmlsZXNbMF0pCisgICAgICAgIHNlbGYud2ViUm9vdCA9IHdlYlJvb3QK
KyAgICAgICAgc2VsZi5kZXN0ID0gd2ViUm9vdAorCiAgICAgZGVmIF9hcHBseVBhdGNoKHNlbGYs
IHBhdGNoKToKICAgICAgICAgaWYgbm90IHBhdGNoOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYu
d2ViUm9vdAogICAgICAgICBvbGRXb3JraW5nRGlyZWN0b3J5ID0gb3MuZ2V0Y3dkKCkKLSAgICAg
ICAgb3MuY2hkaXIoc2VsZi53ZWJSb290KQorICAgICAgICBvcy5jaGRpcihzZWxmLmRlc3QpCiAg
ICAgICAgIGVycm9yQ29kZSA9IHN1YnByb2Nlc3MuY2FsbChbJ3BhdGNoJywgJy1wMScsICctZics
ICctaScsIGdldFBhdGhGcm9tUHJvamVjdFJvb3QocGF0Y2gpXSkKICAgICAgICAgb3MuY2hkaXIo
b2xkV29ya2luZ0RpcmVjdG9yeSkKICAgICAgICAgaWYgZXJyb3JDb2RlOgotICAgICAgICAgICAg
X2xvZy5lcnJvcignQ2Fubm90IGFwcGx5IHBhdGNoLCB3aWxsIHNraXAgY3VycmVudCBiZW5jaG1h
cmtQYXRoJykKLSAgICAgICAgICAgIHNlbGYuY2xlYW4oKQotICAgICAgICAgICAgcmV0dXJuIE5v
bmUKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQ2Fubm90IGFwcGx5IHBhdGNoLCB3aWxs
IHNraXAgY3VycmVudCBiZW5jaG1hcmtQYXRoJykKICAgICAgICAgcmV0dXJuIHNlbGYud2ViUm9v
dAogCiAgICAgZGVmIGNsZWFuKHNlbGYpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2pldHN0cmVhbV9iZW5jaG1h
cmtfYnVpbGRlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9i
ZW5jaG1hcmtfYnVpbGRlci9qZXRzdHJlYW1fYmVuY2htYXJrX2J1aWxkZXIucHkKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkOTU4ZTM0ZGIzMzE3YTA3Yjg1ZmU5NTYzZjVlMTE5OTAy
YmY4NmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2pl
dHN0cmVhbV9iZW5jaG1hcmtfYnVpbGRlci5weQorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAg
QEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotCi1pbXBvcnQgbG9nZ2luZwotaW1wb3J0IG9zCi1p
bXBvcnQgc3VicHJvY2VzcwotCi1mcm9tIGdlbmVyaWNfYmVuY2htYXJrX2J1aWxkZXIgaW1wb3J0
IEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyCi0KLQotX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9f
bmFtZV9fKQotCi0KLWNsYXNzIEpldFN0cmVhbUJlbmNobWFya0J1aWxkZXIoR2VuZXJpY0JlbmNo
bWFya0J1aWxkZXIpOgotCi0gICAgZGVmIHByZXBhcmUoc2VsZiwgYmVuY2htYXJrUGF0aCwgcGF0
Y2gpOgotICAgICAgICBzdXBlcihzZWxmLl9fY2xhc3NfXywgc2VsZikuX2NvcHlCZW5jaG1hcmtU
b1RlbXBEaXIoYmVuY2htYXJrUGF0aCkKLSAgICAgICAgc2VsZi5fcnVuQ3JlYXRlU2NyaXB0KCkK
LSAgICAgICAgcmV0dXJuIHN1cGVyKHNlbGYuX19jbGFzc19fLCBzZWxmKS5fYXBwbHlQYXRjaChw
YXRjaCkKLQotICAgIGRlZiBfcnVuQ3JlYXRlU2NyaXB0KHNlbGYpOgotICAgICAgICBvbGRXb3Jr
aW5nRGlyZWN0b3J5ID0gb3MuZ2V0Y3dkKCkKLSAgICAgICAgb3MuY2hkaXIoc2VsZi5kZXN0KQot
ICAgICAgICBfbG9nLmRlYnVnKHNlbGYuZGVzdCkKLSAgICAgICAgZXJyb3JDb2RlID0gc3VicHJv
Y2Vzcy5jYWxsKFsncnVieScsICdjcmVhdGUucmInXSkKLSAgICAgICAgb3MuY2hkaXIob2xkV29y
a2luZ0RpcmVjdG9yeSkKLSAgICAgICAgaWYgZXJyb3JDb2RlOgotICAgICAgICAgICAgX2xvZy5l
cnJvcignQ2Fubm90IGNyZWF0ZSBKZXRTdHJlYW0gQmVuY2htYXJrJykKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfcnVubmVyLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5u
ZXIucHkKaW5kZXggMTc5Mjg3ZDdhMjBiMzgzMDRkZWRkYzEwMDE2Y2Q4NDhjY2Q2NDFhMC4uZTQ1
MDkxMDYxYTIxNzU4NmI4ZTkwZjdlODNlZjY5ZWM2M2U4MDg5YyAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5u
ZXIucHkKQEAgLTIzLDEyICsyMywxNSBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1l
X18pCiAKIGNsYXNzIEJlbmNobWFya1J1bm5lcihvYmplY3QpOgogCi0gICAgZGVmIF9faW5pdF9f
KHNlbGYsIHBsYW5GaWxlLCBidWlsZERpciwgb3V0cHV0RmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuRmlsZSwgbG9jYWxDb3B5LCBidWlsZERpciwg
b3V0cHV0RmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIpOgogICAgICAgICBfbG9nLmluZm8oJ0luaXRp
YWxpemluZyBiZW5jaG1hcmsgcnVubmluZycpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHBs
YW5GaWxlID0gc2VsZi5fZmluZFBsYW5GaWxlKHBsYW5GaWxlKQogICAgICAgICAgICAgd2l0aCBv
cGVuKHBsYW5GaWxlLCAncicpIGFzIGZwOgorICAgICAgICAgICAgICAgIHNlbGYucGxhbk5hbWUg
PSBvcy5wYXRoLnNwbGl0KG9zLnBhdGguc3BsaXRleHQocGxhbkZpbGUpWzBdKVsxXQogICAgICAg
ICAgICAgICAgIHNlbGYucGxhbiA9IGpzb24ubG9hZChmcCkKKyAgICAgICAgICAgICAgICBpZiBs
b2NhbENvcHk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYucGxhblsnbG9jYWxfY29weSddID0g
bG9jYWxDb3B5CiAgICAgICAgICAgICAgICAgc2VsZi5icm93c2VyRHJpdmVyID0gQnJvd3NlckRy
aXZlckZhY3RvcnkuY3JlYXRlKFtwbGF0Zm9ybSwgYnJvd3Nlcl0pCiAgICAgICAgICAgICAgICAg
c2VsZi5odHRwU2VydmVyRHJpdmVyID0gSFRUUFNlcnZlckRyaXZlckZhY3RvcnkuY3JlYXRlKFtz
ZWxmLnBsYW5bJ2h0dHBfc2VydmVyX2RyaXZlciddXSkKICAgICAgICAgICAgICAgICBzZWxmLmJ1
aWxkRGlyID0gb3MucGF0aC5hYnNwYXRoKGJ1aWxkRGlyKSBpZiBidWlsZERpciBlbHNlIE5vbmUK
QEAgLTU2LDEyICs1OSwxOSBAQCBjbGFzcyBCZW5jaG1hcmtSdW5uZXIob2JqZWN0KToKICAgICAg
ICAgX2xvZy5pbmZvKCdTdGFydCBhIG5ldyBiZW5jaG1hcmsnKQogICAgICAgICByZXN1bHRzID0g
W10KICAgICAgICAgYmVuY2htYXJrQnVpbGRlciA9IEJlbmNobWFya0J1aWxkZXJGYWN0b3J5LmNy
ZWF0ZShbc2VsZi5wbGFuWydiZW5jaG1hcmtfYnVpbGRlciddXSkKLSAgICAgICAgd2ViUm9vdCA9
IGJlbmNobWFya0J1aWxkZXIucHJlcGFyZShzZWxmLnBsYW5bJ29yaWdpbmFsX2JlbmNobWFyaydd
LCBzZWxmLnBsYW5bJ2JlbmNobWFya19wYXRjaCddIGlmICdiZW5jaG1hcmtfcGF0Y2gnIGluIHNl
bGYucGxhbiBlbHNlIE5vbmUpCisKKyAgICAgICAgaWYgbm90IHNlbGYucGxhbi5nZXQoJ2xvY2Fs
X2NvcHknKSBhbmQgbm90IHNlbGYucGxhbi5nZXQoJ3JlbW90ZV9hcmNoaXZlJyk6CisgICAgICAg
ICAgICBfbG9nLmVycm9yKCdFaXRoZXIgbG9jYWxfY29weSBvciByZW1vdGVfYXJjaGl2ZSBtdXN0
IGJlIHNwZWNpZmllZCBpbiB0aGUgcGxhbicpCisgICAgICAgICAgICByZXR1cm4gMgorCisgICAg
ICAgIHdlYlJvb3QgPSBiZW5jaG1hcmtCdWlsZGVyLnByZXBhcmUoc2VsZi5wbGFuTmFtZSwgc2Vs
Zi5wbGFuLmdldCgnbG9jYWxfY29weScpLCBzZWxmLnBsYW4uZ2V0KCdyZW1vdGVfYXJjaGl2ZScp
LAorICAgICAgICAgICAgc2VsZi5wbGFuLmdldCgnYmVuY2htYXJrX3BhdGNoJyksIHNlbGYucGxh
bi5nZXQoJ2NyZWF0ZV9zY3JpcHQnKSkKICAgICAgICAgZm9yIHggaW4geHJhbmdlKGludChzZWxm
LnBsYW5bJ2NvdW50J10pKToKICAgICAgICAgICAgIF9sb2cuaW5mbygnU3RhcnQgdGhlIGl0ZXJh
dGlvbiAlZCBvZiBjdXJyZW50IGJlbmNobWFyaycgJSAoeCArIDEpKQogICAgICAgICAgICAgc2Vs
Zi5odHRwU2VydmVyRHJpdmVyLnNlcnZlKHdlYlJvb3QpCiAgICAgICAgICAgICBzZWxmLmJyb3dz
ZXJEcml2ZXIucHJlcGFyZUVudigpCi0gICAgICAgICAgICBzZWxmLmJyb3dzZXJEcml2ZXIubGF1
bmNoVXJsKHVybHBhcnNlLnVybGpvaW4oc2VsZi5odHRwU2VydmVyRHJpdmVyLmJhc2VVcmwoKSwg
c2VsZi5wbGFuWydlbnRyeV9wb2ludCddKSwgc2VsZi5idWlsZERpcikKKyAgICAgICAgICAgIHVy
bCA9IHVybHBhcnNlLnVybGpvaW4oc2VsZi5odHRwU2VydmVyRHJpdmVyLmJhc2VVcmwoKSwgc2Vs
Zi5wbGFuTmFtZSArICcvJyArIHNlbGYucGxhblsnZW50cnlfcG9pbnQnXSkKKyAgICAgICAgICAg
IHNlbGYuYnJvd3NlckRyaXZlci5sYXVuY2hVcmwodXJsLCBzZWxmLmJ1aWxkRGlyKQogICAgICAg
ICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHdpdGggdGltZW91dChzZWxmLnBsYW5bJ3RpbWVv
dXQnXSk6CiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGpzb24ubG9hZHMoc2VsZi5odHRw
U2VydmVyRHJpdmVyLmZldGNoUmVzdWx0KCkpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL0pldFN0cmVhbS5wYXRjaCBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvSmV0U3Ry
ZWFtLnBhdGNoCmluZGV4IDA0YmRiZThjMTc3M2MwNjhhODYyYWU4YWEzMTI5Y2I4MDYwODRmNmIu
LjIwMDM4NGUxM2Q2YzdhZDcyOGNjN2YwZmQyOGNiZDZmZDU3MTI5MTcgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvSmV0U3Ry
ZWFtLnBhdGNoCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9k
YXRhL3BhdGNoZXMvSmV0U3RyZWFtLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotZGlmZiAtLWdpdCBh
L0pldFN0cmVhbS9KZXRTdHJlYW0tMS4wLjEvSmV0U3RyZWFtRHJpdmVyLmpzIGIvSmV0U3RyZWFt
L0pldFN0cmVhbS0xLjAuMS9KZXRTdHJlYW1Ecml2ZXIuanMKK2RpZmYgLS1naXQgYS9KZXRTdHJl
YW0tMS4wLjEvSmV0U3RyZWFtRHJpdmVyLmpzIGIvSmV0U3RyZWFtLTEuMC4xL0pldFN0cmVhbURy
aXZlci5qcwogaW5kZXggNzNlZTQyMC4uNjBmNTg3YyAxMDA2NDQKLS0tLSBhL0pldFN0cmVhbS9K
ZXRTdHJlYW0tMS4wLjEvSmV0U3RyZWFtRHJpdmVyLmpzCi0rKysgYi9KZXRTdHJlYW0vSmV0U3Ry
ZWFtLTEuMC4xL0pldFN0cmVhbURyaXZlci5qcworLS0tIGEvSmV0U3RyZWFtLTEuMC4xL0pldFN0
cmVhbURyaXZlci5qcworKysrIGIvSmV0U3RyZWFtLTEuMC4xL0pldFN0cmVhbURyaXZlci5qcwog
QEAgLTQ0OCw2ICs0NDgsMTQgQEAgdmFyIEpldFN0cmVhbSA9IChmdW5jdGlvbigpIHsKICAKICAg
ICAgICAgIHJldHVybiByYXdSZXN1bHRzOwpAQCAtNDEsMTAgKzQxLDEwIEBAIGluZGV4IDczZWU0
MjAuLjYwZjU4N2MgMTAwNjQ0CiAgICAgIH0KICAKICAgICAgZnVuY3Rpb24gaXRlcmF0ZSgpCi1k
aWZmIC0tZ2l0IGEvSmV0U3RyZWFtL0pldFN0cmVhbS0xLjAuMS9pbmRleC5odG1sIGIvSmV0U3Ry
ZWFtL0pldFN0cmVhbS0xLjAuMS9pbmRleC5odG1sCitkaWZmIC0tZ2l0IGEvSmV0U3RyZWFtLTEu
MC4xL2luZGV4Lmh0bWwgYi9KZXRTdHJlYW0tMS4wLjEvaW5kZXguaHRtbAogaW5kZXggZTI3NTM1
Yy4uMDAxMDg3ZCAxMDA2NDQKLS0tLSBhL0pldFN0cmVhbS9KZXRTdHJlYW0tMS4wLjEvaW5kZXgu
aHRtbAotKysrIGIvSmV0U3RyZWFtL0pldFN0cmVhbS0xLjAuMS9pbmRleC5odG1sCistLS0gYS9K
ZXRTdHJlYW0tMS4wLjEvaW5kZXguaHRtbAorKysrIGIvSmV0U3RyZWFtLTEuMC4xL2luZGV4Lmh0
bWwKIEBAIC0zNCw4ICszNCwxMCBAQAogICAgICB3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKCkg
eyBhbGxJc0dvb2QgPSBmYWxzZTsgfQogIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9LcmFrZW4ucGF0Y2ggYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL0tyYWtlbi5wYXRj
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44OTkyNTFkMTEyMWJkMjAxODViNTI0ZTkwY2Y5NjZjYWE2NzEzZjY1Ci0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L2RhdGEvcGF0Y2hlcy9LcmFrZW4ucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorZGlmZiAtLWdpdCBh
L2hvc3RlZC9rcmFrZW4tMS4xL2RyaXZlci5odG1sIGIvaG9zdGVkL2tyYWtlbi0xLjEvZHJpdmVy
Mi5odG1sCitpbmRleCBiZmIyYzk0Li41YWQxNzA0IDEwMDY0NAorLS0tIGEvaG9zdGVkL2tyYWtl
bi0xLjEvZHJpdmVyLmh0bWwKKysrKyBiL2hvc3RlZC9rcmFrZW4tMS4xL2RyaXZlcjIuaHRtbAor
QEAgLTExNywyMCArMTE3LDI4IEBAIGZ1bmN0aW9uIHJlY29yZFJlc3VsdCh0aW1lKQorIAorIGZ1
bmN0aW9uIGZpbmlzaCgpCisgeworLSAgICB2YXIgb3V0cHV0U3RyaW5nID0gInsiOworLSAgICBv
dXRwdXRTdHJpbmcgKz0gJyJ2IjogImtyYWtlbi0xLjEiLCAnOworKyAgICB2YXIgdGVzdHMgPSB7
fTsKKyAgICAgZm9yICh2YXIgdGVzdCBpbiBvdXRwdXRbMF0pIHsKKy0gICAgICAgIG91dHB1dFN0
cmluZyArPSAnIicgKyB0ZXN0ICsgJyI6Wyc7CistICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IG91dHB1dC5sZW5ndGg7IGkrKykgeworLSAgICAgICAgICAgICBvdXRwdXRTdHJpbmcgKz0gb3V0
cHV0W2ldW3Rlc3RdICsgIiwiOworLSAgICAgICAgfQorLSAgICAgICAgb3V0cHV0U3RyaW5nID0g
b3V0cHV0U3RyaW5nLnN1YnN0cmluZygwLCBvdXRwdXRTdHJpbmcubGVuZ3RoIC0gMSk7CistICAg
ICAgICBvdXRwdXRTdHJpbmcgKz0gIl0sIjsKKysgICAgICAgIHZhciB2YWx1ZXMgPSBuZXcgQXJy
YXkob3V0cHV0Lmxlbmd0aCk7CisrICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dHB1dC5s
ZW5ndGg7IGkrKykKKysgICAgICAgICAgICB2YWx1ZXNbaV0gPSBvdXRwdXRbaV1bdGVzdF07Cisr
ICAgICAgICB0ZXN0c1t0ZXN0XSA9IHsibWV0cmljcyI6IHsiY3VycmVudCI6IHZhbHVlc319Cisg
ICAgIH0KKy0gICAgb3V0cHV0U3RyaW5nID0gb3V0cHV0U3RyaW5nLnN1YnN0cmluZygwLCBvdXRw
dXRTdHJpbmcubGVuZ3RoIC0gMSk7CistICAgIG91dHB1dFN0cmluZyArPSAifSI7CisgCistICAg
IGxvY2F0aW9uID0gInJlc3VsdHMuaHRtbD8iICsgZW5jb2RlVVJJKG91dHB1dFN0cmluZyk7Cisr
ICAgIHZhciByZXN1bHRzID0gSlNPTi5zdHJpbmdpZnkoeyJLcmFrZW4iOiB7Im1ldHJpY3MiOiB7
IlRpbWUiOiBbIlRvdGFsIl19LCAidGVzdHMiOiB0ZXN0c319KTsKKysgICAgdmFyIHhociA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOworKyAgICB4aHIub3BlbigiUE9TVCIsICIvcmVwb3J0Iik7Cisr
ICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24vanNv
biIpOworKyAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1MZW5ndGgiLCByZXN1bHRz
Lmxlbmd0aCk7CisrICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb25uZWN0aW9uIiwgImNsb3Nl
Iik7CisrICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKKysgICAgaWYo
eGhyLnJlYWR5U3RhdGUgPT0gWE1MSHR0cFJlcXVlc3QuRE9ORSAmJiB4aHIuc3RhdHVzID09IDIw
MCkgeworKyAgICAgICAgICAgIGNsb3NlUmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwor
KyAgICAgICAgICAgIGNsb3NlUmVxdWVzdC5vcGVuKCJHRVQiLCAiL3NodXRkb3duIik7CisrICAg
ICAgICAgICAgY2xvc2VSZXF1ZXN0LnNlbmQoKTsKKysgICAgICAgIH0KKysgICAgfQorKyAgICB4
aHIuc2VuZChyZXN1bHRzKTsKKyB9CisgCisgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL09jdGFuZS5wYXRj
aCBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNoZXMv
T2N0YW5lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlMDVlMzY2OTE2YmRlN2E0OTE3NWI2NzUzNTM3ZDRh
NjZlYzQwZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL09jdGFuZS5wYXRjaApAQCAtMCwwICsxLDY4IEBACitk
aWZmIC0tZ2l0IGEvYmFzZS5qcyBiL2Jhc2UuanMKK2luZGV4IDlkNmUzZGUuLmNkZGY4MDAKKy0t
LSBhL2Jhc2UuanMKKysrKyBiL2Jhc2UuanMKK0BAIC0xNjcsNyArMTY3LDcgQEAgQmVuY2htYXJr
U3VpdGUuUnVuU3VpdGVzID0gZnVuY3Rpb24ocnVubmVyLCBza2lwQmVuY2htYXJrcykgeworICAg
ICBpZiAocnVubmVyLk5vdGlmeVNjb3JlKSB7CisgICAgICAgdmFyIHNjb3JlID0gQmVuY2htYXJr
U3VpdGUuR2VvbWV0cmljTWVhbihCZW5jaG1hcmtTdWl0ZS5zY29yZXMpOworICAgICAgIHZhciBm
b3JtYXR0ZWQgPSBCZW5jaG1hcmtTdWl0ZS5Gb3JtYXRTY29yZSgxMDAgKiBzY29yZSk7CistICAg
ICAgcnVubmVyLk5vdGlmeVNjb3JlKGZvcm1hdHRlZCk7CisrICAgICAgcnVubmVyLk5vdGlmeVNj
b3JlKGZvcm1hdHRlZCwgMTAwICogc2NvcmUpOworICAgICB9CisgICB9CisgICBSdW5TdGVwKCk7
CitAQCAtMjUwLDcgKzI1MCw3IEBAIEJlbmNobWFya1N1aXRlLnByb3RvdHlwZS5Ob3RpZnlSZXN1
bHQgPSBmdW5jdGlvbigpIHsKKyAgIEJlbmNobWFya1N1aXRlLnNjb3Jlcy5wdXNoKHNjb3JlKTsK
KyAgIGlmICh0aGlzLnJ1bm5lci5Ob3RpZnlSZXN1bHQpIHsKKyAgICAgdmFyIGZvcm1hdHRlZCA9
IEJlbmNobWFya1N1aXRlLkZvcm1hdFNjb3JlKDEwMCAqIHNjb3JlKTsKKy0gICAgdGhpcy5ydW5u
ZXIuTm90aWZ5UmVzdWx0KHRoaXMubmFtZSwgZm9ybWF0dGVkKTsKKysgICAgdGhpcy5ydW5uZXIu
Tm90aWZ5UmVzdWx0KHRoaXMubmFtZSwgZm9ybWF0dGVkLCAxMDAgKiBzY29yZSk7CisgICB9Cisg
ICBpZiAodGhpcy5yZWZlcmVuY2UubGVuZ3RoID09IDIpIHsKKyAgICAgdmFyIG1lYW5MYXRlbmN5
ID0gQmVuY2htYXJrU3VpdGUuR2VvbWV0cmljTWVhbkxhdGVuY3kodGhpcy5yZXN1bHRzKTsKK0BA
IC0yNTksNyArMjU5LDcgQEAgQmVuY2htYXJrU3VpdGUucHJvdG90eXBlLk5vdGlmeVJlc3VsdCA9
IGZ1bmN0aW9uKCkgeworICAgICAgIEJlbmNobWFya1N1aXRlLnNjb3Jlcy5wdXNoKHNjb3JlTGF0
ZW5jeSk7CisgICAgICAgaWYgKHRoaXMucnVubmVyLk5vdGlmeVJlc3VsdCkgeworICAgICAgICAg
dmFyIGZvcm1hdHRlZExhdGVuY3kgPSBCZW5jaG1hcmtTdWl0ZS5Gb3JtYXRTY29yZSgxMDAgKiBz
Y29yZUxhdGVuY3kpCistICAgICAgICB0aGlzLnJ1bm5lci5Ob3RpZnlSZXN1bHQodGhpcy5uYW1l
ICsgIkxhdGVuY3kiLCBmb3JtYXR0ZWRMYXRlbmN5KTsKKysgICAgICAgIHRoaXMucnVubmVyLk5v
dGlmeVJlc3VsdCh0aGlzLm5hbWUgKyAiTGF0ZW5jeSIsIGZvcm1hdHRlZExhdGVuY3ksIDEwMCAq
IHNjb3JlTGF0ZW5jeSk7CisgICAgICAgfQorICAgICB9CisgICB9CitpbmRleCA3N2NiZGZiLi5m
ZTU2ZmM0CistLS0gYS9pbmRleC5odG1sCisrKysgYi9pbmRleC5odG1sCitAQCAtNTcsNyArNTcs
OSBAQAorICAgICB9KTsKKyAgIH0KKyAKKy0gIGZ1bmN0aW9uIEFkZFJlc3VsdChuYW1lLCByZXN1
bHQpIHsKKysgIHZhciBvY3RhbmVTdWJ0ZXN0cyA9IHt9OworKyAgZnVuY3Rpb24gQWRkUmVzdWx0
KG5hbWUsIHJlc3VsdCwgcmF3U2NvcmUpIHsKKysgICAgb2N0YW5lU3VidGVzdHNbbmFtZV0gPSB7
Im1ldHJpY3MiOiB7IlNjb3JlIjogeyJjdXJyZW50IjogW3Jhd1Njb3JlXX19fTsKKyAgICAgY29u
c29sZS5sb2cobmFtZSArICc6ICcgKyByZXN1bHQpOworICAgICB2YXIgYm94ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIlJlc3VsdC0iICsgbmFtZSk7CisgICAgIGJveC5pbm5lckhUTUwgPSBy
ZXN1bHQ7CitAQCAtNzUsNyArNzcsMjEgQEAKKyAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgfQor
IAorLSAgZnVuY3Rpb24gQWRkU2NvcmUoc2NvcmUpIHsKKysgIGZ1bmN0aW9uIEFkZFNjb3JlKHNj
b3JlLCByYXdTY29yZSkgeworKyAgICB2YXIgcmVzdWx0cyA9IEpTT04uc3RyaW5naWZ5KHsiT2N0
YW5lIjogeyJtZXRyaWNzIjogeyJTY29yZSI6IHsiY3VycmVudCI6IFtyYXdTY29yZV19fSwgInRl
c3RzIjogb2N0YW5lU3VidGVzdHN9fSk7CisrICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKTsKKysgICAgeGhyLm9wZW4oIlBPU1QiLCAiL3JlcG9ydCIpOworKyAgICB4aHIuc2V0UmVx
dWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9uL2pzb24iKTsKKysgICAgeGhy
LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtTGVuZ3RoIiwgcmVzdWx0cy5sZW5ndGgpOworKyAg
ICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29ubmVjdGlvbiIsICJjbG9zZSIpOworKyAgICB4aHIu
b25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CisrICAgIGlmKHhoci5yZWFkeVN0YXRl
ID09IFhNTEh0dHBSZXF1ZXN0LkRPTkUgJiYgeGhyLnN0YXR1cyA9PSAyMDApIHsKKysgICAgICAg
ICAgICBjbG9zZVJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKysgICAgICAgICAgICBj
bG9zZVJlcXVlc3Qub3BlbigiR0VUIiwgIi9zaHV0ZG93biIpOworKyAgICAgICAgICAgIGNsb3Nl
UmVxdWVzdC5zZW5kKCk7CisrICAgICAgICB9CisrICAgIH0KKysgICAgeGhyLnNlbmQocmVzdWx0
cyk7CisgICAgIHZhciBzdGF0dXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1iYW5u
ZXIiKTsKKyAgICAgaWYgKHN1Y2Nlc3MpIHsKKyAgICAgICBzdGF0dXMuaW5uZXJIVE1MID0gIk9j
dGFuZSBTY29yZTogIiArIHNjb3JlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9TcGVlZG9tZXRlci5wYXRjaCBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvU3BlZWRvbWV0
ZXIucGF0Y2gKaW5kZXggZjQwOTJkNTlmZTYwNmFmMTc1ZDgzOTIwNmEyZTlkNDVkNjNiYjkxYi4u
MzA4ZjljMWIxNDg2NmZmMDA4YzA5NzFkOWMyMGM4OGFlYjk5MmFiOSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9TcGVlZG9t
ZXRlci5wYXRjaAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
ZGF0YS9wYXRjaGVzL1NwZWVkb21ldGVyLnBhdGNoCkBAIC0xLDcgKzEsNyBAQAotZGlmZiAtLWdp
dCBhL1NwZWVkb21ldGVyL0Z1bGwuaHRtbCBiL1NwZWVkb21ldGVyL0Z1bGwuaHRtbAorZGlmZiAt
LWdpdCBhL0Z1bGwuaHRtbCBiL0Z1bGwuaHRtbAogaW5kZXggNDE5YjlmMi4uMGIwNGM2OSAxMDA2
NDQKLS0tLSBhL1NwZWVkb21ldGVyL0Z1bGwuaHRtbAotKysrIGIvU3BlZWRvbWV0ZXIvRnVsbC5o
dG1sCistLS0gYS9GdWxsLmh0bWwKKysrKyBiL0Z1bGwuaHRtbAogQEAgLTcsNyArNyw2IEBACiAg
ICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvbWFpbi5qcyIgZGVmZXI+PC9zY3JpcHQ+CiAgICAg
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYmVuY2htYXJrLXJ1bm5lci5qcyIgZGVmZXI+PC9zY3Jp
cHQ+CkBAIC0xMCwxMCArMTAsMTAgQEAgaW5kZXggNDE5YjlmMi4uMGIwNGM2OSAxMDA2NDQKICAg
ICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy90ZXN0cy5qcyIgZGVmZXI+PC9zY3JpcHQ+CiAgPC9o
ZWFkPgogIDxib2R5PgotZGlmZiAtLWdpdCBhL1NwZWVkb21ldGVyL3Jlc291cmNlcy9iZW5jaG1h
cmstcmVwb3J0LmpzIGIvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL2JlbmNobWFyay1yZXBvcnQuanMK
K2RpZmYgLS1naXQgYS9yZXNvdXJjZXMvYmVuY2htYXJrLXJlcG9ydC5qcyBiL3Jlc291cmNlcy9i
ZW5jaG1hcmstcmVwb3J0LmpzCiBpbmRleCBjNGI0YzY0Li44NzRmNTk3IDEwMDY0NAotLS0tIGEv
U3BlZWRvbWV0ZXIvcmVzb3VyY2VzL2JlbmNobWFyay1yZXBvcnQuanMKLSsrKyBiL1NwZWVkb21l
dGVyL3Jlc291cmNlcy9iZW5jaG1hcmstcmVwb3J0LmpzCistLS0gYS9yZXNvdXJjZXMvYmVuY2ht
YXJrLXJlcG9ydC5qcworKysrIGIvcmVzb3VyY2VzL2JlbmNobWFyay1yZXBvcnQuanMKIEBAIC0x
LDMwICsxLDI2IEBACiAgLy8gVGhpcyBmaWxlIGNhbiBiZSBjdXN0b21pemVkIHRvIHJlcG9ydCBy
ZXN1bHRzIGFzIG5lZWRlZC4KICAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
YmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvU3VuU3BpZGVyLnBhdGNoIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9TdW5TcGlkZXIucGF0
Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzdmN2MwMDE1ZGVlZGYyYTA0OWRhMDAyNGNlMjEzZWIyYzI5YWM3ZAot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9kYXRhL3BhdGNoZXMvU3VuU3BpZGVyLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK2RpZmYgLS1n
aXQgYS9ob3N0ZWQvc3Vuc3BpZGVyLTEuMC4xL2RyaXZlci5odG1sIGIvaG9zdGVkL3N1bnNwaWRl
ci0xLjAuMS9kcml2ZXIuaHRtbAoraW5kZXggMDcwMGJiMi4uMmRkZTAxYSAxMDA2NDQKKy0tLSBh
L2hvc3RlZC9zdW5zcGlkZXItMS4wLjEvZHJpdmVyLmh0bWwKKysrKyBiL2hvc3RlZC9zdW5zcGlk
ZXItMS4wLjEvZHJpdmVyLmh0bWwKK0BAIC0xMDMsMjMgKzEwMywyOCBAQCBmdW5jdGlvbiByZWNv
cmRSZXN1bHQodGltZSkKKyAKKyBmdW5jdGlvbiBmaW5pc2goKQorIHsKKy0gICAgdmFyIG91dHB1
dFN0cmluZyA9ICJ7IjsKKy0gICAgb3V0cHV0U3RyaW5nICs9ICcidiI6ICJzdW5zcGlkZXItMS4w
LjEiLCAnOworKyAgICB2YXIgdGVzdHMgPSB7fTsKKyAgICAgZm9yICh2YXIgdGVzdCBpbiBvdXRw
dXRbMF0pIHsKKy0gICAgICAgIG91dHB1dFN0cmluZyArPSAnIicgKyB0ZXN0ICsgJyI6Wyc7Cist
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dHB1dC5sZW5ndGg7IGkrKykgeworLSAgICAg
ICAgICAgIHZhciB0aW1lID0gb3V0cHV0W2ldW3Rlc3RdOworLSAgICAgICAgICAgIGlmICh0aW1l
ICE9IHRpbWUpCistICAgICAgICAgICAgICAgIHRpbWUgPSAiXCJOYU5cIiI7CistICAgICAgICAg
ICAgb3V0cHV0U3RyaW5nICs9IHRpbWUgKyAiLCI7CistICAgICAgICB9CistICAgICAgICBvdXRw
dXRTdHJpbmcgPSBvdXRwdXRTdHJpbmcuc3Vic3RyaW5nKDAsIG91dHB1dFN0cmluZy5sZW5ndGgg
LSAxKTsKKy0gICAgICAgIG91dHB1dFN0cmluZyArPSAiXSwiOworKyAgICAgICAgdmFyIHZhbHVl
cyA9IG5ldyBBcnJheShvdXRwdXQubGVuZ3RoKTsKKysgICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgb3V0cHV0Lmxlbmd0aDsgaSsrKQorKyAgICAgICAgICAgIHZhbHVlc1tpXSA9IG91dHB1dFtp
XVt0ZXN0XTsKKysgICAgICAgIHRlc3RzW3Rlc3RdID0geyJtZXRyaWNzIjogeyJUaW1lIjogeyJj
dXJyZW50IjogW3ZhbHVlc119fX0KKyAgICAgfQorLSAgICBvdXRwdXRTdHJpbmcgPSBvdXRwdXRT
dHJpbmcuc3Vic3RyaW5nKDAsIG91dHB1dFN0cmluZy5sZW5ndGggLSAxKTsKKy0gICAgb3V0cHV0
U3RyaW5nICs9ICJ9IjsKKyAKKy0gICAgbG9jYXRpb24gPSAicmVzdWx0cy5odG1sPyIgKyBlbmNv
ZGVVUkkob3V0cHV0U3RyaW5nKTsKKysgICAgdmFyIHJlc3VsdHMgPSBKU09OLnN0cmluZ2lmeSh7
IlN1blNwaWRlciI6IHsibWV0cmljcyI6IHsiVGltZSI6IFsiVG90YWwiXX0sICJ0ZXN0cyI6IHRl
c3RzfX0pOworKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisrICAgIHhoci5v
cGVuKCJQT1NUIiwgIi9yZXBvcnQiKTsKKysgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRl
bnQtVHlwZSIsICJhcHBsaWNhdGlvbi9qc29uIik7CisrICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVy
KCJDb250ZW50LUxlbmd0aCIsIHJlc3VsdHMubGVuZ3RoKTsKKysgICAgeGhyLnNldFJlcXVlc3RI
ZWFkZXIoIkNvbm5lY3Rpb24iLCAiY2xvc2UiKTsKKysgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5n
ZSA9IGZ1bmN0aW9uKCkgeworKyAgICBpZih4aHIucmVhZHlTdGF0ZSA9PSBYTUxIdHRwUmVxdWVz
dC5ET05FICYmIHhoci5zdGF0dXMgPT0gMjAwKSB7CisrICAgICAgICAgICAgY2xvc2VSZXF1ZXN0
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisrICAgICAgICAgICAgY2xvc2VSZXF1ZXN0Lm9wZW4o
IkdFVCIsICIvc2h1dGRvd24iKTsKKysgICAgICAgICAgICBjbG9zZVJlcXVlc3Quc2VuZCgpOwor
KyAgICAgICAgfQorKyAgICB9CisrICAgIHhoci5zZW5kKHJlc3VsdHMpOworIH0KKyAKKyA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9kYXRhL3BsYW5zL2pldHN0cmVhbS5wbGFuIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5j
aG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvamV0c3RyZWFtLnBsYW4KaW5kZXggYjZlN2UxN2I3NGFi
MmUyZDYxMDI4MzMxOTIxNWQ3ZDUzOTExNTNjOC4uZTliNDIyYjEzODc0ZjllMTM2YmQ1Mzc5NmQw
MjE4ZDI3NTk1YjI5MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1h
cmtfcnVubmVyL2RhdGEvcGxhbnMvamV0c3RyZWFtLnBsYW4KKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvamV0c3RyZWFtLnBsYW4KQEAgLTIs
OSArMiwxMCBAQAogICAgICJodHRwX3NlcnZlcl9kcml2ZXIiOiAiU2ltcGxlSFRUUFNlcnZlckRy
aXZlciIsIAogICAgICJ0aW1lb3V0IiA6IDYwMCwKICAgICAiY291bnQiOiA1LAotICAgICJiZW5j
aG1hcmtfYnVpbGRlciI6ICJKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyIiwKLSAgICAib3JpZ2lu
YWxfYmVuY2htYXJrIjogIi4uLy4uLy4uLy4uL1BlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtIiwK
KyAgICAiYmVuY2htYXJrX2J1aWxkZXIiOiAiR2VuZXJpY0JlbmNobWFya0J1aWxkZXIiLAorICAg
ICJyZW1vdGVfYXJjaGl2ZSI6ICIuLi8uLi8uLi8uLi9QZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVh
bSIsCiAgICAgImJlbmNobWFya19wYXRjaCI6ICJkYXRhL3BhdGNoZXMvSmV0U3RyZWFtLnBhdGNo
IiwKLSAgICAiZW50cnlfcG9pbnQiOiAiSmV0U3RyZWFtL0pldFN0cmVhbS0xLjAuMS9pbmRleC5o
dG1sIiwKKyAgICAiY3JlYXRlX3NjcmlwdCI6IFsicnVieSIsICJjcmVhdGUucmIiXSwKKyAgICAi
ZW50cnlfcG9pbnQiOiAiSmV0U3RyZWFtLTEuMC4xL2luZGV4Lmh0bWwiLAogICAgICJvdXRwdXRf
ZmlsZSI6ICJqZXRzdHJlYW0ucmVzdWx0IgogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMva3Jha2VuLnBsYW4gYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFucy9rcmFrZW4ucGxhbgpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yNjQxZTg3MDc3N2U3Y2IxYTBjYjBmNGEwYTE1MTM5YjMxZDRhZTZiCi0tLSAv
ZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Rh
dGEvcGxhbnMva3Jha2VuLnBsYW4KQEAgLTAsMCArMSwxMSBAQAoreworICAgICJodHRwX3NlcnZl
cl9kcml2ZXIiOiAiU2ltcGxlSFRUUFNlcnZlckRyaXZlciIsCisgICAgInRpbWVvdXQiOiAzMDAs
CisgICAgImNvdW50IjogNSwKKyAgICAiYmVuY2htYXJrX2J1aWxkZXIiOiAiR2VuZXJpY0JlbmNo
bWFya0J1aWxkZXIiLAorICAgICJyZW1vdGVfYXJjaGl2ZSI6ICJodHRwOi8vaGcubW96aWxsYS5v
cmcvcHJvamVjdHMva3Jha2VuL2FyY2hpdmUvdGlwLnppcCIsCisgICAgImJlbmNobWFya19wYXRj
aCI6ICJkYXRhL3BhdGNoZXMvS3Jha2VuLnBhdGNoIiwKKyAgICAiY3JlYXRlX3NjcmlwdCI6IFsi
cHl0aG9uIiwgIm1ha2UtaG9zdGVkLnB5Il0sCisgICAgImVudHJ5X3BvaW50IjogImhvc3RlZC9r
cmFrZW4tMS4xL2RyaXZlci5odG1sIiwKKyAgICAib3V0cHV0X2ZpbGUiOiAic3Vuc3BpZGVyLnJl
c3VsdCIKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1
bm5lci9kYXRhL3BsYW5zL29jdGFuZS5wbGFuIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5j
aG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvb2N0YW5lLnBsYW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTg4ODcxZjI4
MmU5ZjY3ZDYwODU5MzdlOWMyMmYwYjFmOWE1ODE4NAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL29jdGFuZS5wbGFu
CkBAIC0wLDAgKzEsMTAgQEAKK3sKKyAgICAiaHR0cF9zZXJ2ZXJfZHJpdmVyIjogIlNpbXBsZUhU
VFBTZXJ2ZXJEcml2ZXIiLAorICAgICJ0aW1lb3V0IjogMzAwLAorICAgICJjb3VudCI6IDUsCisg
ICAgImJlbmNobWFya19idWlsZGVyIjogIkdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyIiwKKyAgICAi
cmVtb3RlX2FyY2hpdmUiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Nocm9taXVtL29jdGFuZS1iZW5j
aG1hcmsvYXJjaGl2ZS9mYWIwOWFlZjAxYzJhNTU2MGMyMmNkYzFjMWEyNDUxYzBkMGY0Y2RjLnpp
cCIsCisgICAgImJlbmNobWFya19wYXRjaCI6ICJkYXRhL3BhdGNoZXMvT2N0YW5lLnBhdGNoIiwK
KyAgICAiZW50cnlfcG9pbnQiOiAiaW5kZXguaHRtbD9hdXRvPTEiLAorICAgICJvdXRwdXRfZmls
ZSI6ICJvY3RhbmUucmVzdWx0IgorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvc3BlZWRvbWV0ZXIucGxhbiBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL3NwZWVkb21ldGVyLnBs
YW4KaW5kZXggMDIxNDQzOGZjNjk1YWFkYWU2OWJhM2Q4ZmY5Yjg2YjUzOTFjZThjZC4uOWQ4NDBm
NWU1MjBiMzVmZjdjMWQyMDE3NTY1ZTdmODVkODE5N2ZkMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvc3BlZWRvbWV0ZXIucGxh
bgorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFu
cy9zcGVlZG9tZXRlci5wbGFuCkBAIC0zLDggKzMsOCBAQAogICAgICJ0aW1lb3V0IjogMzAwLAog
ICAgICJjb3VudCI6IDUsCiAgICAgImJlbmNobWFya19idWlsZGVyIjogIkdlbmVyaWNCZW5jaG1h
cmtCdWlsZGVyIiwKLSAgICAib3JpZ2luYWxfYmVuY2htYXJrIjogIi4uLy4uLy4uLy4uL1BlcmZv
cm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIiLAorICAgICJsb2NhbF9jb3B5IjogIi4uLy4uLy4uLy4u
L1BlcmZvcm1hbmNlVGVzdHMvU3BlZWRvbWV0ZXIiLAogICAgICJiZW5jaG1hcmtfcGF0Y2giOiAi
ZGF0YS9wYXRjaGVzL1NwZWVkb21ldGVyLnBhdGNoIiwKLSAgICAiZW50cnlfcG9pbnQiOiAiU3Bl
ZWRvbWV0ZXIvRnVsbC5odG1sIiwKKyAgICAiZW50cnlfcG9pbnQiOiAiRnVsbC5odG1sIiwKICAg
ICAib3V0cHV0X2ZpbGUiOiAic3BlZWRvbWV0ZXIucmVzdWx0IgogfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvc3Vuc3BpZGVy
LnBsYW4gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFu
cy9zdW5zcGlkZXIucGxhbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNmJhZTM4OGZkMGQ5MjIyZTY4NTAyNzJjOGRh
Y2Q5MTQ0ZWUzMzJhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvc3Vuc3BpZGVyLnBsYW4KQEAgLTAsMCArMSwxMSBA
QAoreworICAgICJodHRwX3NlcnZlcl9kcml2ZXIiOiAiU2ltcGxlSFRUUFNlcnZlckRyaXZlciIs
CisgICAgInRpbWVvdXQiOiAzMDAsCisgICAgImNvdW50IjogNSwKKyAgICAiYmVuY2htYXJrX2J1
aWxkZXIiOiAiR2VuZXJpY0JlbmNobWFya0J1aWxkZXIiLAorICAgICJsb2NhbF9jb3B5IjogIi4u
Ly4uLy4uLy4uL1BlcmZvcm1hbmNlVGVzdHMvU3VuU3BpZGVyIiwKKyAgICAiYmVuY2htYXJrX3Bh
dGNoIjogImRhdGEvcGF0Y2hlcy9TdW5TcGlkZXIucGF0Y2giLAorICAgICJjcmVhdGVfc2NyaXB0
IjogWyJwZXJsIiwgIm1ha2UtaG9zdGVkIl0sCisgICAgImVudHJ5X3BvaW50IjogImhvc3RlZC9z
dW5zcGlkZXItMS4wLjEvZHJpdmVyLmh0bWwiLAorICAgICJvdXRwdXRfZmlsZSI6ICJzdW5zcGlk
ZXIucmVzdWx0IgorfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252810</attachid>
            <date>2015-05-10 03:22:18 -0700</date>
            <delta_ts>2015-05-10 03:26:26 -0700</delta_ts>
            <desc>Fixed a bug</desc>
            <filename>bug-144840-20150510032058.patch</filename>
            <type>text/plain</type>
            <size>31111</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDQ0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWM4NWRmM2Q0YjJkZWNkOTBiYjAxODY3NDcwOWZmZjUw
NDcxMTI0MC4uOWQ1YWEwMzkzMzIxOGZjYzE5YjdkNjk0YjQ1YmM1MTM0ODI2YmYwNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5
IEBACisyMDE1LTA1LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAg
ICAgIHJ1bi1iZW5jaG1hcmsgc2hvdWxkIHN1cHBvcnQgU3VuU3BpZGVyLCBLcmFrZW4gYW5kIE9j
dGFuZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0
ODQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgdGhlIHN1cHBvcnQgZm9yIFN1blNwaWRlciwgS3Jha2VuLCBhbmQgT2N0YW5lLiBCZWNhdXNl
IG9mIHRoZSBsaWNlbnNpbmcgaXNzdWVzLCB3ZSBjYW4ndCBjb21taXQgdGhlCisgICAgICAgIEty
YWtlbiBzb3VyY2UgY29kZSBpbnRvIHRoZSBXZWJLaXQgcmVwb3NpdG9yeSBhcyBkb25lIGZvciBv
dGhlciBiZW5jaG1hcmtzLiBJbnN0ZWFkLCB3ZSdsbCBkeW5hbWljYWxseQorICAgICAgICBkb3du
bG9hZCBpdCBmcm9tIHRoZSByZW1vdGUgc2VydmVyIHVzaW5nIG5ld2x5IGFkZGVkIFJlbW90ZVpp
cEJlbmNobWFya0J1aWxkZXIuIFdlIGRvIHRoZSBzYW1lIGZvciBPY3RhbmUKKyAgICAgICAgZm9y
IHNpbXBsaWNpdHkuIFVzZSBuZXdseSBhZGRlZCAtLWxvY2FsLWNvcHkgb3B0aW9uIHRvIHNwZWNp
ZnkgdGhlIGxvY2F0aW9uIG9mIGEgbG9jYWwgY29weSBpZiB0aGVyZSBpcyBhbnkuCisKKyAgICAg
ICAgUmVuYW1lZCAib3JpZ2luYWxfYmVuY2htYXJrIGluIHRoZSBwbGFuIGZpbGUgdG8gImxvY2Fs
X2NvcHkiIGFuZCBhZGRlZCBhIG5ldyBvcHRpb25hbCAicmVtb3RlX2FyY2hpdmUiIHRvCisgICAg
ICAgIHNwZWNpZnkgdGhlIFVSTCB0byBhIHJlbW90ZSBaSVAgZmlsZS4gVGhpcyBvcHRpb25hbCBm
aWVsZCBpcyB1c2VkIGJ5IEtyYWtlbiBhbmQgT2N0YW5lIGJlbmNobWFyayBwbGFucy4KKworICAg
ICAgICBJbiBhZGRpdGlvbiwgZ2VuZXJhbGl6ZWQgdGhlIGFiaWxpdHkgdG8gcnVuIGEgImNyZWF0
ZSBzY3JpcHQiIGluIEpldFN0cmVhbUJlbmNobWFya0J1aWxkZXIgc2luY2UgaXQncyBhbHNvCisg
ICAgICAgIG5lZWRlZCBmb3IgU3VuU3BpZGVyIGFuZCBLcmFrZW4uIFRoaXMgZmVhdHVyZSBoYXMg
bm93IGJlZW4gZm9sZGVkIGludG8gR2VuZXJpY0JlbmNobWFya0J1aWxkZXIuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvYmVu
Y2htYXJrX2J1aWxkZXJzLmpzb246IEFkZGVkCisgICAgICAgIFJlbW90ZVppcEJlbmNobWFya0J1
aWxkZXIgZm9yIEtyYWtlbiBhbmQgcmVtb3ZlZCBKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyIHNp
bmNlIEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyCisgICAgICAgIG5vdyBoYXMgdGhlIGFiaWxpdHkg
dG8gcnVuIGFuIGFyYml0cmFyeSAiY3JlYXRlIHNjcmlwdCIuCisKKyAgICAgICAgKiBTY3JpcHRz
L3J1bi1iZW5jaG1hcms6CisgICAgICAgIChtYWluKTogQWRkZWQgYW4gb3B0aW9uYWwgYXJndW1l
bnQsIC0tbG9jYWwtY29weSwgdG8gb3ZlcnJpZGUgdGhlIGxvY2F0aW9uIG9mIHRoZSBiZW5jaG1h
cmsncyBsb2NhbCBjb3B5LgorICAgICAgICBUaGlzIGFsc28gb3ZlcnJpZGVzIHRoZSByZW1vdGUg
YXJjaGl2ZSBVUkwgc3BlY2lmaWVkIGluIHRoZSBwbGFuLgorCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL1JFQURNRS5tZDogVXBkYXRlZCB0aGUgZGVzY3JpcHRp
b24uCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2ht
YXJrX2J1aWxkZXIvYmVuY2htYXJrX2J1aWxkZXJzLmpzb246IERlbGV0ZWQgdGhlIGVudHJ5IGZv
cgorICAgICAgICBKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyLgorCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2dlbmVyaWNfYmVu
Y2htYXJrX2J1aWxkZXIucHk6IAorICAgICAgICAoR2VuZXJpY0JlbmNobWFya0J1aWxkZXIucHJl
cGFyZSk6IENhbGwgX2ZldGNoUmVtb3RlQXJjaGl2ZSBpZiBsb2NhbF9jb3B5IGlzIG5vdCBzcGVj
aWZpZWQgaW4gdGhlIHBsYW4gb3IKKyAgICAgICAgYnkgLS1sb2NhbC1jb3B5IG9wdGlvbiBidXQg
cmVtb3RlX2FyY2hpdmUgaXMgc3BlY2lmaWVkLiBBbHNvIGNhbGwgc2VsZi5jbGVhbigpIGhlcmUg
aW5zdGVhZCBvZiByZWx5aW5nIG9uCisgICAgICAgIF9ydW5DcmVhdGVTY3JpcHQgYW5kIF9hcHBs
eVBhdGNoIHRvIGNsZWFuIGFmdGVyIHRoZW1zZWx2ZXMuCisgICAgICAgIChHZW5lcmljQmVuY2ht
YXJrQnVpbGRlci5fcnVuQ3JlYXRlU2NyaXB0KTogTW92ZWQgZnJvbSBKZXRTdHJlYW1CZW5jaG1h
cmtCdWlsZGVyLl9ydW5DcmVhdGVTY3JpcHQgc2luY2UKKyAgICAgICAgSmV0U3RyZWFtLCBTdW5T
cGlkZXIsIEtyYWtlbiBhbGwgdXNlIHRoaXMgZmVhdHVyZS4KKyAgICAgICAgKEdlbmVyaWNCZW5j
aG1hcmtCdWlsZGVyLl9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKTogVXNlIHNlbGYubmFtZSBhcyB0
aGUgZGVzdGluYXRpb24gbG9jYXRpb24gaW5zdGVhZCBvZgorICAgICAgICB0aGUgbGVhZiBkaXJl
Y3RvcnkgbmFtZSBzaW5jZSB0aGUgbGF0dGVyIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBhIHJlbW90
ZSBaSVAgZmlsZSBpcyB1c2VkLgorICAgICAgICAoR2VuZXJpY0JlbmNobWFya0J1aWxkZXIuX2Zl
dGNoUmVtb3RlQXJjaGl2ZSk6IEFkZGVkLgorICAgICAgICAoR2VuZXJpY0JlbmNobWFya0J1aWxk
ZXIuX2FwcGx5UGF0Y2gpOiBBcHBseSB0aGUgcGF0Y2ggaW5zaWRlIGRlc3RpbmF0aW9uIGRpcmVj
dG9yeSB0byBhdm9pZCBoYXJkIGNvZGluZworICAgICAgICB0aGUgYmVuY2htYXJrIG5hbWUgaW4g
dGhlIHBhdGNoZXMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvYmVuY2htYXJrX2J1aWxkZXIvamV0c3RyZWFtX2JlbmNobWFya19idWlsZGVyLnB5OiBSZW1v
dmVkLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNo
bWFya19ydW5uZXIucHk6CisgICAgICAgIChCZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOiBTZXQg
c2VsZi5wbGFuTmFtZS4gQWxzbyBvdmVycmlkZSAnbG9jYWxfY29weScgd2hlbiAtLWxvY2FsLWNv
cHkgb3B0aW9uIGlzIHVzZWQuCisgICAgICAgIChCZW5jaG1hcmtSdW5uZXIuZXhlY3V0ZSk6IEV4
aXQgZWFybHkgaWYgbmVpdGhlciBsb2NhbF9jb3B5IG5vciByZW1vdGVfYXJjaGl2ZSBpcyBzcGVj
aWZpZWQuIFByZWZpeCB0aGUgVVJMCisgICAgICAgIHRoZSBicm93c2VyIG9wZW5zIGJ5IHBsYW5O
YW1lIGFzIHRoZSBwbGFuIGZpbGUgbm8gbG9uZ2VyIGNvbnRhaW5zIHRoYXQuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL0pldFN0cmVh
bS5wYXRjaDogQ2hhbmdlZCB0aGUgcGF0aCB0byBiZSByZWxhdGl2ZSBhZ2FpbnN0CisgICAgICAg
IHRoZSB0b3AgZGlyZWN0b3J5IG9mIEpldFN0cmVhbSBpbnN0ZWFkIG9mIGl0cyBwYXJlbnQuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9L
cmFrZW4ucGF0Y2g6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJr
X3J1bm5lci9kYXRhL3BhdGNoZXMvT2N0YW5lLnBhdGNoOiBBZGRlZC4KKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL1NwZWVkb21ldGVyLnBh
dGNoOiBDaGFuZ2VkIHRoZSBwYXRoIHRvIGJlIHJlbGF0aXZlIGFnYWluc3QKKyAgICAgICAgdGhl
IHRvcCBkaXJlY3Rvcnkgb2YgSmV0U3RyZWFtIGluc3RlYWQgb2YgaXRzIHBhcmVudC4KKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL1N1blNw
aWRlci5wYXRjaDogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL2RhdGEvcGxhbnMvamV0c3RyZWFtLnBsYW46IFVzZXMgR2VuZXJpY0JlbmNobWFya0J1
aWxkZXIgYW5kIHNwZWNpZmllcworICAgICAgICB0aGUgc2NyaXB0IHRvIHJ1bi4gVGhlIGVudHJ5
IHBvaW50IHdhcyBjaGFuZ2VkIHRvIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gdGhlIHRvcCBkaXJl
Y3Rvcnkgb2YgSmV0U3RyZWFtIGFzCisgICAgICAgIGRvbmUgaW4gSmV0U3RyZWFtLnBhdGNoLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL2ty
YWtlbi5wbGFuOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvZGF0YS9wbGFucy9vY3RhbmUucGxhbjogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvc3BlZWRvbWV0ZXIucGxhbjogVGhl
IGVudHJ5IHBvaW50IHdhcyBjaGFuZ2VkIHRvIHRoZSByZWxhdGl2ZQorICAgICAgICBwYXRoIGZy
b20gdGhlIHRvcCBkaXJlY3Rvcnkgb2YgSmV0U3RyZWFtIGFzIGRvbmUgaW4gSmV0U3RyZWFtLnBh
dGNoLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3Bs
YW5zL3N1bnNwaWRlci5wbGFuOiBBZGRlZC4KKwogMjAxNS0wNS0wOSAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIGFyZ3VtZW50cyBvZiBydW4tYmVuY2ht
YXJrIG1vcmUgdXNlciBmcmllbmRseQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYmVu
Y2htYXJrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmVuY2htYXJrCmluZGV4IDZkNWY2NmUzNTk4NzI5
NDdiNjM1ZTU1ZjIyYmU5YmU1OWU2MDQ2NDQuLjc3ZmM0NzI0NDU3YTFlYTY5YTBiNTFhYjU2OTE3
NGEzMmQzMzRhYjkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJlbmNobWFyaworKysg
Yi9Ub29scy9TY3JpcHRzL3J1bi1iZW5jaG1hcmsKQEAgLTI2LDYgKzI2LDcgQEAgZGVmIG1haW4o
KToKICAgICAjIEZJWE1FOiBTaG91bGQgd2UgYWRkIGNocm9tZSBhcyBhbiBvcHRpb24/IFdlbGws
IGNocm9tZSB1c2VzIHdlYmtpdCBpbiBpT1MuCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1i
cm93c2VyJywgZGVzdD0nYnJvd3NlcicsIHJlcXVpcmVkPVRydWUsIGNob2ljZXM9QnJvd3NlckRy
aXZlckZhY3RvcnkuYXZhaWxhYmxlX2Jyb3dzZXJzKCkpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS1kZWJ1ZycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS1sb2NhbC1jb3B5JywgZGVzdD0nbG9jYWxDb3B5JywgaGVscD0nUGF0aCB0byBhIGxvY2Fs
IGNvcHkgb2YgdGhlIGJlbmNobWFyay4gZS5nLiBQZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci8n
KQogICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCiAKICAgICBpZiBhcmdzLmRlYnVnOgpA
QCAtMzQsNyArMzUsNyBAQCBkZWYgbWFpbigpOgogICAgIF9sb2cuZGVidWcoJ1x0b3V0cHV0IGZp
bGUgbmFtZVx0OiAlcycgJSBhcmdzLm91dHB1dCkKICAgICBfbG9nLmRlYnVnKCdcdGJ1aWxkIGRp
cmVjdG9yeVx0OiAlcycgJSBhcmdzLmJ1aWxkRGlyKQogICAgIF9sb2cuZGVidWcoJ1x0cGxhbiBu
YW1lXHQ6ICVzJywgYXJncy5wbGFuKQotICAgIHJ1bm5lciA9IEJlbmNobWFya1J1bm5lcihhcmdz
LnBsYW4sIGFyZ3MuYnVpbGREaXIsIGFyZ3Mub3V0cHV0LCBhcmdzLnBsYXRmb3JtLCBhcmdzLmJy
b3dzZXIpCisgICAgcnVubmVyID0gQmVuY2htYXJrUnVubmVyKGFyZ3MucGxhbiwgYXJncy5sb2Nh
bENvcHksIGFyZ3MuYnVpbGREaXIsIGFyZ3Mub3V0cHV0LCBhcmdzLnBsYXRmb3JtLCBhcmdzLmJy
b3dzZXIpCiAgICAgcmV0dXJuIHJ1bm5lci5leGVjdXRlKCkKIAogCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvUkVBRE1FLm1kIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL1JFQURNRS5tZAppbmRleCAwY2FkNGExOThl
M2UwNzE2MDM0YzNlODY1ZGRhNDFlYmEwOTgwMDQ3Li42Yjk1MmM4NWZmNGQwN2NiOTJjNmQ1OWQx
YWRkZjkwZGM0YWQzODcxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvUkVBRE1FLm1kCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9SRUFETUUubWQKQEAgLTU4LDcgKzU4LDcgQEAgVG8gY3JlYXRlIGEgcGxhbiwg
eW91IG1heSByZWZlciB0byBQbGFucy9qZXRzdHJlYW0ucGxhbi4KICAgICAidGltZW91dCIgOiA2
MDAsCiAgICAgImNvdW50IjogNSwKICAgICAiYmVuY2htYXJrX2J1aWxkZXIiOiAiSmV0U3RyZWFt
QmVuY2htYXJrQnVpbGRlciIsCi0gICAgIm9yaWdpbmFsX2JlbmNobWFyayI6ICIuLi8uLi8uLi8u
Li9QZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVhbSIsCisgICAgImxvY2FsX2NvcHkiOiAiLi4vLi4v
Li4vLi4vUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0iLAogICAgICJiZW5jaG1hcmtfcGF0Y2gi
OiAiZGF0YS9wYXRjaGVzL0pldFN0cmVhbS5wYXRjaCIsCiAgICAgImVudHJ5X3BvaW50IjogIkpl
dFN0cmVhbS9KZXRTdHJlYW0tMS4wLjEvaW5kZXguaHRtbCIsCiAgICAgIm91dHB1dF9maWxlIjog
ImpldHN0cmVhbS5yZXN1bHQiCkBAIC02OSw5ICs2OSwxMCBAQCBQbGFuIGlzIGEganNvbi1mb3Jt
YXR0ZWQgZGljdGlvbmFyeSB3aGljaCBjb250YWlucyBmb2xsb3dpbmcga2V5cwogKiAqKnRpbWVv
dXQqKjogdGltZSBsaW1pdCBmb3IgKipFQUNIIFJVTioqIG9mIHRoZSBiZW5jaG1hcmsuIFRoaXMg
Y2FuIGF2b2lkIHByb2dyYW0gZ2V0dGluZyBzdHVjayBpbiB0aGUgZXh0cmVtZSBjaXJjdW1zdGFu
Y2VzLiBUaGUgdGltZSBsaW1pdCBpcyBzdWdnZXN0ZWQgdG8gYmUgMS41LTJ4IHRoZSB0aW1lIHNw
ZW50IGluIGEgbm9ybWFsIHJ1bi4KICogKipjb3VudCoqOiB0aGUgbnVtYmVyIG9mIHRpbWVzIHlv
dSB3YW50IHRvIHJ1biBiZW5jaG1hcmsKICogKipiZW5jaG1hcmtfYnVpbGRlcioqOiAgYnVpbGRl
ciBvZiB0aGUgYmVuY2htYXJrIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBhcnJhbmdpbmcgYmVu
Y2htYXJrIGJlZm9yZSB0aGUgd2ViIHNlcnZlciBzZXJ2aW5nIHRoZSBkaXJlY3RvcnkuIEluIG1v
c3QgY2FzZSwgJ0dlbmVyaWNCZW5jaG1hcmtIYW5kbGVyJyBpcyBzdWZmaWNpZW50LiBJdCBjb3Bp
ZXMgdGhlIGJlbmNobWFyayB0byBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgYW5kIGFwcGxpZXMgcGF0
Y2ggdG8gYmVuY2htYXJrLiBJZiB5b3UgaGF2ZSBzcGVjaWFsIHJlcXVpcmVtZW50LCB5b3UgY291
bGQgZGVzaWduIHlvdXIgb3duIGJlbmNobWFyayBoYW5kbGUsIGp1c3QgbGlrZSB0aGUgJ0pldFN0
cmVhbUJlbmNobWFya0hhbmRsZScgaW4gdGhpcyBleGFtcGxlLgotKiAqKm9yaWdpbmFsX2JlbmNo
bWFyayoqOiBwYXRoIG9mIGJlbmNobWFyaywgYSByZWxhdGl2ZSBwYXRoIHRvIHRoZSByb290IG9m
IHRoaXMgcHJvamVjdCAoJ2JlbmNobWFya19ydW5uZXInIGRpcmVjdG9yeSkKKyogKipsb2NhbF9j
b3B5Kio6IHBhdGggb2YgYmVuY2htYXJrLCBhIHJlbGF0aXZlIHBhdGggdG8gdGhlIHJvb3Qgb2Yg
dGhpcyBwcm9qZWN0ICgnYmVuY2htYXJrX3J1bm5lcicgZGlyZWN0b3J5KQorKiAqKnJlbW90ZV9h
cmNoaXZlKio6ICgqKk9QVElPTkFMKiopIFVSTCBvZiB0aGUgcmVtb3RlIChodHRwL2h0dHBzKSBa
SVAgZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSBiZW5jaG1hcmsuCiAqICoqYmVuY2htYXJrX3BhdGgq
KjogKCoqT1BUSU9OQUwqKikgcGF0aCBvZiBwYXRjaCwgYSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBy
b290IG9mIHRoaXMgcHJvamVjdCAoJ2JlbmNobWFya19ydW5uZXInIGRpcmVjdG9yeSkKLSogKipl
bnRyeV9wb2ludCoqOiB0aGUgcmVsYXRpdmUgdXJsIHlvdSB3YW50IGJyb3dzZXIgdG8gbGF1bmNo
IChhIHJlbGF0aXZlIHBhdGggdG8gdGhlIHdlYlJvb3QpCisqICoqZW50cnlfcG9pbnQqKjogdGhl
IHJlbGF0aXZlIHVybCB5b3Ugd2FudCBicm93c2VyIHRvIGxhdW5jaCAoYSByZWxhdGl2ZSBwYXRo
IHRvIHRoZSBiZW5jaG1hcmsgZGlyZWN0b3J5KQogKiAqKm91dHB1dF9maWxlKio6IHNwZWNpZnkg
dGhlIG91dHB1dCBmaWxlLCB0aGlzIGNhbiBiZSBvdmVyd3JpdHRlbiBieSBzcGVjaWZ5aW5nICct
LW91dHB1dC1maWxlJyB3aGlsZSBpbnZva2luZyBydW4tYmVuY2htYXJrIHNjcmlwdAogCiAjIyMg
SG93IHRvIGltcG9ydCBhIGJlbmNobWFyawpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2JlbmNobWFya19idWlsZGVy
cy5qc29uIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFy
a19idWlsZGVyL2JlbmNobWFya19idWlsZGVycy5qc29uCmluZGV4IGI4ZmM5MzJlNmU5ZGU1YTEx
NGFkZjhjMGUwYTU2MGRjMzVlNDEwNTYuLjFmNGJkZjNjZjhmYTAyMmJkNjA1NGIxYjk2YTBhNjRl
N2QwM2QzMWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1
bm5lci9iZW5jaG1hcmtfYnVpbGRlci9iZW5jaG1hcmtfYnVpbGRlcnMuanNvbgorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvYmVu
Y2htYXJrX2J1aWxkZXJzLmpzb24KQEAgLTIsOSArMiw1IEBACiAgICAgIkdlbmVyaWNCZW5jaG1h
cmtCdWlsZGVyIjogewogICAgICAgICAiZmlsZVBhdGgiOiAiYmVuY2htYXJrX2J1aWxkZXIuZ2Vu
ZXJpY19iZW5jaG1hcmtfYnVpbGRlciIsCiAgICAgICAgICJtb2R1bGVOYW1lIjogIkdlbmVyaWNC
ZW5jaG1hcmtCdWlsZGVyIgotICAgIH0sCi0gICAgIkpldFN0cmVhbUJlbmNobWFya0J1aWxkZXIi
OiB7Ci0gICAgICAgICJmaWxlUGF0aCI6ICJiZW5jaG1hcmtfYnVpbGRlci5qZXRzdHJlYW1fYmVu
Y2htYXJrX2J1aWxkZXIiLAotICAgICAgICAibW9kdWxlTmFtZSI6ICJKZXRTdHJlYW1CZW5jaG1h
cmtCdWlsZGVyIgogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
YmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfYnVpbGRlci9nZW5lcmljX2JlbmNobWFya19idWls
ZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFy
a19idWlsZGVyL2dlbmVyaWNfYmVuY2htYXJrX2J1aWxkZXIucHkKaW5kZXggNmFjMjZmMzRhYWRk
M2JmNjA2ODUwOGYzNzgzYWY1NzUwNjkyYmY1NS4uMDEwY2Q5OTY0YmM5MTE4NDNmOWE2MWQ3ZDUx
OWZiMGY4YTZkNzI3MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1h
cmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2dlbmVyaWNfYmVuY2htYXJrX2J1aWxkZXIucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19i
dWlsZGVyL2dlbmVyaWNfYmVuY2htYXJrX2J1aWxkZXIucHkKQEAgLTMsOSArMywxMSBAQAogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IG9zCitpbXBvcnQgdXJsbGliCiBp
bXBvcnQgc2h1dGlsCiBpbXBvcnQgc3VicHJvY2VzcwogCitmcm9tIHppcGZpbGUgaW1wb3J0IFpp
cEZpbGUKIGZyb20gd2Via2l0cHkuYmVuY2htYXJrX3J1bm5lci51dGlscyBpbXBvcnQgZ2V0UGF0
aEZyb21Qcm9qZWN0Um9vdCwgZm9yY2VSZW1vdmUKIAogCkBAIC0xNCwyNyArMTYsNjEgQEAgX2xv
ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiBjbGFzcyBHZW5lcmljQmVuY2htYXJr
QnVpbGRlcihvYmplY3QpOgogCi0gICAgZGVmIHByZXBhcmUoc2VsZiwgYmVuY2htYXJrUGF0aCwg
cGF0Y2gpOgotICAgICAgICBzZWxmLl9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKGJlbmNobWFya1Bh
dGgpCi0gICAgICAgIHJldHVybiBzZWxmLl9hcHBseVBhdGNoKHBhdGNoKQorICAgIGRlZiBwcmVw
YXJlKHNlbGYsIG5hbWUsIGJlbmNobWFya1BhdGgsIGFyY2hpdmVVUkwsIHBhdGNoLCBjcmVhdGVT
Y3JpcHQpOgorICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCisgICAgICAgIHNlbGYud2ViUm9vdCA9
IHRlbXBmaWxlLm1rZHRlbXAoKQorICAgICAgICBzZWxmLmRlc3QgPSBvcy5wYXRoLmpvaW4oc2Vs
Zi53ZWJSb290LCBzZWxmLm5hbWUpCisgICAgICAgIGlmIGJlbmNobWFya1BhdGg6CisgICAgICAg
ICAgICBzZWxmLl9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKGJlbmNobWFya1BhdGgpCisgICAgICAg
IGVsc2U6CisgICAgICAgICAgICBhc3NlcnQoYXJjaGl2ZVVSTCkKKyAgICAgICAgICAgIHNlbGYu
X2ZldGNoUmVtb3RlQXJjaGl2ZShhcmNoaXZlVVJMKQorCisgICAgICAgIF9sb2cuaW5mbygnQ29w
aWVkIHRoZSBiZW5jaG1hcmsgaW50bzogJXMnICUgc2VsZi5kZXN0KQorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBpZiBjcmVhdGVTY3JpcHQ6CisgICAgICAgICAgICAgICAgc2VsZi5fcnVuQ3Jl
YXRlU2NyaXB0KGNyZWF0ZVNjcmlwdCkKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9hcHBseVBh
dGNoKHBhdGNoKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBzZWxmLmNsZWFuKCkKKyAg
ICAgICAgICAgIHJhaXNlCisKKyAgICBkZWYgX3J1bkNyZWF0ZVNjcmlwdChzZWxmLCBjcmVhdGVT
Y3JpcHQpOgorICAgICAgICBvbGRXb3JraW5nRGlyZWN0b3J5ID0gb3MuZ2V0Y3dkKCkKKyAgICAg
ICAgb3MuY2hkaXIoc2VsZi5kZXN0KQorICAgICAgICBfbG9nLmRlYnVnKCdSdW5uaW5nICVzIGlu
ICVzJyAlIChjcmVhdGVTY3JpcHQsIHNlbGYuZGVzdCkpCisgICAgICAgIGVycm9yQ29kZSA9IHN1
YnByb2Nlc3MuY2FsbChjcmVhdGVTY3JpcHQpCisgICAgICAgIG9zLmNoZGlyKG9sZFdvcmtpbmdE
aXJlY3RvcnkpCisgICAgICAgIGlmIGVycm9yQ29kZToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2Vw
dGlvbignQ2Fubm90IGNyZWF0ZSB0aGUgYmVuY2htYXJrJywgZXJyb3JDb2RlKQogCiAgICAgZGVm
IF9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKHNlbGYsIGJlbmNobWFya1BhdGgpOgotICAgICAgICBz
ZWxmLndlYlJvb3QgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKLSAgICAgICAgX2xvZy5kZWJ1ZygnU2Vy
dmVyaW5nIGF0IHdlYlJvb3Q6ICVzJyAlIHNlbGYud2ViUm9vdCkKLSAgICAgICAgc2VsZi5kZXN0
ID0gb3MucGF0aC5qb2luKHNlbGYud2ViUm9vdCwgb3MucGF0aC5zcGxpdChiZW5jaG1hcmtQYXRo
KVsxXSkKICAgICAgICAgc2h1dGlsLmNvcHl0cmVlKGdldFBhdGhGcm9tUHJvamVjdFJvb3QoYmVu
Y2htYXJrUGF0aCksIHNlbGYuZGVzdCkKIAorICAgIGRlZiBfZmV0Y2hSZW1vdGVBcmNoaXZlKHNl
bGYsIGFyY2hpdmVVUkwpOgorICAgICAgICBhcmNoaXZlUGF0aCA9IG9zLnBhdGguam9pbihzZWxm
LndlYlJvb3QsICdhcmNoaXZlLnppcCcpCisgICAgICAgIF9sb2cuaW5mbygnRG93bmxvYWRpbmcg
JXMgdG8gJXMnICUgKGFyY2hpdmVVUkwsIGFyY2hpdmVQYXRoKSkKKyAgICAgICAgdXJsbGliLnVy
bHJldHJpZXZlKGFyY2hpdmVVUkwsIGFyY2hpdmVQYXRoKQorCisgICAgICAgIHdpdGggWmlwRmls
ZShhcmNoaXZlUGF0aCwgJ3InKSBhcyBhcmNoaXZlOgorICAgICAgICAgICAgYXJjaGl2ZS5leHRy
YWN0YWxsKHNlbGYuZGVzdCkKKworICAgICAgICB1bmFyY2hpdmVkRmlsZXMgPSBmaWx0ZXIobGFt
YmRhIG5hbWU6IG5vdCBuYW1lLnN0YXJ0c3dpdGgoJy4nKSwgb3MubGlzdGRpcihzZWxmLmRlc3Qp
KQorICAgICAgICBpZiBsZW4odW5hcmNoaXZlZEZpbGVzKSA9PSAxOgorICAgICAgICAgICAgZmly
c3RGaWxlID0gb3MucGF0aC5qb2luKHNlbGYuZGVzdCwgdW5hcmNoaXZlZEZpbGVzWzBdKQorICAg
ICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihmaXJzdEZpbGUpOgorICAgICAgICAgICAgICAgIHNo
dXRpbC5tb3ZlKGZpcnN0RmlsZSwgc2VsZi53ZWJSb290KQorICAgICAgICAgICAgICAgIG9zLnJl
bmFtZShvcy5wYXRoLmpvaW4oc2VsZi53ZWJSb290LCB1bmFyY2hpdmVkRmlsZXNbMF0pLCBzZWxm
LmRlc3QpCisKICAgICBkZWYgX2FwcGx5UGF0Y2goc2VsZiwgcGF0Y2gpOgogICAgICAgICBpZiBu
b3QgcGF0Y2g6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi53ZWJSb290CiAgICAgICAgIG9sZFdv
cmtpbmdEaXJlY3RvcnkgPSBvcy5nZXRjd2QoKQotICAgICAgICBvcy5jaGRpcihzZWxmLndlYlJv
b3QpCisgICAgICAgIG9zLmNoZGlyKHNlbGYuZGVzdCkKICAgICAgICAgZXJyb3JDb2RlID0gc3Vi
cHJvY2Vzcy5jYWxsKFsncGF0Y2gnLCAnLXAxJywgJy1mJywgJy1pJywgZ2V0UGF0aEZyb21Qcm9q
ZWN0Um9vdChwYXRjaCldKQogICAgICAgICBvcy5jaGRpcihvbGRXb3JraW5nRGlyZWN0b3J5KQog
ICAgICAgICBpZiBlcnJvckNvZGU6Ci0gICAgICAgICAgICBfbG9nLmVycm9yKCdDYW5ub3QgYXBw
bHkgcGF0Y2gsIHdpbGwgc2tpcCBjdXJyZW50IGJlbmNobWFya1BhdGgnKQotICAgICAgICAgICAg
c2VsZi5jbGVhbigpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmFpc2Ug
RXhjZXB0aW9uKCdDYW5ub3QgYXBwbHkgcGF0Y2gsIHdpbGwgc2tpcCBjdXJyZW50IGJlbmNobWFy
a1BhdGgnKQogICAgICAgICByZXR1cm4gc2VsZi53ZWJSb290CiAKICAgICBkZWYgY2xlYW4oc2Vs
Zik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YmVuY2htYXJrX2J1aWxkZXIvamV0c3RyZWFtX2JlbmNobWFya19idWlsZGVyLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2pldHN0
cmVhbV9iZW5jaG1hcmtfYnVpbGRlci5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
M2Q5NThlMzRkYjMzMTdhMDdiODVmZTk1NjNmNWUxMTk5MDJiZjg2Zi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jl
bmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvamV0c3RyZWFtX2JlbmNobWFya19idWls
ZGVyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uCi0KLWltcG9ydCBsb2dnaW5nCi1pbXBvcnQgb3MKLWltcG9ydCBzdWJwcm9jZXNzCi0KLWZy
b20gZ2VuZXJpY19iZW5jaG1hcmtfYnVpbGRlciBpbXBvcnQgR2VuZXJpY0JlbmNobWFya0J1aWxk
ZXIKLQotCi1fbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCi0KLQotY2xhc3MgSmV0
U3RyZWFtQmVuY2htYXJrQnVpbGRlcihHZW5lcmljQmVuY2htYXJrQnVpbGRlcik6Ci0KLSAgICBk
ZWYgcHJlcGFyZShzZWxmLCBiZW5jaG1hcmtQYXRoLCBwYXRjaCk6Ci0gICAgICAgIHN1cGVyKHNl
bGYuX19jbGFzc19fLCBzZWxmKS5fY29weUJlbmNobWFya1RvVGVtcERpcihiZW5jaG1hcmtQYXRo
KQotICAgICAgICBzZWxmLl9ydW5DcmVhdGVTY3JpcHQoKQotICAgICAgICByZXR1cm4gc3VwZXIo
c2VsZi5fX2NsYXNzX18sIHNlbGYpLl9hcHBseVBhdGNoKHBhdGNoKQotCi0gICAgZGVmIF9ydW5D
cmVhdGVTY3JpcHQoc2VsZik6Ci0gICAgICAgIG9sZFdvcmtpbmdEaXJlY3RvcnkgPSBvcy5nZXRj
d2QoKQotICAgICAgICBvcy5jaGRpcihzZWxmLmRlc3QpCi0gICAgICAgIF9sb2cuZGVidWcoc2Vs
Zi5kZXN0KQotICAgICAgICBlcnJvckNvZGUgPSBzdWJwcm9jZXNzLmNhbGwoWydydWJ5JywgJ2Ny
ZWF0ZS5yYiddKQotICAgICAgICBvcy5jaGRpcihvbGRXb3JraW5nRGlyZWN0b3J5KQotICAgICAg
ICBpZiBlcnJvckNvZGU6Ci0gICAgICAgICAgICBfbG9nLmVycm9yKCdDYW5ub3QgY3JlYXRlIEpl
dFN0cmVhbSBCZW5jaG1hcmsnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQppbmRleCAxNzkyODdkN2Ey
MGIzODMwNGRlZGRjMTAwMTZjZDg0OGNjZDY0MWEwLi5lNDUwOTEwNjFhMjE3NTg2YjhlOTBmN2U4
M2VmNjllYzYzZTgwODljIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQpAQCAtMjMsMTIgKzIzLDE1
IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogY2xhc3MgQmVuY2htYXJr
UnVubmVyKG9iamVjdCk6CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhbkZpbGUsIGJ1aWxk
RGlyLCBvdXRwdXRGaWxlLCBwbGF0Zm9ybSwgYnJvd3Nlcik6CisgICAgZGVmIF9faW5pdF9fKHNl
bGYsIHBsYW5GaWxlLCBsb2NhbENvcHksIGJ1aWxkRGlyLCBvdXRwdXRGaWxlLCBwbGF0Zm9ybSwg
YnJvd3Nlcik6CiAgICAgICAgIF9sb2cuaW5mbygnSW5pdGlhbGl6aW5nIGJlbmNobWFyayBydW5u
aW5nJykKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcGxhbkZpbGUgPSBzZWxmLl9maW5kUGxh
bkZpbGUocGxhbkZpbGUpCiAgICAgICAgICAgICB3aXRoIG9wZW4ocGxhbkZpbGUsICdyJykgYXMg
ZnA6CisgICAgICAgICAgICAgICAgc2VsZi5wbGFuTmFtZSA9IG9zLnBhdGguc3BsaXQob3MucGF0
aC5zcGxpdGV4dChwbGFuRmlsZSlbMF0pWzFdCiAgICAgICAgICAgICAgICAgc2VsZi5wbGFuID0g
anNvbi5sb2FkKGZwKQorICAgICAgICAgICAgICAgIGlmIGxvY2FsQ29weToKKyAgICAgICAgICAg
ICAgICAgICAgc2VsZi5wbGFuWydsb2NhbF9jb3B5J10gPSBsb2NhbENvcHkKICAgICAgICAgICAg
ICAgICBzZWxmLmJyb3dzZXJEcml2ZXIgPSBCcm93c2VyRHJpdmVyRmFjdG9yeS5jcmVhdGUoW3Bs
YXRmb3JtLCBicm93c2VyXSkKICAgICAgICAgICAgICAgICBzZWxmLmh0dHBTZXJ2ZXJEcml2ZXIg
PSBIVFRQU2VydmVyRHJpdmVyRmFjdG9yeS5jcmVhdGUoW3NlbGYucGxhblsnaHR0cF9zZXJ2ZXJf
ZHJpdmVyJ11dKQogICAgICAgICAgICAgICAgIHNlbGYuYnVpbGREaXIgPSBvcy5wYXRoLmFic3Bh
dGgoYnVpbGREaXIpIGlmIGJ1aWxkRGlyIGVsc2UgTm9uZQpAQCAtNTYsMTIgKzU5LDE5IEBAIGNs
YXNzIEJlbmNobWFya1J1bm5lcihvYmplY3QpOgogICAgICAgICBfbG9nLmluZm8oJ1N0YXJ0IGEg
bmV3IGJlbmNobWFyaycpCiAgICAgICAgIHJlc3VsdHMgPSBbXQogICAgICAgICBiZW5jaG1hcmtC
dWlsZGVyID0gQmVuY2htYXJrQnVpbGRlckZhY3RvcnkuY3JlYXRlKFtzZWxmLnBsYW5bJ2JlbmNo
bWFya19idWlsZGVyJ11dKQotICAgICAgICB3ZWJSb290ID0gYmVuY2htYXJrQnVpbGRlci5wcmVw
YXJlKHNlbGYucGxhblsnb3JpZ2luYWxfYmVuY2htYXJrJ10sIHNlbGYucGxhblsnYmVuY2htYXJr
X3BhdGNoJ10gaWYgJ2JlbmNobWFya19wYXRjaCcgaW4gc2VsZi5wbGFuIGVsc2UgTm9uZSkKKwor
ICAgICAgICBpZiBub3Qgc2VsZi5wbGFuLmdldCgnbG9jYWxfY29weScpIGFuZCBub3Qgc2VsZi5w
bGFuLmdldCgncmVtb3RlX2FyY2hpdmUnKToKKyAgICAgICAgICAgIF9sb2cuZXJyb3IoJ0VpdGhl
ciBsb2NhbF9jb3B5IG9yIHJlbW90ZV9hcmNoaXZlIG11c3QgYmUgc3BlY2lmaWVkIGluIHRoZSBw
bGFuJykKKyAgICAgICAgICAgIHJldHVybiAyCisKKyAgICAgICAgd2ViUm9vdCA9IGJlbmNobWFy
a0J1aWxkZXIucHJlcGFyZShzZWxmLnBsYW5OYW1lLCBzZWxmLnBsYW4uZ2V0KCdsb2NhbF9jb3B5
JyksIHNlbGYucGxhbi5nZXQoJ3JlbW90ZV9hcmNoaXZlJyksCisgICAgICAgICAgICBzZWxmLnBs
YW4uZ2V0KCdiZW5jaG1hcmtfcGF0Y2gnKSwgc2VsZi5wbGFuLmdldCgnY3JlYXRlX3NjcmlwdCcp
KQogICAgICAgICBmb3IgeCBpbiB4cmFuZ2UoaW50KHNlbGYucGxhblsnY291bnQnXSkpOgogICAg
ICAgICAgICAgX2xvZy5pbmZvKCdTdGFydCB0aGUgaXRlcmF0aW9uICVkIG9mIGN1cnJlbnQgYmVu
Y2htYXJrJyAlICh4ICsgMSkpCiAgICAgICAgICAgICBzZWxmLmh0dHBTZXJ2ZXJEcml2ZXIuc2Vy
dmUod2ViUm9vdCkKICAgICAgICAgICAgIHNlbGYuYnJvd3NlckRyaXZlci5wcmVwYXJlRW52KCkK
LSAgICAgICAgICAgIHNlbGYuYnJvd3NlckRyaXZlci5sYXVuY2hVcmwodXJscGFyc2UudXJsam9p
bihzZWxmLmh0dHBTZXJ2ZXJEcml2ZXIuYmFzZVVybCgpLCBzZWxmLnBsYW5bJ2VudHJ5X3BvaW50
J10pLCBzZWxmLmJ1aWxkRGlyKQorICAgICAgICAgICAgdXJsID0gdXJscGFyc2UudXJsam9pbihz
ZWxmLmh0dHBTZXJ2ZXJEcml2ZXIuYmFzZVVybCgpLCBzZWxmLnBsYW5OYW1lICsgJy8nICsgc2Vs
Zi5wbGFuWydlbnRyeV9wb2ludCddKQorICAgICAgICAgICAgc2VsZi5icm93c2VyRHJpdmVyLmxh
dW5jaFVybCh1cmwsIHNlbGYuYnVpbGREaXIpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAg
ICAgICAgd2l0aCB0aW1lb3V0KHNlbGYucGxhblsndGltZW91dCddKToKICAgICAgICAgICAgICAg
ICAgICAgcmVzdWx0ID0ganNvbi5sb2FkcyhzZWxmLmh0dHBTZXJ2ZXJEcml2ZXIuZmV0Y2hSZXN1
bHQoKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9kYXRhL3BhdGNoZXMvSmV0U3RyZWFtLnBhdGNoIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9KZXRTdHJlYW0ucGF0Y2gKaW5kZXggMDRiZGJl
OGMxNzczYzA2OGE4NjJhZThhYTMxMjljYjgwNjA4NGY2Yi4uMjAwMzg0ZTEzZDZjN2FkNzI4Y2M3
ZjBmZDI4Y2JkNmZkNTcxMjkxNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9KZXRTdHJlYW0ucGF0Y2gKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9KZXRTdHJlYW0u
cGF0Y2gKQEAgLTEsNyArMSw3IEBACi1kaWZmIC0tZ2l0IGEvSmV0U3RyZWFtL0pldFN0cmVhbS0x
LjAuMS9KZXRTdHJlYW1Ecml2ZXIuanMgYi9KZXRTdHJlYW0vSmV0U3RyZWFtLTEuMC4xL0pldFN0
cmVhbURyaXZlci5qcworZGlmZiAtLWdpdCBhL0pldFN0cmVhbS0xLjAuMS9KZXRTdHJlYW1Ecml2
ZXIuanMgYi9KZXRTdHJlYW0tMS4wLjEvSmV0U3RyZWFtRHJpdmVyLmpzCiBpbmRleCA3M2VlNDIw
Li42MGY1ODdjIDEwMDY0NAotLS0tIGEvSmV0U3RyZWFtL0pldFN0cmVhbS0xLjAuMS9KZXRTdHJl
YW1Ecml2ZXIuanMKLSsrKyBiL0pldFN0cmVhbS9KZXRTdHJlYW0tMS4wLjEvSmV0U3RyZWFtRHJp
dmVyLmpzCistLS0gYS9KZXRTdHJlYW0tMS4wLjEvSmV0U3RyZWFtRHJpdmVyLmpzCisrKysgYi9K
ZXRTdHJlYW0tMS4wLjEvSmV0U3RyZWFtRHJpdmVyLmpzCiBAQCAtNDQ4LDYgKzQ0OCwxNCBAQCB2
YXIgSmV0U3RyZWFtID0gKGZ1bmN0aW9uKCkgewogIAogICAgICAgICAgcmV0dXJuIHJhd1Jlc3Vs
dHM7CkBAIC00MSwxMCArNDEsMTAgQEAgaW5kZXggNzNlZTQyMC4uNjBmNTg3YyAxMDA2NDQKICAg
ICAgfQogIAogICAgICBmdW5jdGlvbiBpdGVyYXRlKCkKLWRpZmYgLS1naXQgYS9KZXRTdHJlYW0v
SmV0U3RyZWFtLTEuMC4xL2luZGV4Lmh0bWwgYi9KZXRTdHJlYW0vSmV0U3RyZWFtLTEuMC4xL2lu
ZGV4Lmh0bWwKK2RpZmYgLS1naXQgYS9KZXRTdHJlYW0tMS4wLjEvaW5kZXguaHRtbCBiL0pldFN0
cmVhbS0xLjAuMS9pbmRleC5odG1sCiBpbmRleCBlMjc1MzVjLi4wMDEwODdkIDEwMDY0NAotLS0t
IGEvSmV0U3RyZWFtL0pldFN0cmVhbS0xLjAuMS9pbmRleC5odG1sCi0rKysgYi9KZXRTdHJlYW0v
SmV0U3RyZWFtLTEuMC4xL2luZGV4Lmh0bWwKKy0tLSBhL0pldFN0cmVhbS0xLjAuMS9pbmRleC5o
dG1sCisrKysgYi9KZXRTdHJlYW0tMS4wLjEvaW5kZXguaHRtbAogQEAgLTM0LDggKzM0LDEwIEBA
CiAgICAgIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24oKSB7IGFsbElzR29vZCA9IGZhbHNlOyB9
CiAgCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
ZGF0YS9wYXRjaGVzL0tyYWtlbi5wYXRjaCBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvS3Jha2VuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5OTI1MWQx
MTIxYmQyMDE4NWI1MjRlOTBjZjk2NmNhYTY3MTNmNjUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL0tyYWtlbi5w
YXRjaApAQCAtMCwwICsxLDQ0IEBACitkaWZmIC0tZ2l0IGEvaG9zdGVkL2tyYWtlbi0xLjEvZHJp
dmVyLmh0bWwgYi9ob3N0ZWQva3Jha2VuLTEuMS9kcml2ZXIyLmh0bWwKK2luZGV4IGJmYjJjOTQu
LjVhZDE3MDQgMTAwNjQ0CistLS0gYS9ob3N0ZWQva3Jha2VuLTEuMS9kcml2ZXIuaHRtbAorKysr
IGIvaG9zdGVkL2tyYWtlbi0xLjEvZHJpdmVyMi5odG1sCitAQCAtMTE3LDIwICsxMTcsMjggQEAg
ZnVuY3Rpb24gcmVjb3JkUmVzdWx0KHRpbWUpCisgCisgZnVuY3Rpb24gZmluaXNoKCkKKyB7Cist
ICAgIHZhciBvdXRwdXRTdHJpbmcgPSAieyI7CistICAgIG91dHB1dFN0cmluZyArPSAnInYiOiAi
a3Jha2VuLTEuMSIsICc7CisrICAgIHZhciB0ZXN0cyA9IHt9OworICAgICBmb3IgKHZhciB0ZXN0
IGluIG91dHB1dFswXSkgeworLSAgICAgICAgb3V0cHV0U3RyaW5nICs9ICciJyArIHRlc3QgKyAn
IjpbJzsKKy0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0cHV0Lmxlbmd0aDsgaSsrKSB7
CistICAgICAgICAgICAgIG91dHB1dFN0cmluZyArPSBvdXRwdXRbaV1bdGVzdF0gKyAiLCI7Cist
ICAgICAgICB9CistICAgICAgICBvdXRwdXRTdHJpbmcgPSBvdXRwdXRTdHJpbmcuc3Vic3RyaW5n
KDAsIG91dHB1dFN0cmluZy5sZW5ndGggLSAxKTsKKy0gICAgICAgIG91dHB1dFN0cmluZyArPSAi
XSwiOworKyAgICAgICAgdmFyIHZhbHVlcyA9IG5ldyBBcnJheShvdXRwdXQubGVuZ3RoKTsKKysg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0cHV0Lmxlbmd0aDsgaSsrKQorKyAgICAgICAg
ICAgIHZhbHVlc1tpXSA9IG91dHB1dFtpXVt0ZXN0XTsKKysgICAgICAgIHRlc3RzW3Rlc3RdID0g
eyJtZXRyaWNzIjogeyJjdXJyZW50IjogdmFsdWVzfX0KKyAgICAgfQorLSAgICBvdXRwdXRTdHJp
bmcgPSBvdXRwdXRTdHJpbmcuc3Vic3RyaW5nKDAsIG91dHB1dFN0cmluZy5sZW5ndGggLSAxKTsK
Ky0gICAgb3V0cHV0U3RyaW5nICs9ICJ9IjsKKyAKKy0gICAgbG9jYXRpb24gPSAicmVzdWx0cy5o
dG1sPyIgKyBlbmNvZGVVUkkob3V0cHV0U3RyaW5nKTsKKysgICAgdmFyIHJlc3VsdHMgPSBKU09O
LnN0cmluZ2lmeSh7IktyYWtlbiI6IHsibWV0cmljcyI6IHsiVGltZSI6IFsiVG90YWwiXX0sICJ0
ZXN0cyI6IHRlc3RzfX0pOworKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Cisr
ICAgIHhoci5vcGVuKCJQT1NUIiwgIi9yZXBvcnQiKTsKKysgICAgeGhyLnNldFJlcXVlc3RIZWFk
ZXIoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi9qc29uIik7CisrICAgIHhoci5zZXRSZXF1
ZXN0SGVhZGVyKCJDb250ZW50LUxlbmd0aCIsIHJlc3VsdHMubGVuZ3RoKTsKKysgICAgeGhyLnNl
dFJlcXVlc3RIZWFkZXIoIkNvbm5lY3Rpb24iLCAiY2xvc2UiKTsKKysgICAgeGhyLm9ucmVhZHlz
dGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworKyAgICBpZih4aHIucmVhZHlTdGF0ZSA9PSBYTUxI
dHRwUmVxdWVzdC5ET05FICYmIHhoci5zdGF0dXMgPT0gMjAwKSB7CisrICAgICAgICAgICAgY2xv
c2VSZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisrICAgICAgICAgICAgY2xvc2VSZXF1
ZXN0Lm9wZW4oIkdFVCIsICIvc2h1dGRvd24iKTsKKysgICAgICAgICAgICBjbG9zZVJlcXVlc3Qu
c2VuZCgpOworKyAgICAgICAgfQorKyAgICB9CisrICAgIHhoci5zZW5kKHJlc3VsdHMpOworIH0K
KyAKKyA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvT2N0YW5lLnBhdGNoIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9PY3RhbmUucGF0Y2gKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmUwNWUzNjY5MTZiZGU3YTQ5MTc1YjY3NTM1MzdkNGE2NmVjNDBlZgotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNo
ZXMvT2N0YW5lLnBhdGNoCkBAIC0wLDAgKzEsNjggQEAKK2RpZmYgLS1naXQgYS9iYXNlLmpzIGIv
YmFzZS5qcworaW5kZXggOWQ2ZTNkZS4uY2RkZjgwMAorLS0tIGEvYmFzZS5qcworKysrIGIvYmFz
ZS5qcworQEAgLTE2Nyw3ICsxNjcsNyBAQCBCZW5jaG1hcmtTdWl0ZS5SdW5TdWl0ZXMgPSBmdW5j
dGlvbihydW5uZXIsIHNraXBCZW5jaG1hcmtzKSB7CisgICAgIGlmIChydW5uZXIuTm90aWZ5U2Nv
cmUpIHsKKyAgICAgICB2YXIgc2NvcmUgPSBCZW5jaG1hcmtTdWl0ZS5HZW9tZXRyaWNNZWFuKEJl
bmNobWFya1N1aXRlLnNjb3Jlcyk7CisgICAgICAgdmFyIGZvcm1hdHRlZCA9IEJlbmNobWFya1N1
aXRlLkZvcm1hdFNjb3JlKDEwMCAqIHNjb3JlKTsKKy0gICAgICBydW5uZXIuTm90aWZ5U2NvcmUo
Zm9ybWF0dGVkKTsKKysgICAgICBydW5uZXIuTm90aWZ5U2NvcmUoZm9ybWF0dGVkLCAxMDAgKiBz
Y29yZSk7CisgICAgIH0KKyAgIH0KKyAgIFJ1blN0ZXAoKTsKK0BAIC0yNTAsNyArMjUwLDcgQEAg
QmVuY2htYXJrU3VpdGUucHJvdG90eXBlLk5vdGlmeVJlc3VsdCA9IGZ1bmN0aW9uKCkgeworICAg
QmVuY2htYXJrU3VpdGUuc2NvcmVzLnB1c2goc2NvcmUpOworICAgaWYgKHRoaXMucnVubmVyLk5v
dGlmeVJlc3VsdCkgeworICAgICB2YXIgZm9ybWF0dGVkID0gQmVuY2htYXJrU3VpdGUuRm9ybWF0
U2NvcmUoMTAwICogc2NvcmUpOworLSAgICB0aGlzLnJ1bm5lci5Ob3RpZnlSZXN1bHQodGhpcy5u
YW1lLCBmb3JtYXR0ZWQpOworKyAgICB0aGlzLnJ1bm5lci5Ob3RpZnlSZXN1bHQodGhpcy5uYW1l
LCBmb3JtYXR0ZWQsIDEwMCAqIHNjb3JlKTsKKyAgIH0KKyAgIGlmICh0aGlzLnJlZmVyZW5jZS5s
ZW5ndGggPT0gMikgeworICAgICB2YXIgbWVhbkxhdGVuY3kgPSBCZW5jaG1hcmtTdWl0ZS5HZW9t
ZXRyaWNNZWFuTGF0ZW5jeSh0aGlzLnJlc3VsdHMpOworQEAgLTI1OSw3ICsyNTksNyBAQCBCZW5j
aG1hcmtTdWl0ZS5wcm90b3R5cGUuTm90aWZ5UmVzdWx0ID0gZnVuY3Rpb24oKSB7CisgICAgICAg
QmVuY2htYXJrU3VpdGUuc2NvcmVzLnB1c2goc2NvcmVMYXRlbmN5KTsKKyAgICAgICBpZiAodGhp
cy5ydW5uZXIuTm90aWZ5UmVzdWx0KSB7CisgICAgICAgICB2YXIgZm9ybWF0dGVkTGF0ZW5jeSA9
IEJlbmNobWFya1N1aXRlLkZvcm1hdFNjb3JlKDEwMCAqIHNjb3JlTGF0ZW5jeSkKKy0gICAgICAg
IHRoaXMucnVubmVyLk5vdGlmeVJlc3VsdCh0aGlzLm5hbWUgKyAiTGF0ZW5jeSIsIGZvcm1hdHRl
ZExhdGVuY3kpOworKyAgICAgICAgdGhpcy5ydW5uZXIuTm90aWZ5UmVzdWx0KHRoaXMubmFtZSAr
ICJMYXRlbmN5IiwgZm9ybWF0dGVkTGF0ZW5jeSwgMTAwICogc2NvcmVMYXRlbmN5KTsKKyAgICAg
ICB9CisgICAgIH0KKyAgIH0KK2luZGV4IDc3Y2JkZmIuLmZlNTZmYzQKKy0tLSBhL2luZGV4Lmh0
bWwKKysrKyBiL2luZGV4Lmh0bWwKK0BAIC01Nyw3ICs1Nyw5IEBACisgICAgIH0pOworICAgfQor
IAorLSAgZnVuY3Rpb24gQWRkUmVzdWx0KG5hbWUsIHJlc3VsdCkgeworKyAgdmFyIG9jdGFuZVN1
YnRlc3RzID0ge307CisrICBmdW5jdGlvbiBBZGRSZXN1bHQobmFtZSwgcmVzdWx0LCByYXdTY29y
ZSkgeworKyAgICBvY3RhbmVTdWJ0ZXN0c1tuYW1lXSA9IHsibWV0cmljcyI6IHsiU2NvcmUiOiB7
ImN1cnJlbnQiOiBbcmF3U2NvcmVdfX19OworICAgICBjb25zb2xlLmxvZyhuYW1lICsgJzogJyAr
IHJlc3VsdCk7CisgICAgIHZhciBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiUmVzdWx0
LSIgKyBuYW1lKTsKKyAgICAgYm94LmlubmVySFRNTCA9IHJlc3VsdDsKK0BAIC03NSw3ICs3Nywy
MSBAQAorICAgICBzdWNjZXNzID0gZmFsc2U7CisgICB9CisgCistICBmdW5jdGlvbiBBZGRTY29y
ZShzY29yZSkgeworKyAgZnVuY3Rpb24gQWRkU2NvcmUoc2NvcmUsIHJhd1Njb3JlKSB7CisrICAg
IHZhciByZXN1bHRzID0gSlNPTi5zdHJpbmdpZnkoeyJPY3RhbmUiOiB7Im1ldHJpY3MiOiB7IlNj
b3JlIjogeyJjdXJyZW50IjogW3Jhd1Njb3JlXX19LCAidGVzdHMiOiBvY3RhbmVTdWJ0ZXN0c319
KTsKKysgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworKyAgICB4aHIub3Blbigi
UE9TVCIsICIvcmVwb3J0Iik7CisrICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5
cGUiLCAiYXBwbGljYXRpb24vanNvbiIpOworKyAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29u
dGVudC1MZW5ndGgiLCByZXN1bHRzLmxlbmd0aCk7CisrICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVy
KCJDb25uZWN0aW9uIiwgImNsb3NlIik7CisrICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBm
dW5jdGlvbigpIHsKKysgICAgaWYoeGhyLnJlYWR5U3RhdGUgPT0gWE1MSHR0cFJlcXVlc3QuRE9O
RSAmJiB4aHIuc3RhdHVzID09IDIwMCkgeworKyAgICAgICAgICAgIGNsb3NlUmVxdWVzdCA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOworKyAgICAgICAgICAgIGNsb3NlUmVxdWVzdC5vcGVuKCJHRVQi
LCAiL3NodXRkb3duIik7CisrICAgICAgICAgICAgY2xvc2VSZXF1ZXN0LnNlbmQoKTsKKysgICAg
ICAgIH0KKysgICAgfQorKyAgICB4aHIuc2VuZChyZXN1bHRzKTsKKyAgICAgdmFyIHN0YXR1cyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluLWJhbm5lciIpOworICAgICBpZiAoc3VjY2Vz
cykgeworICAgICAgIHN0YXR1cy5pbm5lckhUTUwgPSAiT2N0YW5lIFNjb3JlOiAiICsgc2NvcmU7
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0
YS9wYXRjaGVzL1NwZWVkb21ldGVyLnBhdGNoIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5j
aG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9TcGVlZG9tZXRlci5wYXRjaAppbmRleCBmNDA5MmQ1
OWZlNjA2YWYxNzVkODM5MjA2YTJlOWQ0NWQ2M2JiOTFiLi4zMDhmOWMxYjE0ODY2ZmYwMDhjMDk3
MWQ5YzIwYzg4YWViOTkyYWI5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jl
bmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL1NwZWVkb21ldGVyLnBhdGNoCisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvU3BlZWRvbWV0
ZXIucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1kaWZmIC0tZ2l0IGEvU3BlZWRvbWV0ZXIvRnVsbC5o
dG1sIGIvU3BlZWRvbWV0ZXIvRnVsbC5odG1sCitkaWZmIC0tZ2l0IGEvRnVsbC5odG1sIGIvRnVs
bC5odG1sCiBpbmRleCA0MTliOWYyLi4wYjA0YzY5IDEwMDY0NAotLS0tIGEvU3BlZWRvbWV0ZXIv
RnVsbC5odG1sCi0rKysgYi9TcGVlZG9tZXRlci9GdWxsLmh0bWwKKy0tLSBhL0Z1bGwuaHRtbAor
KysrIGIvRnVsbC5odG1sCiBAQCAtNyw3ICs3LDYgQEAKICAgICAgPHNjcmlwdCBzcmM9InJlc291
cmNlcy9tYWluLmpzIiBkZWZlcj48L3NjcmlwdD4KICAgICAgPHNjcmlwdCBzcmM9InJlc291cmNl
cy9iZW5jaG1hcmstcnVubmVyLmpzIiBkZWZlcj48L3NjcmlwdD4KQEAgLTEwLDEwICsxMCwxMCBA
QCBpbmRleCA0MTliOWYyLi4wYjA0YzY5IDEwMDY0NAogICAgICA8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3Rlc3RzLmpzIiBkZWZlcj48L3NjcmlwdD4KICA8L2hlYWQ+CiAgPGJvZHk+Ci1kaWZmIC0t
Z2l0IGEvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL2JlbmNobWFyay1yZXBvcnQuanMgYi9TcGVlZG9t
ZXRlci9yZXNvdXJjZXMvYmVuY2htYXJrLXJlcG9ydC5qcworZGlmZiAtLWdpdCBhL3Jlc291cmNl
cy9iZW5jaG1hcmstcmVwb3J0LmpzIGIvcmVzb3VyY2VzL2JlbmNobWFyay1yZXBvcnQuanMKIGlu
ZGV4IGM0YjRjNjQuLjg3NGY1OTcgMTAwNjQ0Ci0tLS0gYS9TcGVlZG9tZXRlci9yZXNvdXJjZXMv
YmVuY2htYXJrLXJlcG9ydC5qcwotKysrIGIvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL2JlbmNobWFy
ay1yZXBvcnQuanMKKy0tLSBhL3Jlc291cmNlcy9iZW5jaG1hcmstcmVwb3J0LmpzCisrKysgYi9y
ZXNvdXJjZXMvYmVuY2htYXJrLXJlcG9ydC5qcwogQEAgLTEsMzAgKzEsMjYgQEAKICAvLyBUaGlz
IGZpbGUgY2FuIGJlIGN1c3RvbWl6ZWQgdG8gcmVwb3J0IHJlc3VsdHMgYXMgbmVlZGVkLgogIApk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEv
cGF0Y2hlcy9TdW5TcGlkZXIucGF0Y2ggYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFy
a19ydW5uZXIvZGF0YS9wYXRjaGVzL1N1blNwaWRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2Y3YzAw
MTVkZWVkZjJhMDQ5ZGEwMDI0Y2UyMTNlYjJjMjlhYzdkCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9TdW5TcGlk
ZXIucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorZGlmZiAtLWdpdCBhL2hvc3RlZC9zdW5zcGlkZXIt
MS4wLjEvZHJpdmVyLmh0bWwgYi9ob3N0ZWQvc3Vuc3BpZGVyLTEuMC4xL2RyaXZlci5odG1sCitp
bmRleCAwNzAwYmIyLi4yZGRlMDFhIDEwMDY0NAorLS0tIGEvaG9zdGVkL3N1bnNwaWRlci0xLjAu
MS9kcml2ZXIuaHRtbAorKysrIGIvaG9zdGVkL3N1bnNwaWRlci0xLjAuMS9kcml2ZXIuaHRtbAor
QEAgLTEwMywyMyArMTAzLDI4IEBAIGZ1bmN0aW9uIHJlY29yZFJlc3VsdCh0aW1lKQorIAorIGZ1
bmN0aW9uIGZpbmlzaCgpCisgeworLSAgICB2YXIgb3V0cHV0U3RyaW5nID0gInsiOworLSAgICBv
dXRwdXRTdHJpbmcgKz0gJyJ2IjogInN1bnNwaWRlci0xLjAuMSIsICc7CisrICAgIHZhciB0ZXN0
cyA9IHt9OworICAgICBmb3IgKHZhciB0ZXN0IGluIG91dHB1dFswXSkgeworLSAgICAgICAgb3V0
cHV0U3RyaW5nICs9ICciJyArIHRlc3QgKyAnIjpbJzsKKy0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgb3V0cHV0Lmxlbmd0aDsgaSsrKSB7CistICAgICAgICAgICAgdmFyIHRpbWUgPSBvdXRw
dXRbaV1bdGVzdF07CistICAgICAgICAgICAgaWYgKHRpbWUgIT0gdGltZSkKKy0gICAgICAgICAg
ICAgICAgdGltZSA9ICJcIk5hTlwiIjsKKy0gICAgICAgICAgICBvdXRwdXRTdHJpbmcgKz0gdGlt
ZSArICIsIjsKKy0gICAgICAgIH0KKy0gICAgICAgIG91dHB1dFN0cmluZyA9IG91dHB1dFN0cmlu
Zy5zdWJzdHJpbmcoMCwgb3V0cHV0U3RyaW5nLmxlbmd0aCAtIDEpOworLSAgICAgICAgb3V0cHV0
U3RyaW5nICs9ICJdLCI7CisrICAgICAgICB2YXIgdmFsdWVzID0gbmV3IEFycmF5KG91dHB1dC5s
ZW5ndGgpOworKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvdXRwdXQubGVuZ3RoOyBpKysp
CisrICAgICAgICAgICAgdmFsdWVzW2ldID0gb3V0cHV0W2ldW3Rlc3RdOworKyAgICAgICAgdGVz
dHNbdGVzdF0gPSB7Im1ldHJpY3MiOiB7IlRpbWUiOiB7ImN1cnJlbnQiOiBbdmFsdWVzXX19fQor
ICAgICB9CistICAgIG91dHB1dFN0cmluZyA9IG91dHB1dFN0cmluZy5zdWJzdHJpbmcoMCwgb3V0
cHV0U3RyaW5nLmxlbmd0aCAtIDEpOworLSAgICBvdXRwdXRTdHJpbmcgKz0gIn0iOworIAorLSAg
ICBsb2NhdGlvbiA9ICJyZXN1bHRzLmh0bWw/IiArIGVuY29kZVVSSShvdXRwdXRTdHJpbmcpOwor
KyAgICB2YXIgcmVzdWx0cyA9IEpTT04uc3RyaW5naWZ5KHsiU3VuU3BpZGVyIjogeyJtZXRyaWNz
IjogeyJUaW1lIjogWyJUb3RhbCJdfSwgInRlc3RzIjogdGVzdHN9fSk7CisrICAgIHZhciB4aHIg
PSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKysgICAgeGhyLm9wZW4oIlBPU1QiLCAiL3JlcG9ydCIp
OworKyAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9u
L2pzb24iKTsKKysgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtTGVuZ3RoIiwgcmVz
dWx0cy5sZW5ndGgpOworKyAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29ubmVjdGlvbiIsICJj
bG9zZSIpOworKyAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CisrICAg
IGlmKHhoci5yZWFkeVN0YXRlID09IFhNTEh0dHBSZXF1ZXN0LkRPTkUgJiYgeGhyLnN0YXR1cyA9
PSAyMDApIHsKKysgICAgICAgICAgICBjbG9zZVJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo
KTsKKysgICAgICAgICAgICBjbG9zZVJlcXVlc3Qub3BlbigiR0VUIiwgIi9zaHV0ZG93biIpOwor
KyAgICAgICAgICAgIGNsb3NlUmVxdWVzdC5zZW5kKCk7CisrICAgICAgICB9CisrICAgIH0KKysg
ICAgeGhyLnNlbmQocmVzdWx0cyk7CisgfQorIAorIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvamV0c3RyZWFt
LnBsYW4gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFu
cy9qZXRzdHJlYW0ucGxhbgppbmRleCBiNmU3ZTE3Yjc0YWIyZTJkNjEwMjgzMzE5MjE1ZDdkNTM5
MTE1M2M4Li5lOWI0MjJiMTM4NzRmOWUxMzZiZDUzNzk2ZDAyMThkMjc1OTViMjkzIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFucy9q
ZXRzdHJlYW0ucGxhbgorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvZGF0YS9wbGFucy9qZXRzdHJlYW0ucGxhbgpAQCAtMiw5ICsyLDEwIEBACiAgICAgImh0dHBf
c2VydmVyX2RyaXZlciI6ICJTaW1wbGVIVFRQU2VydmVyRHJpdmVyIiwgCiAgICAgInRpbWVvdXQi
IDogNjAwLAogICAgICJjb3VudCI6IDUsCi0gICAgImJlbmNobWFya19idWlsZGVyIjogIkpldFN0
cmVhbUJlbmNobWFya0J1aWxkZXIiLAotICAgICJvcmlnaW5hbF9iZW5jaG1hcmsiOiAiLi4vLi4v
Li4vLi4vUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0iLAorICAgICJiZW5jaG1hcmtfYnVpbGRl
ciI6ICJHZW5lcmljQmVuY2htYXJrQnVpbGRlciIsCisgICAgInJlbW90ZV9hcmNoaXZlIjogIi4u
Ly4uLy4uLy4uL1BlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtIiwKICAgICAiYmVuY2htYXJrX3Bh
dGNoIjogImRhdGEvcGF0Y2hlcy9KZXRTdHJlYW0ucGF0Y2giLAotICAgICJlbnRyeV9wb2ludCI6
ICJKZXRTdHJlYW0vSmV0U3RyZWFtLTEuMC4xL2luZGV4Lmh0bWwiLAorICAgICJjcmVhdGVfc2Ny
aXB0IjogWyJydWJ5IiwgImNyZWF0ZS5yYiJdLAorICAgICJlbnRyeV9wb2ludCI6ICJKZXRTdHJl
YW0tMS4wLjEvaW5kZXguaHRtbCIsCiAgICAgIm91dHB1dF9maWxlIjogImpldHN0cmVhbS5yZXN1
bHQiCiB9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvZGF0YS9wbGFucy9rcmFrZW4ucGxhbiBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9kYXRhL3BsYW5zL2tyYWtlbi5wbGFuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkOWM5YjgyYTA4
NDdhNDlhMTc4ODEzYjIxZjQwYTBjNDY4M2U1NjAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFucy9rcmFrZW4ucGxhbgpA
QCAtMCwwICsxLDExIEBACit7CisgICAgImh0dHBfc2VydmVyX2RyaXZlciI6ICJTaW1wbGVIVFRQ
U2VydmVyRHJpdmVyIiwKKyAgICAidGltZW91dCI6IDMwMCwKKyAgICAiY291bnQiOiA1LAorICAg
ICJiZW5jaG1hcmtfYnVpbGRlciI6ICJHZW5lcmljQmVuY2htYXJrQnVpbGRlciIsCisgICAgInJl
bW90ZV9hcmNoaXZlIjogImh0dHA6Ly9oZy5tb3ppbGxhLm9yZy9wcm9qZWN0cy9rcmFrZW4vYXJj
aGl2ZS90aXAuemlwIiwKKyAgICAiYmVuY2htYXJrX3BhdGNoIjogImRhdGEvcGF0Y2hlcy9LcmFr
ZW4ucGF0Y2giLAorICAgICJjcmVhdGVfc2NyaXB0IjogWyJweXRob24iLCAibWFrZS1ob3N0ZWQu
cHkiXSwKKyAgICAiZW50cnlfcG9pbnQiOiAiaG9zdGVkL2tyYWtlbi0xLjEvZHJpdmVyLmh0bWwi
LAorICAgICJvdXRwdXRfZmlsZSI6ICJrcmFrZW4ucmVzdWx0IgorfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvb2N0YW5lLnBs
YW4gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFucy9v
Y3RhbmUucGxhbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODg4NzFmMjgyZTlmNjdkNjA4NTkzN2U5YzIyZjBiMWY5
YTU4MTg0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1h
cmtfcnVubmVyL2RhdGEvcGxhbnMvb2N0YW5lLnBsYW4KQEAgLTAsMCArMSwxMCBAQAoreworICAg
ICJodHRwX3NlcnZlcl9kcml2ZXIiOiAiU2ltcGxlSFRUUFNlcnZlckRyaXZlciIsCisgICAgInRp
bWVvdXQiOiAzMDAsCisgICAgImNvdW50IjogNSwKKyAgICAiYmVuY2htYXJrX2J1aWxkZXIiOiAi
R2VuZXJpY0JlbmNobWFya0J1aWxkZXIiLAorICAgICJyZW1vdGVfYXJjaGl2ZSI6ICJodHRwczov
L2dpdGh1Yi5jb20vY2hyb21pdW0vb2N0YW5lLWJlbmNobWFyay9hcmNoaXZlL2ZhYjA5YWVmMDFj
MmE1NTYwYzIyY2RjMWMxYTI0NTFjMGQwZjRjZGMuemlwIiwKKyAgICAiYmVuY2htYXJrX3BhdGNo
IjogImRhdGEvcGF0Y2hlcy9PY3RhbmUucGF0Y2giLAorICAgICJlbnRyeV9wb2ludCI6ICJpbmRl
eC5odG1sP2F1dG89MSIsCisgICAgIm91dHB1dF9maWxlIjogIm9jdGFuZS5yZXN1bHQiCit9CmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9w
bGFucy9zcGVlZG9tZXRlci5wbGFuIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL2RhdGEvcGxhbnMvc3BlZWRvbWV0ZXIucGxhbgppbmRleCAwMjE0NDM4ZmM2OTVhYWRh
ZTY5YmEzZDhmZjliODZiNTM5MWNlOGNkLi45ZDg0MGY1ZTUyMGIzNWZmN2MxZDIwMTc1NjVlN2Y4
NWQ4MTk3ZmQzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvZGF0YS9wbGFucy9zcGVlZG9tZXRlci5wbGFuCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL3NwZWVkb21ldGVyLnBsYW4KQEAgLTMs
OCArMyw4IEBACiAgICAgInRpbWVvdXQiOiAzMDAsCiAgICAgImNvdW50IjogNSwKICAgICAiYmVu
Y2htYXJrX2J1aWxkZXIiOiAiR2VuZXJpY0JlbmNobWFya0J1aWxkZXIiLAotICAgICJvcmlnaW5h
bF9iZW5jaG1hcmsiOiAiLi4vLi4vLi4vLi4vUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlciIs
CisgICAgImxvY2FsX2NvcHkiOiAiLi4vLi4vLi4vLi4vUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9t
ZXRlciIsCiAgICAgImJlbmNobWFya19wYXRjaCI6ICJkYXRhL3BhdGNoZXMvU3BlZWRvbWV0ZXIu
cGF0Y2giLAotICAgICJlbnRyeV9wb2ludCI6ICJTcGVlZG9tZXRlci9GdWxsLmh0bWwiLAorICAg
ICJlbnRyeV9wb2ludCI6ICJGdWxsLmh0bWwiLAogICAgICJvdXRwdXRfZmlsZSI6ICJzcGVlZG9t
ZXRlci5yZXN1bHQiCiB9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvZGF0YS9wbGFucy9zdW5zcGlkZXIucGxhbiBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL3N1bnNwaWRlci5wbGFuCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA2YmFlMzg4ZmQwZDkyMjJlNjg1MDI3MmM4ZGFjZDkxNDRlZTMzMmEKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFu
cy9zdW5zcGlkZXIucGxhbgpAQCAtMCwwICsxLDExIEBACit7CisgICAgImh0dHBfc2VydmVyX2Ry
aXZlciI6ICJTaW1wbGVIVFRQU2VydmVyRHJpdmVyIiwKKyAgICAidGltZW91dCI6IDMwMCwKKyAg
ICAiY291bnQiOiA1LAorICAgICJiZW5jaG1hcmtfYnVpbGRlciI6ICJHZW5lcmljQmVuY2htYXJr
QnVpbGRlciIsCisgICAgImxvY2FsX2NvcHkiOiAiLi4vLi4vLi4vLi4vUGVyZm9ybWFuY2VUZXN0
cy9TdW5TcGlkZXIiLAorICAgICJiZW5jaG1hcmtfcGF0Y2giOiAiZGF0YS9wYXRjaGVzL1N1blNw
aWRlci5wYXRjaCIsCisgICAgImNyZWF0ZV9zY3JpcHQiOiBbInBlcmwiLCAibWFrZS1ob3N0ZWQi
XSwKKyAgICAiZW50cnlfcG9pbnQiOiAiaG9zdGVkL3N1bnNwaWRlci0xLjAuMS9kcml2ZXIuaHRt
bCIsCisgICAgIm91dHB1dF9maWxlIjogInN1bnNwaWRlci5yZXN1bHQiCit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252811</attachid>
            <date>2015-05-10 03:26:30 -0700</date>
            <delta_ts>2015-05-11 14:42:14 -0700</delta_ts>
            <desc>Fixed kraken.plan</desc>
            <filename>bug-144840-20150510032511.patch</filename>
            <type>text/plain</type>
            <size>31111</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDQ0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWM4NWRmM2Q0YjJkZWNkOTBiYjAxODY3NDcwOWZmZjUw
NDcxMTI0MC4uOWQ1YWEwMzkzMzIxOGZjYzE5YjdkNjk0YjQ1YmM1MTM0ODI2YmYwNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5
IEBACisyMDE1LTA1LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAg
ICAgIHJ1bi1iZW5jaG1hcmsgc2hvdWxkIHN1cHBvcnQgU3VuU3BpZGVyLCBLcmFrZW4gYW5kIE9j
dGFuZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0
ODQwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgdGhlIHN1cHBvcnQgZm9yIFN1blNwaWRlciwgS3Jha2VuLCBhbmQgT2N0YW5lLiBCZWNhdXNl
IG9mIHRoZSBsaWNlbnNpbmcgaXNzdWVzLCB3ZSBjYW4ndCBjb21taXQgdGhlCisgICAgICAgIEty
YWtlbiBzb3VyY2UgY29kZSBpbnRvIHRoZSBXZWJLaXQgcmVwb3NpdG9yeSBhcyBkb25lIGZvciBv
dGhlciBiZW5jaG1hcmtzLiBJbnN0ZWFkLCB3ZSdsbCBkeW5hbWljYWxseQorICAgICAgICBkb3du
bG9hZCBpdCBmcm9tIHRoZSByZW1vdGUgc2VydmVyIHVzaW5nIG5ld2x5IGFkZGVkIFJlbW90ZVpp
cEJlbmNobWFya0J1aWxkZXIuIFdlIGRvIHRoZSBzYW1lIGZvciBPY3RhbmUKKyAgICAgICAgZm9y
IHNpbXBsaWNpdHkuIFVzZSBuZXdseSBhZGRlZCAtLWxvY2FsLWNvcHkgb3B0aW9uIHRvIHNwZWNp
ZnkgdGhlIGxvY2F0aW9uIG9mIGEgbG9jYWwgY29weSBpZiB0aGVyZSBpcyBhbnkuCisKKyAgICAg
ICAgUmVuYW1lZCAib3JpZ2luYWxfYmVuY2htYXJrIGluIHRoZSBwbGFuIGZpbGUgdG8gImxvY2Fs
X2NvcHkiIGFuZCBhZGRlZCBhIG5ldyBvcHRpb25hbCAicmVtb3RlX2FyY2hpdmUiIHRvCisgICAg
ICAgIHNwZWNpZnkgdGhlIFVSTCB0byBhIHJlbW90ZSBaSVAgZmlsZS4gVGhpcyBvcHRpb25hbCBm
aWVsZCBpcyB1c2VkIGJ5IEtyYWtlbiBhbmQgT2N0YW5lIGJlbmNobWFyayBwbGFucy4KKworICAg
ICAgICBJbiBhZGRpdGlvbiwgZ2VuZXJhbGl6ZWQgdGhlIGFiaWxpdHkgdG8gcnVuIGEgImNyZWF0
ZSBzY3JpcHQiIGluIEpldFN0cmVhbUJlbmNobWFya0J1aWxkZXIgc2luY2UgaXQncyBhbHNvCisg
ICAgICAgIG5lZWRlZCBmb3IgU3VuU3BpZGVyIGFuZCBLcmFrZW4uIFRoaXMgZmVhdHVyZSBoYXMg
bm93IGJlZW4gZm9sZGVkIGludG8gR2VuZXJpY0JlbmNobWFya0J1aWxkZXIuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvYmVu
Y2htYXJrX2J1aWxkZXJzLmpzb246IEFkZGVkCisgICAgICAgIFJlbW90ZVppcEJlbmNobWFya0J1
aWxkZXIgZm9yIEtyYWtlbiBhbmQgcmVtb3ZlZCBKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyIHNp
bmNlIEdlbmVyaWNCZW5jaG1hcmtCdWlsZGVyCisgICAgICAgIG5vdyBoYXMgdGhlIGFiaWxpdHkg
dG8gcnVuIGFuIGFyYml0cmFyeSAiY3JlYXRlIHNjcmlwdCIuCisKKyAgICAgICAgKiBTY3JpcHRz
L3J1bi1iZW5jaG1hcms6CisgICAgICAgIChtYWluKTogQWRkZWQgYW4gb3B0aW9uYWwgYXJndW1l
bnQsIC0tbG9jYWwtY29weSwgdG8gb3ZlcnJpZGUgdGhlIGxvY2F0aW9uIG9mIHRoZSBiZW5jaG1h
cmsncyBsb2NhbCBjb3B5LgorICAgICAgICBUaGlzIGFsc28gb3ZlcnJpZGVzIHRoZSByZW1vdGUg
YXJjaGl2ZSBVUkwgc3BlY2lmaWVkIGluIHRoZSBwbGFuLgorCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL1JFQURNRS5tZDogVXBkYXRlZCB0aGUgZGVzY3JpcHRp
b24uCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2ht
YXJrX2J1aWxkZXIvYmVuY2htYXJrX2J1aWxkZXJzLmpzb246IERlbGV0ZWQgdGhlIGVudHJ5IGZv
cgorICAgICAgICBKZXRTdHJlYW1CZW5jaG1hcmtCdWlsZGVyLgorCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2dlbmVyaWNfYmVu
Y2htYXJrX2J1aWxkZXIucHk6IAorICAgICAgICAoR2VuZXJpY0JlbmNobWFya0J1aWxkZXIucHJl
cGFyZSk6IENhbGwgX2ZldGNoUmVtb3RlQXJjaGl2ZSBpZiBsb2NhbF9jb3B5IGlzIG5vdCBzcGVj
aWZpZWQgaW4gdGhlIHBsYW4gb3IKKyAgICAgICAgYnkgLS1sb2NhbC1jb3B5IG9wdGlvbiBidXQg
cmVtb3RlX2FyY2hpdmUgaXMgc3BlY2lmaWVkLiBBbHNvIGNhbGwgc2VsZi5jbGVhbigpIGhlcmUg
aW5zdGVhZCBvZiByZWx5aW5nIG9uCisgICAgICAgIF9ydW5DcmVhdGVTY3JpcHQgYW5kIF9hcHBs
eVBhdGNoIHRvIGNsZWFuIGFmdGVyIHRoZW1zZWx2ZXMuCisgICAgICAgIChHZW5lcmljQmVuY2ht
YXJrQnVpbGRlci5fcnVuQ3JlYXRlU2NyaXB0KTogTW92ZWQgZnJvbSBKZXRTdHJlYW1CZW5jaG1h
cmtCdWlsZGVyLl9ydW5DcmVhdGVTY3JpcHQgc2luY2UKKyAgICAgICAgSmV0U3RyZWFtLCBTdW5T
cGlkZXIsIEtyYWtlbiBhbGwgdXNlIHRoaXMgZmVhdHVyZS4KKyAgICAgICAgKEdlbmVyaWNCZW5j
aG1hcmtCdWlsZGVyLl9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKTogVXNlIHNlbGYubmFtZSBhcyB0
aGUgZGVzdGluYXRpb24gbG9jYXRpb24gaW5zdGVhZCBvZgorICAgICAgICB0aGUgbGVhZiBkaXJl
Y3RvcnkgbmFtZSBzaW5jZSB0aGUgbGF0dGVyIGlzIG5vdCBhdmFpbGFibGUgd2hlbiBhIHJlbW90
ZSBaSVAgZmlsZSBpcyB1c2VkLgorICAgICAgICAoR2VuZXJpY0JlbmNobWFya0J1aWxkZXIuX2Zl
dGNoUmVtb3RlQXJjaGl2ZSk6IEFkZGVkLgorICAgICAgICAoR2VuZXJpY0JlbmNobWFya0J1aWxk
ZXIuX2FwcGx5UGF0Y2gpOiBBcHBseSB0aGUgcGF0Y2ggaW5zaWRlIGRlc3RpbmF0aW9uIGRpcmVj
dG9yeSB0byBhdm9pZCBoYXJkIGNvZGluZworICAgICAgICB0aGUgYmVuY2htYXJrIG5hbWUgaW4g
dGhlIHBhdGNoZXMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvYmVuY2htYXJrX2J1aWxkZXIvamV0c3RyZWFtX2JlbmNobWFya19idWlsZGVyLnB5OiBSZW1v
dmVkLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNo
bWFya19ydW5uZXIucHk6CisgICAgICAgIChCZW5jaG1hcmtSdW5uZXIuX19pbml0X18pOiBTZXQg
c2VsZi5wbGFuTmFtZS4gQWxzbyBvdmVycmlkZSAnbG9jYWxfY29weScgd2hlbiAtLWxvY2FsLWNv
cHkgb3B0aW9uIGlzIHVzZWQuCisgICAgICAgIChCZW5jaG1hcmtSdW5uZXIuZXhlY3V0ZSk6IEV4
aXQgZWFybHkgaWYgbmVpdGhlciBsb2NhbF9jb3B5IG5vciByZW1vdGVfYXJjaGl2ZSBpcyBzcGVj
aWZpZWQuIFByZWZpeCB0aGUgVVJMCisgICAgICAgIHRoZSBicm93c2VyIG9wZW5zIGJ5IHBsYW5O
YW1lIGFzIHRoZSBwbGFuIGZpbGUgbm8gbG9uZ2VyIGNvbnRhaW5zIHRoYXQuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL0pldFN0cmVh
bS5wYXRjaDogQ2hhbmdlZCB0aGUgcGF0aCB0byBiZSByZWxhdGl2ZSBhZ2FpbnN0CisgICAgICAg
IHRoZSB0b3AgZGlyZWN0b3J5IG9mIEpldFN0cmVhbSBpbnN0ZWFkIG9mIGl0cyBwYXJlbnQuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9L
cmFrZW4ucGF0Y2g6IEFkZGVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJr
X3J1bm5lci9kYXRhL3BhdGNoZXMvT2N0YW5lLnBhdGNoOiBBZGRlZC4KKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL1NwZWVkb21ldGVyLnBh
dGNoOiBDaGFuZ2VkIHRoZSBwYXRoIHRvIGJlIHJlbGF0aXZlIGFnYWluc3QKKyAgICAgICAgdGhl
IHRvcCBkaXJlY3Rvcnkgb2YgSmV0U3RyZWFtIGluc3RlYWQgb2YgaXRzIHBhcmVudC4KKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL1N1blNw
aWRlci5wYXRjaDogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL2RhdGEvcGxhbnMvamV0c3RyZWFtLnBsYW46IFVzZXMgR2VuZXJpY0JlbmNobWFya0J1
aWxkZXIgYW5kIHNwZWNpZmllcworICAgICAgICB0aGUgc2NyaXB0IHRvIHJ1bi4gVGhlIGVudHJ5
IHBvaW50IHdhcyBjaGFuZ2VkIHRvIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gdGhlIHRvcCBkaXJl
Y3Rvcnkgb2YgSmV0U3RyZWFtIGFzCisgICAgICAgIGRvbmUgaW4gSmV0U3RyZWFtLnBhdGNoLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL2ty
YWtlbi5wbGFuOiBBZGRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvZGF0YS9wbGFucy9vY3RhbmUucGxhbjogQWRkZWQuCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvc3BlZWRvbWV0ZXIucGxhbjogVGhl
IGVudHJ5IHBvaW50IHdhcyBjaGFuZ2VkIHRvIHRoZSByZWxhdGl2ZQorICAgICAgICBwYXRoIGZy
b20gdGhlIHRvcCBkaXJlY3Rvcnkgb2YgSmV0U3RyZWFtIGFzIGRvbmUgaW4gSmV0U3RyZWFtLnBh
dGNoLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3Bs
YW5zL3N1bnNwaWRlci5wbGFuOiBBZGRlZC4KKwogMjAxNS0wNS0wOSAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBNYWtlIGFyZ3VtZW50cyBvZiBydW4tYmVuY2ht
YXJrIG1vcmUgdXNlciBmcmllbmRseQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4tYmVu
Y2htYXJrIGIvVG9vbHMvU2NyaXB0cy9ydW4tYmVuY2htYXJrCmluZGV4IDZkNWY2NmUzNTk4NzI5
NDdiNjM1ZTU1ZjIyYmU5YmU1OWU2MDQ2NDQuLjc3ZmM0NzI0NDU3YTFlYTY5YTBiNTFhYjU2OTE3
NGEzMmQzMzRhYjkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLWJlbmNobWFyaworKysg
Yi9Ub29scy9TY3JpcHRzL3J1bi1iZW5jaG1hcmsKQEAgLTI2LDYgKzI2LDcgQEAgZGVmIG1haW4o
KToKICAgICAjIEZJWE1FOiBTaG91bGQgd2UgYWRkIGNocm9tZSBhcyBhbiBvcHRpb24/IFdlbGws
IGNocm9tZSB1c2VzIHdlYmtpdCBpbiBpT1MuCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1i
cm93c2VyJywgZGVzdD0nYnJvd3NlcicsIHJlcXVpcmVkPVRydWUsIGNob2ljZXM9QnJvd3NlckRy
aXZlckZhY3RvcnkuYXZhaWxhYmxlX2Jyb3dzZXJzKCkpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS1kZWJ1ZycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS1sb2NhbC1jb3B5JywgZGVzdD0nbG9jYWxDb3B5JywgaGVscD0nUGF0aCB0byBhIGxvY2Fs
IGNvcHkgb2YgdGhlIGJlbmNobWFyay4gZS5nLiBQZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci8n
KQogICAgIGFyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCiAKICAgICBpZiBhcmdzLmRlYnVnOgpA
QCAtMzQsNyArMzUsNyBAQCBkZWYgbWFpbigpOgogICAgIF9sb2cuZGVidWcoJ1x0b3V0cHV0IGZp
bGUgbmFtZVx0OiAlcycgJSBhcmdzLm91dHB1dCkKICAgICBfbG9nLmRlYnVnKCdcdGJ1aWxkIGRp
cmVjdG9yeVx0OiAlcycgJSBhcmdzLmJ1aWxkRGlyKQogICAgIF9sb2cuZGVidWcoJ1x0cGxhbiBu
YW1lXHQ6ICVzJywgYXJncy5wbGFuKQotICAgIHJ1bm5lciA9IEJlbmNobWFya1J1bm5lcihhcmdz
LnBsYW4sIGFyZ3MuYnVpbGREaXIsIGFyZ3Mub3V0cHV0LCBhcmdzLnBsYXRmb3JtLCBhcmdzLmJy
b3dzZXIpCisgICAgcnVubmVyID0gQmVuY2htYXJrUnVubmVyKGFyZ3MucGxhbiwgYXJncy5sb2Nh
bENvcHksIGFyZ3MuYnVpbGREaXIsIGFyZ3Mub3V0cHV0LCBhcmdzLnBsYXRmb3JtLCBhcmdzLmJy
b3dzZXIpCiAgICAgcmV0dXJuIHJ1bm5lci5leGVjdXRlKCkKIAogCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvUkVBRE1FLm1kIGIvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL1JFQURNRS5tZAppbmRleCAwY2FkNGExOThl
M2UwNzE2MDM0YzNlODY1ZGRhNDFlYmEwOTgwMDQ3Li42Yjk1MmM4NWZmNGQwN2NiOTJjNmQ1OWQx
YWRkZjkwZGM0YWQzODcxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvUkVBRE1FLm1kCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9SRUFETUUubWQKQEAgLTU4LDcgKzU4LDcgQEAgVG8gY3JlYXRlIGEgcGxhbiwg
eW91IG1heSByZWZlciB0byBQbGFucy9qZXRzdHJlYW0ucGxhbi4KICAgICAidGltZW91dCIgOiA2
MDAsCiAgICAgImNvdW50IjogNSwKICAgICAiYmVuY2htYXJrX2J1aWxkZXIiOiAiSmV0U3RyZWFt
QmVuY2htYXJrQnVpbGRlciIsCi0gICAgIm9yaWdpbmFsX2JlbmNobWFyayI6ICIuLi8uLi8uLi8u
Li9QZXJmb3JtYW5jZVRlc3RzL0pldFN0cmVhbSIsCisgICAgImxvY2FsX2NvcHkiOiAiLi4vLi4v
Li4vLi4vUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0iLAogICAgICJiZW5jaG1hcmtfcGF0Y2gi
OiAiZGF0YS9wYXRjaGVzL0pldFN0cmVhbS5wYXRjaCIsCiAgICAgImVudHJ5X3BvaW50IjogIkpl
dFN0cmVhbS9KZXRTdHJlYW0tMS4wLjEvaW5kZXguaHRtbCIsCiAgICAgIm91dHB1dF9maWxlIjog
ImpldHN0cmVhbS5yZXN1bHQiCkBAIC02OSw5ICs2OSwxMCBAQCBQbGFuIGlzIGEganNvbi1mb3Jt
YXR0ZWQgZGljdGlvbmFyeSB3aGljaCBjb250YWlucyBmb2xsb3dpbmcga2V5cwogKiAqKnRpbWVv
dXQqKjogdGltZSBsaW1pdCBmb3IgKipFQUNIIFJVTioqIG9mIHRoZSBiZW5jaG1hcmsuIFRoaXMg
Y2FuIGF2b2lkIHByb2dyYW0gZ2V0dGluZyBzdHVjayBpbiB0aGUgZXh0cmVtZSBjaXJjdW1zdGFu
Y2VzLiBUaGUgdGltZSBsaW1pdCBpcyBzdWdnZXN0ZWQgdG8gYmUgMS41LTJ4IHRoZSB0aW1lIHNw
ZW50IGluIGEgbm9ybWFsIHJ1bi4KICogKipjb3VudCoqOiB0aGUgbnVtYmVyIG9mIHRpbWVzIHlv
dSB3YW50IHRvIHJ1biBiZW5jaG1hcmsKICogKipiZW5jaG1hcmtfYnVpbGRlcioqOiAgYnVpbGRl
ciBvZiB0aGUgYmVuY2htYXJrIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciBhcnJhbmdpbmcgYmVu
Y2htYXJrIGJlZm9yZSB0aGUgd2ViIHNlcnZlciBzZXJ2aW5nIHRoZSBkaXJlY3RvcnkuIEluIG1v
c3QgY2FzZSwgJ0dlbmVyaWNCZW5jaG1hcmtIYW5kbGVyJyBpcyBzdWZmaWNpZW50LiBJdCBjb3Bp
ZXMgdGhlIGJlbmNobWFyayB0byBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgYW5kIGFwcGxpZXMgcGF0
Y2ggdG8gYmVuY2htYXJrLiBJZiB5b3UgaGF2ZSBzcGVjaWFsIHJlcXVpcmVtZW50LCB5b3UgY291
bGQgZGVzaWduIHlvdXIgb3duIGJlbmNobWFyayBoYW5kbGUsIGp1c3QgbGlrZSB0aGUgJ0pldFN0
cmVhbUJlbmNobWFya0hhbmRsZScgaW4gdGhpcyBleGFtcGxlLgotKiAqKm9yaWdpbmFsX2JlbmNo
bWFyayoqOiBwYXRoIG9mIGJlbmNobWFyaywgYSByZWxhdGl2ZSBwYXRoIHRvIHRoZSByb290IG9m
IHRoaXMgcHJvamVjdCAoJ2JlbmNobWFya19ydW5uZXInIGRpcmVjdG9yeSkKKyogKipsb2NhbF9j
b3B5Kio6IHBhdGggb2YgYmVuY2htYXJrLCBhIHJlbGF0aXZlIHBhdGggdG8gdGhlIHJvb3Qgb2Yg
dGhpcyBwcm9qZWN0ICgnYmVuY2htYXJrX3J1bm5lcicgZGlyZWN0b3J5KQorKiAqKnJlbW90ZV9h
cmNoaXZlKio6ICgqKk9QVElPTkFMKiopIFVSTCBvZiB0aGUgcmVtb3RlIChodHRwL2h0dHBzKSBa
SVAgZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSBiZW5jaG1hcmsuCiAqICoqYmVuY2htYXJrX3BhdGgq
KjogKCoqT1BUSU9OQUwqKikgcGF0aCBvZiBwYXRjaCwgYSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBy
b290IG9mIHRoaXMgcHJvamVjdCAoJ2JlbmNobWFya19ydW5uZXInIGRpcmVjdG9yeSkKLSogKipl
bnRyeV9wb2ludCoqOiB0aGUgcmVsYXRpdmUgdXJsIHlvdSB3YW50IGJyb3dzZXIgdG8gbGF1bmNo
IChhIHJlbGF0aXZlIHBhdGggdG8gdGhlIHdlYlJvb3QpCisqICoqZW50cnlfcG9pbnQqKjogdGhl
IHJlbGF0aXZlIHVybCB5b3Ugd2FudCBicm93c2VyIHRvIGxhdW5jaCAoYSByZWxhdGl2ZSBwYXRo
IHRvIHRoZSBiZW5jaG1hcmsgZGlyZWN0b3J5KQogKiAqKm91dHB1dF9maWxlKio6IHNwZWNpZnkg
dGhlIG91dHB1dCBmaWxlLCB0aGlzIGNhbiBiZSBvdmVyd3JpdHRlbiBieSBzcGVjaWZ5aW5nICct
LW91dHB1dC1maWxlJyB3aGlsZSBpbnZva2luZyBydW4tYmVuY2htYXJrIHNjcmlwdAogCiAjIyMg
SG93IHRvIGltcG9ydCBhIGJlbmNobWFyawpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2JlbmNobWFya19idWlsZGVy
cy5qc29uIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFy
a19idWlsZGVyL2JlbmNobWFya19idWlsZGVycy5qc29uCmluZGV4IGI4ZmM5MzJlNmU5ZGU1YTEx
NGFkZjhjMGUwYTU2MGRjMzVlNDEwNTYuLjFmNGJkZjNjZjhmYTAyMmJkNjA1NGIxYjk2YTBhNjRl
N2QwM2QzMWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1
bm5lci9iZW5jaG1hcmtfYnVpbGRlci9iZW5jaG1hcmtfYnVpbGRlcnMuanNvbgorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvYmVu
Y2htYXJrX2J1aWxkZXJzLmpzb24KQEAgLTIsOSArMiw1IEBACiAgICAgIkdlbmVyaWNCZW5jaG1h
cmtCdWlsZGVyIjogewogICAgICAgICAiZmlsZVBhdGgiOiAiYmVuY2htYXJrX2J1aWxkZXIuZ2Vu
ZXJpY19iZW5jaG1hcmtfYnVpbGRlciIsCiAgICAgICAgICJtb2R1bGVOYW1lIjogIkdlbmVyaWNC
ZW5jaG1hcmtCdWlsZGVyIgotICAgIH0sCi0gICAgIkpldFN0cmVhbUJlbmNobWFya0J1aWxkZXIi
OiB7Ci0gICAgICAgICJmaWxlUGF0aCI6ICJiZW5jaG1hcmtfYnVpbGRlci5qZXRzdHJlYW1fYmVu
Y2htYXJrX2J1aWxkZXIiLAotICAgICAgICAibW9kdWxlTmFtZSI6ICJKZXRTdHJlYW1CZW5jaG1h
cmtCdWlsZGVyIgogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
YmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfYnVpbGRlci9nZW5lcmljX2JlbmNobWFya19idWls
ZGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFy
a19idWlsZGVyL2dlbmVyaWNfYmVuY2htYXJrX2J1aWxkZXIucHkKaW5kZXggNmFjMjZmMzRhYWRk
M2JmNjA2ODUwOGYzNzgzYWY1NzUwNjkyYmY1NS4uMDEwY2Q5OTY0YmM5MTE4NDNmOWE2MWQ3ZDUx
OWZiMGY4YTZkNzI3MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1h
cmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2dlbmVyaWNfYmVuY2htYXJrX2J1aWxkZXIucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19i
dWlsZGVyL2dlbmVyaWNfYmVuY2htYXJrX2J1aWxkZXIucHkKQEAgLTMsOSArMywxMSBAQAogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IG9zCitpbXBvcnQgdXJsbGliCiBp
bXBvcnQgc2h1dGlsCiBpbXBvcnQgc3VicHJvY2VzcwogCitmcm9tIHppcGZpbGUgaW1wb3J0IFpp
cEZpbGUKIGZyb20gd2Via2l0cHkuYmVuY2htYXJrX3J1bm5lci51dGlscyBpbXBvcnQgZ2V0UGF0
aEZyb21Qcm9qZWN0Um9vdCwgZm9yY2VSZW1vdmUKIAogCkBAIC0xNCwyNyArMTYsNjEgQEAgX2xv
ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCiBjbGFzcyBHZW5lcmljQmVuY2htYXJr
QnVpbGRlcihvYmplY3QpOgogCi0gICAgZGVmIHByZXBhcmUoc2VsZiwgYmVuY2htYXJrUGF0aCwg
cGF0Y2gpOgotICAgICAgICBzZWxmLl9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKGJlbmNobWFya1Bh
dGgpCi0gICAgICAgIHJldHVybiBzZWxmLl9hcHBseVBhdGNoKHBhdGNoKQorICAgIGRlZiBwcmVw
YXJlKHNlbGYsIG5hbWUsIGJlbmNobWFya1BhdGgsIGFyY2hpdmVVUkwsIHBhdGNoLCBjcmVhdGVT
Y3JpcHQpOgorICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCisgICAgICAgIHNlbGYud2ViUm9vdCA9
IHRlbXBmaWxlLm1rZHRlbXAoKQorICAgICAgICBzZWxmLmRlc3QgPSBvcy5wYXRoLmpvaW4oc2Vs
Zi53ZWJSb290LCBzZWxmLm5hbWUpCisgICAgICAgIGlmIGJlbmNobWFya1BhdGg6CisgICAgICAg
ICAgICBzZWxmLl9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKGJlbmNobWFya1BhdGgpCisgICAgICAg
IGVsc2U6CisgICAgICAgICAgICBhc3NlcnQoYXJjaGl2ZVVSTCkKKyAgICAgICAgICAgIHNlbGYu
X2ZldGNoUmVtb3RlQXJjaGl2ZShhcmNoaXZlVVJMKQorCisgICAgICAgIF9sb2cuaW5mbygnQ29w
aWVkIHRoZSBiZW5jaG1hcmsgaW50bzogJXMnICUgc2VsZi5kZXN0KQorICAgICAgICB0cnk6Cisg
ICAgICAgICAgICBpZiBjcmVhdGVTY3JpcHQ6CisgICAgICAgICAgICAgICAgc2VsZi5fcnVuQ3Jl
YXRlU2NyaXB0KGNyZWF0ZVNjcmlwdCkKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9hcHBseVBh
dGNoKHBhdGNoKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBzZWxmLmNsZWFuKCkKKyAg
ICAgICAgICAgIHJhaXNlCisKKyAgICBkZWYgX3J1bkNyZWF0ZVNjcmlwdChzZWxmLCBjcmVhdGVT
Y3JpcHQpOgorICAgICAgICBvbGRXb3JraW5nRGlyZWN0b3J5ID0gb3MuZ2V0Y3dkKCkKKyAgICAg
ICAgb3MuY2hkaXIoc2VsZi5kZXN0KQorICAgICAgICBfbG9nLmRlYnVnKCdSdW5uaW5nICVzIGlu
ICVzJyAlIChjcmVhdGVTY3JpcHQsIHNlbGYuZGVzdCkpCisgICAgICAgIGVycm9yQ29kZSA9IHN1
YnByb2Nlc3MuY2FsbChjcmVhdGVTY3JpcHQpCisgICAgICAgIG9zLmNoZGlyKG9sZFdvcmtpbmdE
aXJlY3RvcnkpCisgICAgICAgIGlmIGVycm9yQ29kZToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2Vw
dGlvbignQ2Fubm90IGNyZWF0ZSB0aGUgYmVuY2htYXJrJywgZXJyb3JDb2RlKQogCiAgICAgZGVm
IF9jb3B5QmVuY2htYXJrVG9UZW1wRGlyKHNlbGYsIGJlbmNobWFya1BhdGgpOgotICAgICAgICBz
ZWxmLndlYlJvb3QgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKLSAgICAgICAgX2xvZy5kZWJ1ZygnU2Vy
dmVyaW5nIGF0IHdlYlJvb3Q6ICVzJyAlIHNlbGYud2ViUm9vdCkKLSAgICAgICAgc2VsZi5kZXN0
ID0gb3MucGF0aC5qb2luKHNlbGYud2ViUm9vdCwgb3MucGF0aC5zcGxpdChiZW5jaG1hcmtQYXRo
KVsxXSkKICAgICAgICAgc2h1dGlsLmNvcHl0cmVlKGdldFBhdGhGcm9tUHJvamVjdFJvb3QoYmVu
Y2htYXJrUGF0aCksIHNlbGYuZGVzdCkKIAorICAgIGRlZiBfZmV0Y2hSZW1vdGVBcmNoaXZlKHNl
bGYsIGFyY2hpdmVVUkwpOgorICAgICAgICBhcmNoaXZlUGF0aCA9IG9zLnBhdGguam9pbihzZWxm
LndlYlJvb3QsICdhcmNoaXZlLnppcCcpCisgICAgICAgIF9sb2cuaW5mbygnRG93bmxvYWRpbmcg
JXMgdG8gJXMnICUgKGFyY2hpdmVVUkwsIGFyY2hpdmVQYXRoKSkKKyAgICAgICAgdXJsbGliLnVy
bHJldHJpZXZlKGFyY2hpdmVVUkwsIGFyY2hpdmVQYXRoKQorCisgICAgICAgIHdpdGggWmlwRmls
ZShhcmNoaXZlUGF0aCwgJ3InKSBhcyBhcmNoaXZlOgorICAgICAgICAgICAgYXJjaGl2ZS5leHRy
YWN0YWxsKHNlbGYuZGVzdCkKKworICAgICAgICB1bmFyY2hpdmVkRmlsZXMgPSBmaWx0ZXIobGFt
YmRhIG5hbWU6IG5vdCBuYW1lLnN0YXJ0c3dpdGgoJy4nKSwgb3MubGlzdGRpcihzZWxmLmRlc3Qp
KQorICAgICAgICBpZiBsZW4odW5hcmNoaXZlZEZpbGVzKSA9PSAxOgorICAgICAgICAgICAgZmly
c3RGaWxlID0gb3MucGF0aC5qb2luKHNlbGYuZGVzdCwgdW5hcmNoaXZlZEZpbGVzWzBdKQorICAg
ICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihmaXJzdEZpbGUpOgorICAgICAgICAgICAgICAgIHNo
dXRpbC5tb3ZlKGZpcnN0RmlsZSwgc2VsZi53ZWJSb290KQorICAgICAgICAgICAgICAgIG9zLnJl
bmFtZShvcy5wYXRoLmpvaW4oc2VsZi53ZWJSb290LCB1bmFyY2hpdmVkRmlsZXNbMF0pLCBzZWxm
LmRlc3QpCisKICAgICBkZWYgX2FwcGx5UGF0Y2goc2VsZiwgcGF0Y2gpOgogICAgICAgICBpZiBu
b3QgcGF0Y2g6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi53ZWJSb290CiAgICAgICAgIG9sZFdv
cmtpbmdEaXJlY3RvcnkgPSBvcy5nZXRjd2QoKQotICAgICAgICBvcy5jaGRpcihzZWxmLndlYlJv
b3QpCisgICAgICAgIG9zLmNoZGlyKHNlbGYuZGVzdCkKICAgICAgICAgZXJyb3JDb2RlID0gc3Vi
cHJvY2Vzcy5jYWxsKFsncGF0Y2gnLCAnLXAxJywgJy1mJywgJy1pJywgZ2V0UGF0aEZyb21Qcm9q
ZWN0Um9vdChwYXRjaCldKQogICAgICAgICBvcy5jaGRpcihvbGRXb3JraW5nRGlyZWN0b3J5KQog
ICAgICAgICBpZiBlcnJvckNvZGU6Ci0gICAgICAgICAgICBfbG9nLmVycm9yKCdDYW5ub3QgYXBw
bHkgcGF0Y2gsIHdpbGwgc2tpcCBjdXJyZW50IGJlbmNobWFya1BhdGgnKQotICAgICAgICAgICAg
c2VsZi5jbGVhbigpCi0gICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgcmFpc2Ug
RXhjZXB0aW9uKCdDYW5ub3QgYXBwbHkgcGF0Y2gsIHdpbGwgc2tpcCBjdXJyZW50IGJlbmNobWFy
a1BhdGgnKQogICAgICAgICByZXR1cm4gc2VsZi53ZWJSb290CiAKICAgICBkZWYgY2xlYW4oc2Vs
Zik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
YmVuY2htYXJrX2J1aWxkZXIvamV0c3RyZWFtX2JlbmNobWFya19idWlsZGVyLnB5IGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19idWlsZGVyL2pldHN0
cmVhbV9iZW5jaG1hcmtfYnVpbGRlci5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
M2Q5NThlMzRkYjMzMTdhMDdiODVmZTk1NjNmNWUxMTk5MDJiZjg2Zi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jl
bmNobWFya19ydW5uZXIvYmVuY2htYXJrX2J1aWxkZXIvamV0c3RyZWFtX2JlbmNobWFya19idWls
ZGVyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uCi0KLWltcG9ydCBsb2dnaW5nCi1pbXBvcnQgb3MKLWltcG9ydCBzdWJwcm9jZXNzCi0KLWZy
b20gZ2VuZXJpY19iZW5jaG1hcmtfYnVpbGRlciBpbXBvcnQgR2VuZXJpY0JlbmNobWFya0J1aWxk
ZXIKLQotCi1fbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCi0KLQotY2xhc3MgSmV0
U3RyZWFtQmVuY2htYXJrQnVpbGRlcihHZW5lcmljQmVuY2htYXJrQnVpbGRlcik6Ci0KLSAgICBk
ZWYgcHJlcGFyZShzZWxmLCBiZW5jaG1hcmtQYXRoLCBwYXRjaCk6Ci0gICAgICAgIHN1cGVyKHNl
bGYuX19jbGFzc19fLCBzZWxmKS5fY29weUJlbmNobWFya1RvVGVtcERpcihiZW5jaG1hcmtQYXRo
KQotICAgICAgICBzZWxmLl9ydW5DcmVhdGVTY3JpcHQoKQotICAgICAgICByZXR1cm4gc3VwZXIo
c2VsZi5fX2NsYXNzX18sIHNlbGYpLl9hcHBseVBhdGNoKHBhdGNoKQotCi0gICAgZGVmIF9ydW5D
cmVhdGVTY3JpcHQoc2VsZik6Ci0gICAgICAgIG9sZFdvcmtpbmdEaXJlY3RvcnkgPSBvcy5nZXRj
d2QoKQotICAgICAgICBvcy5jaGRpcihzZWxmLmRlc3QpCi0gICAgICAgIF9sb2cuZGVidWcoc2Vs
Zi5kZXN0KQotICAgICAgICBlcnJvckNvZGUgPSBzdWJwcm9jZXNzLmNhbGwoWydydWJ5JywgJ2Ny
ZWF0ZS5yYiddKQotICAgICAgICBvcy5jaGRpcihvbGRXb3JraW5nRGlyZWN0b3J5KQotICAgICAg
ICBpZiBlcnJvckNvZGU6Ci0gICAgICAgICAgICBfbG9nLmVycm9yKCdDYW5ub3QgY3JlYXRlIEpl
dFN0cmVhbSBCZW5jaG1hcmsnKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQppbmRleCAxNzkyODdkN2Ey
MGIzODMwNGRlZGRjMTAwMTZjZDg0OGNjZDY0MWEwLi5lNDUwOTEwNjFhMjE3NTg2YjhlOTBmN2U4
M2VmNjllYzYzZTgwODljIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weQpAQCAtMjMsMTIgKzIzLDE1
IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogY2xhc3MgQmVuY2htYXJr
UnVubmVyKG9iamVjdCk6CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGxhbkZpbGUsIGJ1aWxk
RGlyLCBvdXRwdXRGaWxlLCBwbGF0Zm9ybSwgYnJvd3Nlcik6CisgICAgZGVmIF9faW5pdF9fKHNl
bGYsIHBsYW5GaWxlLCBsb2NhbENvcHksIGJ1aWxkRGlyLCBvdXRwdXRGaWxlLCBwbGF0Zm9ybSwg
YnJvd3Nlcik6CiAgICAgICAgIF9sb2cuaW5mbygnSW5pdGlhbGl6aW5nIGJlbmNobWFyayBydW5u
aW5nJykKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcGxhbkZpbGUgPSBzZWxmLl9maW5kUGxh
bkZpbGUocGxhbkZpbGUpCiAgICAgICAgICAgICB3aXRoIG9wZW4ocGxhbkZpbGUsICdyJykgYXMg
ZnA6CisgICAgICAgICAgICAgICAgc2VsZi5wbGFuTmFtZSA9IG9zLnBhdGguc3BsaXQob3MucGF0
aC5zcGxpdGV4dChwbGFuRmlsZSlbMF0pWzFdCiAgICAgICAgICAgICAgICAgc2VsZi5wbGFuID0g
anNvbi5sb2FkKGZwKQorICAgICAgICAgICAgICAgIGlmIGxvY2FsQ29weToKKyAgICAgICAgICAg
ICAgICAgICAgc2VsZi5wbGFuWydsb2NhbF9jb3B5J10gPSBsb2NhbENvcHkKICAgICAgICAgICAg
ICAgICBzZWxmLmJyb3dzZXJEcml2ZXIgPSBCcm93c2VyRHJpdmVyRmFjdG9yeS5jcmVhdGUoW3Bs
YXRmb3JtLCBicm93c2VyXSkKICAgICAgICAgICAgICAgICBzZWxmLmh0dHBTZXJ2ZXJEcml2ZXIg
PSBIVFRQU2VydmVyRHJpdmVyRmFjdG9yeS5jcmVhdGUoW3NlbGYucGxhblsnaHR0cF9zZXJ2ZXJf
ZHJpdmVyJ11dKQogICAgICAgICAgICAgICAgIHNlbGYuYnVpbGREaXIgPSBvcy5wYXRoLmFic3Bh
dGgoYnVpbGREaXIpIGlmIGJ1aWxkRGlyIGVsc2UgTm9uZQpAQCAtNTYsMTIgKzU5LDE5IEBAIGNs
YXNzIEJlbmNobWFya1J1bm5lcihvYmplY3QpOgogICAgICAgICBfbG9nLmluZm8oJ1N0YXJ0IGEg
bmV3IGJlbmNobWFyaycpCiAgICAgICAgIHJlc3VsdHMgPSBbXQogICAgICAgICBiZW5jaG1hcmtC
dWlsZGVyID0gQmVuY2htYXJrQnVpbGRlckZhY3RvcnkuY3JlYXRlKFtzZWxmLnBsYW5bJ2JlbmNo
bWFya19idWlsZGVyJ11dKQotICAgICAgICB3ZWJSb290ID0gYmVuY2htYXJrQnVpbGRlci5wcmVw
YXJlKHNlbGYucGxhblsnb3JpZ2luYWxfYmVuY2htYXJrJ10sIHNlbGYucGxhblsnYmVuY2htYXJr
X3BhdGNoJ10gaWYgJ2JlbmNobWFya19wYXRjaCcgaW4gc2VsZi5wbGFuIGVsc2UgTm9uZSkKKwor
ICAgICAgICBpZiBub3Qgc2VsZi5wbGFuLmdldCgnbG9jYWxfY29weScpIGFuZCBub3Qgc2VsZi5w
bGFuLmdldCgncmVtb3RlX2FyY2hpdmUnKToKKyAgICAgICAgICAgIF9sb2cuZXJyb3IoJ0VpdGhl
ciBsb2NhbF9jb3B5IG9yIHJlbW90ZV9hcmNoaXZlIG11c3QgYmUgc3BlY2lmaWVkIGluIHRoZSBw
bGFuJykKKyAgICAgICAgICAgIHJldHVybiAyCisKKyAgICAgICAgd2ViUm9vdCA9IGJlbmNobWFy
a0J1aWxkZXIucHJlcGFyZShzZWxmLnBsYW5OYW1lLCBzZWxmLnBsYW4uZ2V0KCdsb2NhbF9jb3B5
JyksIHNlbGYucGxhbi5nZXQoJ3JlbW90ZV9hcmNoaXZlJyksCisgICAgICAgICAgICBzZWxmLnBs
YW4uZ2V0KCdiZW5jaG1hcmtfcGF0Y2gnKSwgc2VsZi5wbGFuLmdldCgnY3JlYXRlX3NjcmlwdCcp
KQogICAgICAgICBmb3IgeCBpbiB4cmFuZ2UoaW50KHNlbGYucGxhblsnY291bnQnXSkpOgogICAg
ICAgICAgICAgX2xvZy5pbmZvKCdTdGFydCB0aGUgaXRlcmF0aW9uICVkIG9mIGN1cnJlbnQgYmVu
Y2htYXJrJyAlICh4ICsgMSkpCiAgICAgICAgICAgICBzZWxmLmh0dHBTZXJ2ZXJEcml2ZXIuc2Vy
dmUod2ViUm9vdCkKICAgICAgICAgICAgIHNlbGYuYnJvd3NlckRyaXZlci5wcmVwYXJlRW52KCkK
LSAgICAgICAgICAgIHNlbGYuYnJvd3NlckRyaXZlci5sYXVuY2hVcmwodXJscGFyc2UudXJsam9p
bihzZWxmLmh0dHBTZXJ2ZXJEcml2ZXIuYmFzZVVybCgpLCBzZWxmLnBsYW5bJ2VudHJ5X3BvaW50
J10pLCBzZWxmLmJ1aWxkRGlyKQorICAgICAgICAgICAgdXJsID0gdXJscGFyc2UudXJsam9pbihz
ZWxmLmh0dHBTZXJ2ZXJEcml2ZXIuYmFzZVVybCgpLCBzZWxmLnBsYW5OYW1lICsgJy8nICsgc2Vs
Zi5wbGFuWydlbnRyeV9wb2ludCddKQorICAgICAgICAgICAgc2VsZi5icm93c2VyRHJpdmVyLmxh
dW5jaFVybCh1cmwsIHNlbGYuYnVpbGREaXIpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAg
ICAgICAgd2l0aCB0aW1lb3V0KHNlbGYucGxhblsndGltZW91dCddKToKICAgICAgICAgICAgICAg
ICAgICAgcmVzdWx0ID0ganNvbi5sb2FkcyhzZWxmLmh0dHBTZXJ2ZXJEcml2ZXIuZmV0Y2hSZXN1
bHQoKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9kYXRhL3BhdGNoZXMvSmV0U3RyZWFtLnBhdGNoIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9KZXRTdHJlYW0ucGF0Y2gKaW5kZXggMDRiZGJl
OGMxNzczYzA2OGE4NjJhZThhYTMxMjljYjgwNjA4NGY2Yi4uMjAwMzg0ZTEzZDZjN2FkNzI4Y2M3
ZjBmZDI4Y2JkNmZkNTcxMjkxNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9KZXRTdHJlYW0ucGF0Y2gKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9KZXRTdHJlYW0u
cGF0Y2gKQEAgLTEsNyArMSw3IEBACi1kaWZmIC0tZ2l0IGEvSmV0U3RyZWFtL0pldFN0cmVhbS0x
LjAuMS9KZXRTdHJlYW1Ecml2ZXIuanMgYi9KZXRTdHJlYW0vSmV0U3RyZWFtLTEuMC4xL0pldFN0
cmVhbURyaXZlci5qcworZGlmZiAtLWdpdCBhL0pldFN0cmVhbS0xLjAuMS9KZXRTdHJlYW1Ecml2
ZXIuanMgYi9KZXRTdHJlYW0tMS4wLjEvSmV0U3RyZWFtRHJpdmVyLmpzCiBpbmRleCA3M2VlNDIw
Li42MGY1ODdjIDEwMDY0NAotLS0tIGEvSmV0U3RyZWFtL0pldFN0cmVhbS0xLjAuMS9KZXRTdHJl
YW1Ecml2ZXIuanMKLSsrKyBiL0pldFN0cmVhbS9KZXRTdHJlYW0tMS4wLjEvSmV0U3RyZWFtRHJp
dmVyLmpzCistLS0gYS9KZXRTdHJlYW0tMS4wLjEvSmV0U3RyZWFtRHJpdmVyLmpzCisrKysgYi9K
ZXRTdHJlYW0tMS4wLjEvSmV0U3RyZWFtRHJpdmVyLmpzCiBAQCAtNDQ4LDYgKzQ0OCwxNCBAQCB2
YXIgSmV0U3RyZWFtID0gKGZ1bmN0aW9uKCkgewogIAogICAgICAgICAgcmV0dXJuIHJhd1Jlc3Vs
dHM7CkBAIC00MSwxMCArNDEsMTAgQEAgaW5kZXggNzNlZTQyMC4uNjBmNTg3YyAxMDA2NDQKICAg
ICAgfQogIAogICAgICBmdW5jdGlvbiBpdGVyYXRlKCkKLWRpZmYgLS1naXQgYS9KZXRTdHJlYW0v
SmV0U3RyZWFtLTEuMC4xL2luZGV4Lmh0bWwgYi9KZXRTdHJlYW0vSmV0U3RyZWFtLTEuMC4xL2lu
ZGV4Lmh0bWwKK2RpZmYgLS1naXQgYS9KZXRTdHJlYW0tMS4wLjEvaW5kZXguaHRtbCBiL0pldFN0
cmVhbS0xLjAuMS9pbmRleC5odG1sCiBpbmRleCBlMjc1MzVjLi4wMDEwODdkIDEwMDY0NAotLS0t
IGEvSmV0U3RyZWFtL0pldFN0cmVhbS0xLjAuMS9pbmRleC5odG1sCi0rKysgYi9KZXRTdHJlYW0v
SmV0U3RyZWFtLTEuMC4xL2luZGV4Lmh0bWwKKy0tLSBhL0pldFN0cmVhbS0xLjAuMS9pbmRleC5o
dG1sCisrKysgYi9KZXRTdHJlYW0tMS4wLjEvaW5kZXguaHRtbAogQEAgLTM0LDggKzM0LDEwIEBA
CiAgICAgIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24oKSB7IGFsbElzR29vZCA9IGZhbHNlOyB9
CiAgCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
ZGF0YS9wYXRjaGVzL0tyYWtlbi5wYXRjaCBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvS3Jha2VuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5OTI1MWQx
MTIxYmQyMDE4NWI1MjRlOTBjZjk2NmNhYTY3MTNmNjUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL0tyYWtlbi5w
YXRjaApAQCAtMCwwICsxLDQ0IEBACitkaWZmIC0tZ2l0IGEvaG9zdGVkL2tyYWtlbi0xLjEvZHJp
dmVyLmh0bWwgYi9ob3N0ZWQva3Jha2VuLTEuMS9kcml2ZXIyLmh0bWwKK2luZGV4IGJmYjJjOTQu
LjVhZDE3MDQgMTAwNjQ0CistLS0gYS9ob3N0ZWQva3Jha2VuLTEuMS9kcml2ZXIuaHRtbAorKysr
IGIvaG9zdGVkL2tyYWtlbi0xLjEvZHJpdmVyMi5odG1sCitAQCAtMTE3LDIwICsxMTcsMjggQEAg
ZnVuY3Rpb24gcmVjb3JkUmVzdWx0KHRpbWUpCisgCisgZnVuY3Rpb24gZmluaXNoKCkKKyB7Cist
ICAgIHZhciBvdXRwdXRTdHJpbmcgPSAieyI7CistICAgIG91dHB1dFN0cmluZyArPSAnInYiOiAi
a3Jha2VuLTEuMSIsICc7CisrICAgIHZhciB0ZXN0cyA9IHt9OworICAgICBmb3IgKHZhciB0ZXN0
IGluIG91dHB1dFswXSkgeworLSAgICAgICAgb3V0cHV0U3RyaW5nICs9ICciJyArIHRlc3QgKyAn
IjpbJzsKKy0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0cHV0Lmxlbmd0aDsgaSsrKSB7
CistICAgICAgICAgICAgIG91dHB1dFN0cmluZyArPSBvdXRwdXRbaV1bdGVzdF0gKyAiLCI7Cist
ICAgICAgICB9CistICAgICAgICBvdXRwdXRTdHJpbmcgPSBvdXRwdXRTdHJpbmcuc3Vic3RyaW5n
KDAsIG91dHB1dFN0cmluZy5sZW5ndGggLSAxKTsKKy0gICAgICAgIG91dHB1dFN0cmluZyArPSAi
XSwiOworKyAgICAgICAgdmFyIHZhbHVlcyA9IG5ldyBBcnJheShvdXRwdXQubGVuZ3RoKTsKKysg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3V0cHV0Lmxlbmd0aDsgaSsrKQorKyAgICAgICAg
ICAgIHZhbHVlc1tpXSA9IG91dHB1dFtpXVt0ZXN0XTsKKysgICAgICAgIHRlc3RzW3Rlc3RdID0g
eyJtZXRyaWNzIjogeyJjdXJyZW50IjogdmFsdWVzfX0KKyAgICAgfQorLSAgICBvdXRwdXRTdHJp
bmcgPSBvdXRwdXRTdHJpbmcuc3Vic3RyaW5nKDAsIG91dHB1dFN0cmluZy5sZW5ndGggLSAxKTsK
Ky0gICAgb3V0cHV0U3RyaW5nICs9ICJ9IjsKKyAKKy0gICAgbG9jYXRpb24gPSAicmVzdWx0cy5o
dG1sPyIgKyBlbmNvZGVVUkkob3V0cHV0U3RyaW5nKTsKKysgICAgdmFyIHJlc3VsdHMgPSBKU09O
LnN0cmluZ2lmeSh7IktyYWtlbiI6IHsibWV0cmljcyI6IHsiVGltZSI6IFsiVG90YWwiXX0sICJ0
ZXN0cyI6IHRlc3RzfX0pOworKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Cisr
ICAgIHhoci5vcGVuKCJQT1NUIiwgIi9yZXBvcnQiKTsKKysgICAgeGhyLnNldFJlcXVlc3RIZWFk
ZXIoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi9qc29uIik7CisrICAgIHhoci5zZXRSZXF1
ZXN0SGVhZGVyKCJDb250ZW50LUxlbmd0aCIsIHJlc3VsdHMubGVuZ3RoKTsKKysgICAgeGhyLnNl
dFJlcXVlc3RIZWFkZXIoIkNvbm5lY3Rpb24iLCAiY2xvc2UiKTsKKysgICAgeGhyLm9ucmVhZHlz
dGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworKyAgICBpZih4aHIucmVhZHlTdGF0ZSA9PSBYTUxI
dHRwUmVxdWVzdC5ET05FICYmIHhoci5zdGF0dXMgPT0gMjAwKSB7CisrICAgICAgICAgICAgY2xv
c2VSZXF1ZXN0ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisrICAgICAgICAgICAgY2xvc2VSZXF1
ZXN0Lm9wZW4oIkdFVCIsICIvc2h1dGRvd24iKTsKKysgICAgICAgICAgICBjbG9zZVJlcXVlc3Qu
c2VuZCgpOworKyAgICAgICAgfQorKyAgICB9CisrICAgIHhoci5zZW5kKHJlc3VsdHMpOworIH0K
KyAKKyA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvT2N0YW5lLnBhdGNoIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9PY3RhbmUucGF0Y2gKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmUwNWUzNjY5MTZiZGU3YTQ5MTc1YjY3NTM1MzdkNGE2NmVjNDBlZgotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNo
ZXMvT2N0YW5lLnBhdGNoCkBAIC0wLDAgKzEsNjggQEAKK2RpZmYgLS1naXQgYS9iYXNlLmpzIGIv
YmFzZS5qcworaW5kZXggOWQ2ZTNkZS4uY2RkZjgwMAorLS0tIGEvYmFzZS5qcworKysrIGIvYmFz
ZS5qcworQEAgLTE2Nyw3ICsxNjcsNyBAQCBCZW5jaG1hcmtTdWl0ZS5SdW5TdWl0ZXMgPSBmdW5j
dGlvbihydW5uZXIsIHNraXBCZW5jaG1hcmtzKSB7CisgICAgIGlmIChydW5uZXIuTm90aWZ5U2Nv
cmUpIHsKKyAgICAgICB2YXIgc2NvcmUgPSBCZW5jaG1hcmtTdWl0ZS5HZW9tZXRyaWNNZWFuKEJl
bmNobWFya1N1aXRlLnNjb3Jlcyk7CisgICAgICAgdmFyIGZvcm1hdHRlZCA9IEJlbmNobWFya1N1
aXRlLkZvcm1hdFNjb3JlKDEwMCAqIHNjb3JlKTsKKy0gICAgICBydW5uZXIuTm90aWZ5U2NvcmUo
Zm9ybWF0dGVkKTsKKysgICAgICBydW5uZXIuTm90aWZ5U2NvcmUoZm9ybWF0dGVkLCAxMDAgKiBz
Y29yZSk7CisgICAgIH0KKyAgIH0KKyAgIFJ1blN0ZXAoKTsKK0BAIC0yNTAsNyArMjUwLDcgQEAg
QmVuY2htYXJrU3VpdGUucHJvdG90eXBlLk5vdGlmeVJlc3VsdCA9IGZ1bmN0aW9uKCkgeworICAg
QmVuY2htYXJrU3VpdGUuc2NvcmVzLnB1c2goc2NvcmUpOworICAgaWYgKHRoaXMucnVubmVyLk5v
dGlmeVJlc3VsdCkgeworICAgICB2YXIgZm9ybWF0dGVkID0gQmVuY2htYXJrU3VpdGUuRm9ybWF0
U2NvcmUoMTAwICogc2NvcmUpOworLSAgICB0aGlzLnJ1bm5lci5Ob3RpZnlSZXN1bHQodGhpcy5u
YW1lLCBmb3JtYXR0ZWQpOworKyAgICB0aGlzLnJ1bm5lci5Ob3RpZnlSZXN1bHQodGhpcy5uYW1l
LCBmb3JtYXR0ZWQsIDEwMCAqIHNjb3JlKTsKKyAgIH0KKyAgIGlmICh0aGlzLnJlZmVyZW5jZS5s
ZW5ndGggPT0gMikgeworICAgICB2YXIgbWVhbkxhdGVuY3kgPSBCZW5jaG1hcmtTdWl0ZS5HZW9t
ZXRyaWNNZWFuTGF0ZW5jeSh0aGlzLnJlc3VsdHMpOworQEAgLTI1OSw3ICsyNTksNyBAQCBCZW5j
aG1hcmtTdWl0ZS5wcm90b3R5cGUuTm90aWZ5UmVzdWx0ID0gZnVuY3Rpb24oKSB7CisgICAgICAg
QmVuY2htYXJrU3VpdGUuc2NvcmVzLnB1c2goc2NvcmVMYXRlbmN5KTsKKyAgICAgICBpZiAodGhp
cy5ydW5uZXIuTm90aWZ5UmVzdWx0KSB7CisgICAgICAgICB2YXIgZm9ybWF0dGVkTGF0ZW5jeSA9
IEJlbmNobWFya1N1aXRlLkZvcm1hdFNjb3JlKDEwMCAqIHNjb3JlTGF0ZW5jeSkKKy0gICAgICAg
IHRoaXMucnVubmVyLk5vdGlmeVJlc3VsdCh0aGlzLm5hbWUgKyAiTGF0ZW5jeSIsIGZvcm1hdHRl
ZExhdGVuY3kpOworKyAgICAgICAgdGhpcy5ydW5uZXIuTm90aWZ5UmVzdWx0KHRoaXMubmFtZSAr
ICJMYXRlbmN5IiwgZm9ybWF0dGVkTGF0ZW5jeSwgMTAwICogc2NvcmVMYXRlbmN5KTsKKyAgICAg
ICB9CisgICAgIH0KKyAgIH0KK2luZGV4IDc3Y2JkZmIuLmZlNTZmYzQKKy0tLSBhL2luZGV4Lmh0
bWwKKysrKyBiL2luZGV4Lmh0bWwKK0BAIC01Nyw3ICs1Nyw5IEBACisgICAgIH0pOworICAgfQor
IAorLSAgZnVuY3Rpb24gQWRkUmVzdWx0KG5hbWUsIHJlc3VsdCkgeworKyAgdmFyIG9jdGFuZVN1
YnRlc3RzID0ge307CisrICBmdW5jdGlvbiBBZGRSZXN1bHQobmFtZSwgcmVzdWx0LCByYXdTY29y
ZSkgeworKyAgICBvY3RhbmVTdWJ0ZXN0c1tuYW1lXSA9IHsibWV0cmljcyI6IHsiU2NvcmUiOiB7
ImN1cnJlbnQiOiBbcmF3U2NvcmVdfX19OworICAgICBjb25zb2xlLmxvZyhuYW1lICsgJzogJyAr
IHJlc3VsdCk7CisgICAgIHZhciBib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiUmVzdWx0
LSIgKyBuYW1lKTsKKyAgICAgYm94LmlubmVySFRNTCA9IHJlc3VsdDsKK0BAIC03NSw3ICs3Nywy
MSBAQAorICAgICBzdWNjZXNzID0gZmFsc2U7CisgICB9CisgCistICBmdW5jdGlvbiBBZGRTY29y
ZShzY29yZSkgeworKyAgZnVuY3Rpb24gQWRkU2NvcmUoc2NvcmUsIHJhd1Njb3JlKSB7CisrICAg
IHZhciByZXN1bHRzID0gSlNPTi5zdHJpbmdpZnkoeyJPY3RhbmUiOiB7Im1ldHJpY3MiOiB7IlNj
b3JlIjogeyJjdXJyZW50IjogW3Jhd1Njb3JlXX19LCAidGVzdHMiOiBvY3RhbmVTdWJ0ZXN0c319
KTsKKysgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOworKyAgICB4aHIub3Blbigi
UE9TVCIsICIvcmVwb3J0Iik7CisrICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5
cGUiLCAiYXBwbGljYXRpb24vanNvbiIpOworKyAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29u
dGVudC1MZW5ndGgiLCByZXN1bHRzLmxlbmd0aCk7CisrICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVy
KCJDb25uZWN0aW9uIiwgImNsb3NlIik7CisrICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBm
dW5jdGlvbigpIHsKKysgICAgaWYoeGhyLnJlYWR5U3RhdGUgPT0gWE1MSHR0cFJlcXVlc3QuRE9O
RSAmJiB4aHIuc3RhdHVzID09IDIwMCkgeworKyAgICAgICAgICAgIGNsb3NlUmVxdWVzdCA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOworKyAgICAgICAgICAgIGNsb3NlUmVxdWVzdC5vcGVuKCJHRVQi
LCAiL3NodXRkb3duIik7CisrICAgICAgICAgICAgY2xvc2VSZXF1ZXN0LnNlbmQoKTsKKysgICAg
ICAgIH0KKysgICAgfQorKyAgICB4aHIuc2VuZChyZXN1bHRzKTsKKyAgICAgdmFyIHN0YXR1cyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluLWJhbm5lciIpOworICAgICBpZiAoc3VjY2Vz
cykgeworICAgICAgIHN0YXR1cy5pbm5lckhUTUwgPSAiT2N0YW5lIFNjb3JlOiAiICsgc2NvcmU7
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0
YS9wYXRjaGVzL1NwZWVkb21ldGVyLnBhdGNoIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5j
aG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9TcGVlZG9tZXRlci5wYXRjaAppbmRleCBmNDA5MmQ1
OWZlNjA2YWYxNzVkODM5MjA2YTJlOWQ0NWQ2M2JiOTFiLi4zMDhmOWMxYjE0ODY2ZmYwMDhjMDk3
MWQ5YzIwYzg4YWViOTkyYWI5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jl
bmNobWFya19ydW5uZXIvZGF0YS9wYXRjaGVzL1NwZWVkb21ldGVyLnBhdGNoCisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BhdGNoZXMvU3BlZWRvbWV0
ZXIucGF0Y2gKQEAgLTEsNyArMSw3IEBACi1kaWZmIC0tZ2l0IGEvU3BlZWRvbWV0ZXIvRnVsbC5o
dG1sIGIvU3BlZWRvbWV0ZXIvRnVsbC5odG1sCitkaWZmIC0tZ2l0IGEvRnVsbC5odG1sIGIvRnVs
bC5odG1sCiBpbmRleCA0MTliOWYyLi4wYjA0YzY5IDEwMDY0NAotLS0tIGEvU3BlZWRvbWV0ZXIv
RnVsbC5odG1sCi0rKysgYi9TcGVlZG9tZXRlci9GdWxsLmh0bWwKKy0tLSBhL0Z1bGwuaHRtbAor
KysrIGIvRnVsbC5odG1sCiBAQCAtNyw3ICs3LDYgQEAKICAgICAgPHNjcmlwdCBzcmM9InJlc291
cmNlcy9tYWluLmpzIiBkZWZlcj48L3NjcmlwdD4KICAgICAgPHNjcmlwdCBzcmM9InJlc291cmNl
cy9iZW5jaG1hcmstcnVubmVyLmpzIiBkZWZlcj48L3NjcmlwdD4KQEAgLTEwLDEwICsxMCwxMCBA
QCBpbmRleCA0MTliOWYyLi4wYjA0YzY5IDEwMDY0NAogICAgICA8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3Rlc3RzLmpzIiBkZWZlcj48L3NjcmlwdD4KICA8L2hlYWQ+CiAgPGJvZHk+Ci1kaWZmIC0t
Z2l0IGEvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL2JlbmNobWFyay1yZXBvcnQuanMgYi9TcGVlZG9t
ZXRlci9yZXNvdXJjZXMvYmVuY2htYXJrLXJlcG9ydC5qcworZGlmZiAtLWdpdCBhL3Jlc291cmNl
cy9iZW5jaG1hcmstcmVwb3J0LmpzIGIvcmVzb3VyY2VzL2JlbmNobWFyay1yZXBvcnQuanMKIGlu
ZGV4IGM0YjRjNjQuLjg3NGY1OTcgMTAwNjQ0Ci0tLS0gYS9TcGVlZG9tZXRlci9yZXNvdXJjZXMv
YmVuY2htYXJrLXJlcG9ydC5qcwotKysrIGIvU3BlZWRvbWV0ZXIvcmVzb3VyY2VzL2JlbmNobWFy
ay1yZXBvcnQuanMKKy0tLSBhL3Jlc291cmNlcy9iZW5jaG1hcmstcmVwb3J0LmpzCisrKysgYi9y
ZXNvdXJjZXMvYmVuY2htYXJrLXJlcG9ydC5qcwogQEAgLTEsMzAgKzEsMjYgQEAKICAvLyBUaGlz
IGZpbGUgY2FuIGJlIGN1c3RvbWl6ZWQgdG8gcmVwb3J0IHJlc3VsdHMgYXMgbmVlZGVkLgogIApk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEv
cGF0Y2hlcy9TdW5TcGlkZXIucGF0Y2ggYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFy
a19ydW5uZXIvZGF0YS9wYXRjaGVzL1N1blNwaWRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jN2Y3YzAw
MTVkZWVkZjJhMDQ5ZGEwMDI0Y2UyMTNlYjJjMjlhYzdkCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGF0Y2hlcy9TdW5TcGlk
ZXIucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorZGlmZiAtLWdpdCBhL2hvc3RlZC9zdW5zcGlkZXIt
MS4wLjEvZHJpdmVyLmh0bWwgYi9ob3N0ZWQvc3Vuc3BpZGVyLTEuMC4xL2RyaXZlci5odG1sCitp
bmRleCAwNzAwYmIyLi4yZGRlMDFhIDEwMDY0NAorLS0tIGEvaG9zdGVkL3N1bnNwaWRlci0xLjAu
MS9kcml2ZXIuaHRtbAorKysrIGIvaG9zdGVkL3N1bnNwaWRlci0xLjAuMS9kcml2ZXIuaHRtbAor
QEAgLTEwMywyMyArMTAzLDI4IEBAIGZ1bmN0aW9uIHJlY29yZFJlc3VsdCh0aW1lKQorIAorIGZ1
bmN0aW9uIGZpbmlzaCgpCisgeworLSAgICB2YXIgb3V0cHV0U3RyaW5nID0gInsiOworLSAgICBv
dXRwdXRTdHJpbmcgKz0gJyJ2IjogInN1bnNwaWRlci0xLjAuMSIsICc7CisrICAgIHZhciB0ZXN0
cyA9IHt9OworICAgICBmb3IgKHZhciB0ZXN0IGluIG91dHB1dFswXSkgeworLSAgICAgICAgb3V0
cHV0U3RyaW5nICs9ICciJyArIHRlc3QgKyAnIjpbJzsKKy0gICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgb3V0cHV0Lmxlbmd0aDsgaSsrKSB7CistICAgICAgICAgICAgdmFyIHRpbWUgPSBvdXRw
dXRbaV1bdGVzdF07CistICAgICAgICAgICAgaWYgKHRpbWUgIT0gdGltZSkKKy0gICAgICAgICAg
ICAgICAgdGltZSA9ICJcIk5hTlwiIjsKKy0gICAgICAgICAgICBvdXRwdXRTdHJpbmcgKz0gdGlt
ZSArICIsIjsKKy0gICAgICAgIH0KKy0gICAgICAgIG91dHB1dFN0cmluZyA9IG91dHB1dFN0cmlu
Zy5zdWJzdHJpbmcoMCwgb3V0cHV0U3RyaW5nLmxlbmd0aCAtIDEpOworLSAgICAgICAgb3V0cHV0
U3RyaW5nICs9ICJdLCI7CisrICAgICAgICB2YXIgdmFsdWVzID0gbmV3IEFycmF5KG91dHB1dC5s
ZW5ndGgpOworKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvdXRwdXQubGVuZ3RoOyBpKysp
CisrICAgICAgICAgICAgdmFsdWVzW2ldID0gb3V0cHV0W2ldW3Rlc3RdOworKyAgICAgICAgdGVz
dHNbdGVzdF0gPSB7Im1ldHJpY3MiOiB7IlRpbWUiOiB7ImN1cnJlbnQiOiBbdmFsdWVzXX19fQor
ICAgICB9CistICAgIG91dHB1dFN0cmluZyA9IG91dHB1dFN0cmluZy5zdWJzdHJpbmcoMCwgb3V0
cHV0U3RyaW5nLmxlbmd0aCAtIDEpOworLSAgICBvdXRwdXRTdHJpbmcgKz0gIn0iOworIAorLSAg
ICBsb2NhdGlvbiA9ICJyZXN1bHRzLmh0bWw/IiArIGVuY29kZVVSSShvdXRwdXRTdHJpbmcpOwor
KyAgICB2YXIgcmVzdWx0cyA9IEpTT04uc3RyaW5naWZ5KHsiU3VuU3BpZGVyIjogeyJtZXRyaWNz
IjogeyJUaW1lIjogWyJUb3RhbCJdfSwgInRlc3RzIjogdGVzdHN9fSk7CisrICAgIHZhciB4aHIg
PSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKysgICAgeGhyLm9wZW4oIlBPU1QiLCAiL3JlcG9ydCIp
OworKyAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwgImFwcGxpY2F0aW9u
L2pzb24iKTsKKysgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtTGVuZ3RoIiwgcmVz
dWx0cy5sZW5ndGgpOworKyAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiQ29ubmVjdGlvbiIsICJj
bG9zZSIpOworKyAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7CisrICAg
IGlmKHhoci5yZWFkeVN0YXRlID09IFhNTEh0dHBSZXF1ZXN0LkRPTkUgJiYgeGhyLnN0YXR1cyA9
PSAyMDApIHsKKysgICAgICAgICAgICBjbG9zZVJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo
KTsKKysgICAgICAgICAgICBjbG9zZVJlcXVlc3Qub3BlbigiR0VUIiwgIi9zaHV0ZG93biIpOwor
KyAgICAgICAgICAgIGNsb3NlUmVxdWVzdC5zZW5kKCk7CisrICAgICAgICB9CisrICAgIH0KKysg
ICAgeGhyLnNlbmQocmVzdWx0cyk7CisgfQorIAorIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvamV0c3RyZWFt
LnBsYW4gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFu
cy9qZXRzdHJlYW0ucGxhbgppbmRleCBiNmU3ZTE3Yjc0YWIyZTJkNjEwMjgzMzE5MjE1ZDdkNTM5
MTE1M2M4Li5lOWI0MjJiMTM4NzRmOWUxMzZiZDUzNzk2ZDAyMThkMjc1OTViMjkzIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFucy9q
ZXRzdHJlYW0ucGxhbgorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvZGF0YS9wbGFucy9qZXRzdHJlYW0ucGxhbgpAQCAtMiw5ICsyLDEwIEBACiAgICAgImh0dHBf
c2VydmVyX2RyaXZlciI6ICJTaW1wbGVIVFRQU2VydmVyRHJpdmVyIiwgCiAgICAgInRpbWVvdXQi
IDogNjAwLAogICAgICJjb3VudCI6IDUsCi0gICAgImJlbmNobWFya19idWlsZGVyIjogIkpldFN0
cmVhbUJlbmNobWFya0J1aWxkZXIiLAotICAgICJvcmlnaW5hbF9iZW5jaG1hcmsiOiAiLi4vLi4v
Li4vLi4vUGVyZm9ybWFuY2VUZXN0cy9KZXRTdHJlYW0iLAorICAgICJiZW5jaG1hcmtfYnVpbGRl
ciI6ICJHZW5lcmljQmVuY2htYXJrQnVpbGRlciIsCisgICAgInJlbW90ZV9hcmNoaXZlIjogIi4u
Ly4uLy4uLy4uL1BlcmZvcm1hbmNlVGVzdHMvSmV0U3RyZWFtIiwKICAgICAiYmVuY2htYXJrX3Bh
dGNoIjogImRhdGEvcGF0Y2hlcy9KZXRTdHJlYW0ucGF0Y2giLAotICAgICJlbnRyeV9wb2ludCI6
ICJKZXRTdHJlYW0vSmV0U3RyZWFtLTEuMC4xL2luZGV4Lmh0bWwiLAorICAgICJjcmVhdGVfc2Ny
aXB0IjogWyJydWJ5IiwgImNyZWF0ZS5yYiJdLAorICAgICJlbnRyeV9wb2ludCI6ICJKZXRTdHJl
YW0tMS4wLjEvaW5kZXguaHRtbCIsCiAgICAgIm91dHB1dF9maWxlIjogImpldHN0cmVhbS5yZXN1
bHQiCiB9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvZGF0YS9wbGFucy9rcmFrZW4ucGxhbiBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9kYXRhL3BsYW5zL2tyYWtlbi5wbGFuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkOWM5YjgyYTA4
NDdhNDlhMTc4ODEzYjIxZjQwYTBjNDY4M2U1NjAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFucy9rcmFrZW4ucGxhbgpA
QCAtMCwwICsxLDExIEBACit7CisgICAgImh0dHBfc2VydmVyX2RyaXZlciI6ICJTaW1wbGVIVFRQ
U2VydmVyRHJpdmVyIiwKKyAgICAidGltZW91dCI6IDMwMCwKKyAgICAiY291bnQiOiA1LAorICAg
ICJiZW5jaG1hcmtfYnVpbGRlciI6ICJHZW5lcmljQmVuY2htYXJrQnVpbGRlciIsCisgICAgInJl
bW90ZV9hcmNoaXZlIjogImh0dHA6Ly9oZy5tb3ppbGxhLm9yZy9wcm9qZWN0cy9rcmFrZW4vYXJj
aGl2ZS90aXAuemlwIiwKKyAgICAiYmVuY2htYXJrX3BhdGNoIjogImRhdGEvcGF0Y2hlcy9LcmFr
ZW4ucGF0Y2giLAorICAgICJjcmVhdGVfc2NyaXB0IjogWyJweXRob24iLCAibWFrZS1ob3N0ZWQu
cHkiXSwKKyAgICAiZW50cnlfcG9pbnQiOiAiaG9zdGVkL2tyYWtlbi0xLjEvZHJpdmVyLmh0bWwi
LAorICAgICJvdXRwdXRfZmlsZSI6ICJrcmFrZW4ucmVzdWx0IgorfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2RhdGEvcGxhbnMvb2N0YW5lLnBs
YW4gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFucy9v
Y3RhbmUucGxhbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODg4NzFmMjgyZTlmNjdkNjA4NTkzN2U5YzIyZjBiMWY5
YTU4MTg0Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1h
cmtfcnVubmVyL2RhdGEvcGxhbnMvb2N0YW5lLnBsYW4KQEAgLTAsMCArMSwxMCBAQAoreworICAg
ICJodHRwX3NlcnZlcl9kcml2ZXIiOiAiU2ltcGxlSFRUUFNlcnZlckRyaXZlciIsCisgICAgInRp
bWVvdXQiOiAzMDAsCisgICAgImNvdW50IjogNSwKKyAgICAiYmVuY2htYXJrX2J1aWxkZXIiOiAi
R2VuZXJpY0JlbmNobWFya0J1aWxkZXIiLAorICAgICJyZW1vdGVfYXJjaGl2ZSI6ICJodHRwczov
L2dpdGh1Yi5jb20vY2hyb21pdW0vb2N0YW5lLWJlbmNobWFyay9hcmNoaXZlL2ZhYjA5YWVmMDFj
MmE1NTYwYzIyY2RjMWMxYTI0NTFjMGQwZjRjZGMuemlwIiwKKyAgICAiYmVuY2htYXJrX3BhdGNo
IjogImRhdGEvcGF0Y2hlcy9PY3RhbmUucGF0Y2giLAorICAgICJlbnRyeV9wb2ludCI6ICJpbmRl
eC5odG1sP2F1dG89MSIsCisgICAgIm91dHB1dF9maWxlIjogIm9jdGFuZS5yZXN1bHQiCit9CmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9w
bGFucy9zcGVlZG9tZXRlci5wbGFuIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtf
cnVubmVyL2RhdGEvcGxhbnMvc3BlZWRvbWV0ZXIucGxhbgppbmRleCAwMjE0NDM4ZmM2OTVhYWRh
ZTY5YmEzZDhmZjliODZiNTM5MWNlOGNkLi45ZDg0MGY1ZTUyMGIzNWZmN2MxZDIwMTc1NjVlN2Y4
NWQ4MTk3ZmQzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19y
dW5uZXIvZGF0YS9wbGFucy9zcGVlZG9tZXRlci5wbGFuCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL3NwZWVkb21ldGVyLnBsYW4KQEAgLTMs
OCArMyw4IEBACiAgICAgInRpbWVvdXQiOiAzMDAsCiAgICAgImNvdW50IjogNSwKICAgICAiYmVu
Y2htYXJrX2J1aWxkZXIiOiAiR2VuZXJpY0JlbmNobWFya0J1aWxkZXIiLAotICAgICJvcmlnaW5h
bF9iZW5jaG1hcmsiOiAiLi4vLi4vLi4vLi4vUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9tZXRlciIs
CisgICAgImxvY2FsX2NvcHkiOiAiLi4vLi4vLi4vLi4vUGVyZm9ybWFuY2VUZXN0cy9TcGVlZG9t
ZXRlciIsCiAgICAgImJlbmNobWFya19wYXRjaCI6ICJkYXRhL3BhdGNoZXMvU3BlZWRvbWV0ZXIu
cGF0Y2giLAotICAgICJlbnRyeV9wb2ludCI6ICJTcGVlZG9tZXRlci9GdWxsLmh0bWwiLAorICAg
ICJlbnRyeV9wb2ludCI6ICJGdWxsLmh0bWwiLAogICAgICJvdXRwdXRfZmlsZSI6ICJzcGVlZG9t
ZXRlci5yZXN1bHQiCiB9CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNo
bWFya19ydW5uZXIvZGF0YS9wbGFucy9zdW5zcGlkZXIucGxhbiBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9kYXRhL3BsYW5zL3N1bnNwaWRlci5wbGFuCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA2YmFlMzg4ZmQwZDkyMjJlNjg1MDI3MmM4ZGFjZDkxNDRlZTMzMmEKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvZGF0YS9wbGFu
cy9zdW5zcGlkZXIucGxhbgpAQCAtMCwwICsxLDExIEBACit7CisgICAgImh0dHBfc2VydmVyX2Ry
aXZlciI6ICJTaW1wbGVIVFRQU2VydmVyRHJpdmVyIiwKKyAgICAidGltZW91dCI6IDMwMCwKKyAg
ICAiY291bnQiOiA1LAorICAgICJiZW5jaG1hcmtfYnVpbGRlciI6ICJHZW5lcmljQmVuY2htYXJr
QnVpbGRlciIsCisgICAgImxvY2FsX2NvcHkiOiAiLi4vLi4vLi4vLi4vUGVyZm9ybWFuY2VUZXN0
cy9TdW5TcGlkZXIiLAorICAgICJiZW5jaG1hcmtfcGF0Y2giOiAiZGF0YS9wYXRjaGVzL1N1blNw
aWRlci5wYXRjaCIsCisgICAgImNyZWF0ZV9zY3JpcHQiOiBbInBlcmwiLCAibWFrZS1ob3N0ZWQi
XSwKKyAgICAiZW50cnlfcG9pbnQiOiAiaG9zdGVkL3N1bnNwaWRlci0xLjAuMS9kcml2ZXIuaHRt
bCIsCisgICAgIm91dHB1dF9maWxlIjogInN1bnNwaWRlci5yZXN1bHQiCit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>