<?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>180820</bug_id>
          
          <creation_ts>2017-12-14 11:15:25 -0800</creation_ts>
          <short_desc>[webkitpy] Add ignore_errors keyword argument to Executive.run_command() for replacing the common pattern of error_handler usage</short_desc>
          <delta_ts>2018-01-23 11:32:03 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Basuke Suzuki">basuke</reporter>
          <assigned_to name="Basuke Suzuki">basuke</assigned_to>
          <cc>achristensen</cc>
    
    <cc>basuke</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
    
    <cc>pvollan</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1381699</commentid>
    <comment_count>0</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2017-12-14 11:15:25 -0800</bug_when>
    <thetext>The error_handler argument of Executive.run_command() method is commonly used for specifying Executive.ignore_error to ignore errors. Is should be more clear by adding ignore_errors=True keyword argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381701</commentid>
    <comment_count>1</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2017-12-14 11:16:46 -0800</bug_when>
    <thetext>Also there&apos;s no need to import Executive module just to pass Executive.ignore_error static method if this option is available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381718</commentid>
    <comment_count>2</comment_count>
      <attachid>329373</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2017-12-14 11:48:50 -0800</bug_when>
    <thetext>Created attachment 329373
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392121</commentid>
    <comment_count>3</comment_count>
      <attachid>329373</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2018-01-23 10:42:39 -0800</bug_when>
    <thetext>Comment on attachment 329373
patch

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

r=me with a couple comments.

&gt; Tools/Scripts/webkitpy/common/system/executive.py:407
&gt; +            if ignore_errors:
&gt; +                assert error_handler is None, &quot;don&apos;t specify error_handler if ignore_errors&quot;

Nit:  I would add &quot; is True&quot; to the end of the message to make it clear:

            assert error_handler is None, &quot;don&apos;t specify error_handler if ignore_errors is True&quot;

I would prefer this to be fixed before landing unless you feel strongly about not adding &quot; is True&quot;.

&gt; Tools/Scripts/webkitpy/common/system/executive_mock.py:198
&gt; +        if ignore_errors:
&gt; +            assert error_handler is None, &quot;don&apos;t specify error_handler if ignore_errors&quot;

Nit:  I would add &quot; is True&quot; to the end of the message to make it clear:

            assert error_handler is None, &quot;don&apos;t specify error_handler if ignore_errors is True&quot;

I would prefer this to be fixed before landing unless you feel strongly about not adding &quot; is True&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392154</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2018-01-23 11:31:25 -0800</bug_when>
    <thetext>Committed r227427: &lt;https://trac.webkit.org/changeset/227427&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329373</attachid>
            <date>2017-12-14 11:48:50 -0800</date>
            <delta_ts>2018-01-23 10:42:39 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug-180820.diff</filename>
            <type>text/plain</type>
            <size>22586</size>
            <attacher name="Basuke Suzuki">basuke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlZjNk
ODU1M2NiNy4uZDFiNmMzMTM4OGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxNy0xMi0xNCAgQmFzdWtlIFN1enVr
aSAgPEJhc3VrZS5TdXp1a2lAc29ueS5jb20+CisKKyAgICAgICAgQWRkIGlnbm9yZV9lcnJvcnMg
a2V5d29yZCBhcmd1bWVudCB0byBFeGVjdXRpdmUucnVuX2NvbW1hbmQoKSBmb3IgcmVwbGFjaW5n
IHRoZSBjb21tb24gcGF0dGVybiBvZiBlcnJvcl9oYW5kbGVyIHVzYWdlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA4MjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29t
bW9uL2NoZWNrb3V0L3NjbS9naXQucHk6CisgICAgICAgIChHaXQuaW5fd29ya2luZ19kaXJlY3Rv
cnkpOgorICAgICAgICAoR2l0LmNsb25lKToKKyAgICAgICAgKEdpdC5yZWFkX2dpdF9jb25maWcp
OgorICAgICAgICAoR2l0LmFwcGx5X3JldmVyc2VfZGlmZik6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbS5weToKKyAgICAgICAgKFNDTS5ydW4pOgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY21fdW5pdHRl
c3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3N2
bi5weToKKyAgICAgICAgKFNWTlJlcG9zaXRvcnkuaGFzX2F1dGhvcml6YXRpb25fZm9yX3JlYWxt
KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvY3JlZGVudGlhbHNfdW5p
dHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2Fic3Ry
YWN0ZXhlY3V0aXZlLnB5OgorICAgICAgICAoQWJzdHJhY3RFeGVjdXRpdmUucnVuX2NvbW1hbmQp
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHk6
CisgICAgICAgIChFeGVjdXRpdmUua2lsbF9wcm9jZXNzLmlzKToKKyAgICAgICAgKEV4ZWN1dGl2
ZS5ydW5uaW5nX3BpZHMpOgorICAgICAgICAoRXhlY3V0aXZlLmtpbGxfYWxsKToKKyAgICAgICAg
KEV4ZWN1dGl2ZS5ydW5fY29tbWFuZCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21t
b24vc3lzdGVtL2V4ZWN1dGl2ZV9tb2NrLnB5OgorICAgICAgICAoTW9ja0V4ZWN1dGl2ZS5ydW5f
Y29tbWFuZCk6CisgICAgICAgIChNb2NrRXhlY3V0aXZlMi5ydW5fY29tbWFuZCk6CisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5weToK
KyAgICAgICAgKEV4ZWN1dGl2ZVRlc3QudGVzdF9ydW5fY29tbWFuZF93aXRoX2JhZF9jb21tYW5k
LnJ1bl9iYWRfY29tbWFuZCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lz
dGVtL3BsYXRmb3JtaW5mby5weToKKyAgICAgICAgKFBsYXRmb3JtSW5mby54Y29kZV9zZGtfdmVy
c2lvbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9o
dHRwX3NlcnZlci5weToKKyAgICAgICAgKExpZ2h0dHBkLl9jaGVja19hbmRfa2lsbCk6CisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6CisgICAgICAgIChQb3J0Ll9zeW1i
b2xzX3N0cmluZyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToKKyAg
ICAgICAgKEd0a1BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKToKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5OgorICAgICAgICAoV2luUG9ydC5fcnVudGltZV9mZWF0
dXJlX2xpc3QpOgorICAgICAgICAoV2luUG9ydC5yZWFkX3JlZ2lzdHJ5X3ZhbHVlKToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luX3VuaXR0ZXN0LnB5OgorICAgICAgICAoV2lu
UG9ydFRlc3QudGVzdF9ydW50aW1lX2ZlYXR1cmVfbGlzdCk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS90b29sL2NvbW1hbmRzL2FuYWx5emVjaGFuZ2Vsb2cucHk6CisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2FuYWx5emVjaGFuZ2Vsb2dfdW5pdHRlc3QucHk6
CisKIDIwMTctMTItMTEgIERhdmlkIFF1ZXNhZGEgIDxkYXZpZF9xdWVzYWRhQGFwcGxlLmNvbT4K
IAogICAgICAgICBUdXJuIG9uIEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVApkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvc2NtL2dpdC5weSBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9naXQucHkKaW5kZXggNzkx
YTg0MjZhOWUuLmY3OTk2MDY5MTkwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja291dC9zY20vZ2l0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L3NjbS9naXQucHkKQEAgLTExMCw3ICsxMTAsNyBAQCBjbGFzcyBHaXQo
U0NNLCBTVk5SZXBvc2l0b3J5KToKICAgICBkZWYgaW5fd29ya2luZ19kaXJlY3RvcnkoY2xzLCBw
YXRoLCBleGVjdXRpdmU9Tm9uZSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGV4ZWN1dGl2
ZSA9IGV4ZWN1dGl2ZSBvciBFeGVjdXRpdmUoKQotICAgICAgICAgICAgcmV0dXJuIGV4ZWN1dGl2
ZS5ydW5fY29tbWFuZChbY2xzLmV4ZWN1dGFibGVfbmFtZSwgJ3Jldi1wYXJzZScsICctLWlzLWlu
c2lkZS13b3JrLXRyZWUnXSwgY3dkPXBhdGgsIGVycm9yX2hhbmRsZXI9RXhlY3V0aXZlLmlnbm9y
ZV9lcnJvcikucnN0cmlwKCkgPT0gInRydWUiCisgICAgICAgICAgICByZXR1cm4gZXhlY3V0aXZl
LnJ1bl9jb21tYW5kKFtjbHMuZXhlY3V0YWJsZV9uYW1lLCAncmV2LXBhcnNlJywgJy0taXMtaW5z
aWRlLXdvcmstdHJlZSddLCBjd2Q9cGF0aCwgaWdub3JlX2Vycm9ycz1UcnVlKS5yc3RyaXAoKSA9
PSAidHJ1ZSIKICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICMgVGhl
IFdpbmRvd3MgYm90cyBzZWVtIHRvIHRocm91Z2ggYSBXaW5kb3dzRXJyb3Igd2hlbiBnaXQgaXNu
J3QgaW5zdGFsbGVkLgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCkBAIC0xMTksNyArMTE5LDcg
QEAgY2xhc3MgR2l0KFNDTSwgU1ZOUmVwb3NpdG9yeSk6CiAgICAgZGVmIGNsb25lKGNscywgdXJs
LCBkaXJlY3RvcnksIGV4ZWN1dGl2ZT1Ob25lKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAg
ZXhlY3V0aXZlID0gZXhlY3V0aXZlIG9yIEV4ZWN1dGl2ZSgpCi0gICAgICAgICAgICByZXR1cm4g
ZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFtjbHMuZXhlY3V0YWJsZV9uYW1lLCAnY2xvbmUnLCAnLXYn
LCB1cmwsIGRpcmVjdG9yeV0sIGVycm9yX2hhbmRsZXI9RXhlY3V0aXZlLmlnbm9yZV9lcnJvcikK
KyAgICAgICAgICAgIHJldHVybiBleGVjdXRpdmUucnVuX2NvbW1hbmQoW2Nscy5leGVjdXRhYmxl
X25hbWUsICdjbG9uZScsICctdicsIHVybCwgZGlyZWN0b3J5XSwgaWdub3JlX2Vycm9ycz1UcnVl
KQogICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNl
CiAKQEAgLTE0Myw3ICsxNDMsNyBAQCBjbGFzcyBHaXQoU0NNLCBTVk5SZXBvc2l0b3J5KToKICAg
ICAgICAgIyBQYXNzIHRoZSBjd2QgaWYgcHJvdmlkZWQgc28gdGhhdCB3ZSBjYW4gaGFuZGxlIHRo
ZSBjYXNlIG9mIHJ1bm5pbmcgd2Via2l0LXBhdGNoIG91dHNpZGUgb2YgdGhlIHdvcmtpbmcgZGly
ZWN0b3J5LgogICAgICAgICAjIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgYW4gRXhlY3V0aXZlLgog
ICAgICAgICBleGVjdXRpdmUgPSBleGVjdXRpdmUgb3IgRXhlY3V0aXZlKCkKLSAgICAgICAgcmV0
dXJuIGV4ZWN1dGl2ZS5ydW5fY29tbWFuZChbY2xzLmV4ZWN1dGFibGVfbmFtZSwgImNvbmZpZyIs
ICItLWdldC1hbGwiLCBrZXldLCBlcnJvcl9oYW5kbGVyPUV4ZWN1dGl2ZS5pZ25vcmVfZXJyb3Is
IGN3ZD1jd2QpLnJzdHJpcCgnXG4nKQorICAgICAgICByZXR1cm4gZXhlY3V0aXZlLnJ1bl9jb21t
YW5kKFtjbHMuZXhlY3V0YWJsZV9uYW1lLCAiY29uZmlnIiwgIi0tZ2V0LWFsbCIsIGtleV0sIGln
bm9yZV9lcnJvcnM9VHJ1ZSwgY3dkPWN3ZCkucnN0cmlwKCdcbicpCiAKICAgICBAc3RhdGljbWV0
aG9kCiAgICAgZGVmIGNvbW1pdF9zdWNjZXNzX3JlZ2V4cCgpOgpAQCAtNDAxLDcgKzQwMSw3IEBA
IGNsYXNzIEdpdChTQ00sIFNWTlJlcG9zaXRvcnkpOgogICAgICAgICAjIEFzc3VtZSB0aGUgcmV2
aXNpb24gaXMgYW4gc3ZuIHJldmlzaW9uLgogICAgICAgICBnaXRfY29tbWl0ID0gc2VsZi5naXRf
Y29tbWl0X2Zyb21fc3ZuX3JldmlzaW9uKHJldmlzaW9uKQogICAgICAgICAjIEkgdGhpbmsgdGhp
cyB3aWxsIGFsd2F5cyBmYWlsIGR1ZSB0byBDaGFuZ2VMb2dzLgotICAgICAgICBzZWxmLl9ydW5f
Z2l0KFsncmV2ZXJ0JywgJy0tbm8tY29tbWl0JywgZ2l0X2NvbW1pdF0sIGVycm9yX2hhbmRsZXI9
RXhlY3V0aXZlLmlnbm9yZV9lcnJvcikKKyAgICAgICAgc2VsZi5fcnVuX2dpdChbJ3JldmVydCcs
ICctLW5vLWNvbW1pdCcsIGdpdF9jb21taXRdLCBpZ25vcmVfZXJyb3JzPVRydWUpCiAKICAgICBk
ZWYgcmV2ZXJ0X2ZpbGVzKHNlbGYsIGZpbGVfcGF0aHMpOgogICAgICAgICBzZWxmLl9ydW5fZ2l0
KFsnY2hlY2tvdXQnLCAnSEVBRCddICsgZmlsZV9wYXRocykKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9zY20ucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20vc2NtLnB5CmluZGV4IGJjYWI3ZTcxNWUyLi5h
YTFmN2VhOWZkOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hl
Y2tvdXQvc2NtL3NjbS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVj
a291dC9zY20vc2NtLnB5CkBAIC02NiwxMiArNjYsMTMgQEAgY2xhc3MgU0NNOgogICAgICAgICBz
ZWxmLmNoZWNrb3V0X3Jvb3QgPSBzZWxmLmZpbmRfY2hlY2tvdXRfcm9vdChzZWxmLmN3ZCkKIAog
ICAgICMgQSB3cmFwcGVyIHVzZWQgYnkgc3ViY2xhc3NlcyB0byBjcmVhdGUgcHJvY2Vzc2VzLgot
ICAgIGRlZiBydW4oc2VsZiwgYXJncywgY3dkPU5vbmUsIGlucHV0PU5vbmUsIGVycm9yX2hhbmRs
ZXI9Tm9uZSwgcmV0dXJuX2V4aXRfY29kZT1GYWxzZSwgcmV0dXJuX3N0ZGVycj1UcnVlLCBkZWNv
ZGVfb3V0cHV0PVRydWUpOgorICAgIGRlZiBydW4oc2VsZiwgYXJncywgY3dkPU5vbmUsIGlucHV0
PU5vbmUsIGVycm9yX2hhbmRsZXI9Tm9uZSwgaWdub3JlX2Vycm9ycz1GYWxzZSwgcmV0dXJuX2V4
aXRfY29kZT1GYWxzZSwgcmV0dXJuX3N0ZGVycj1UcnVlLCBkZWNvZGVfb3V0cHV0PVRydWUpOgog
ICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGQgc2V0IGN3ZCBhcHByb3ByaWF0ZWx5LgogICAgICAg
ICByZXR1cm4gc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKGFyZ3MsCiAgICAgICAgICAgICBj
d2Q9Y3dkLAogICAgICAgICAgICAgaW5wdXQ9aW5wdXQsCiAgICAgICAgICAgICBlcnJvcl9oYW5k
bGVyPWVycm9yX2hhbmRsZXIsCisgICAgICAgICAgICBpZ25vcmVfZXJyb3JzPWlnbm9yZV9lcnJv
cnMsCiAgICAgICAgICAgICByZXR1cm5fZXhpdF9jb2RlPXJldHVybl9leGl0X2NvZGUsCiAgICAg
ICAgICAgICByZXR1cm5fc3RkZXJyPXJldHVybl9zdGRlcnIsCiAgICAgICAgICAgICBkZWNvZGVf
b3V0cHV0PWRlY29kZV9vdXRwdXQpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9jaGVja291dC9zY20vc2NtX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weQppbmRleCAwYTEyOTllZGFi
MC4uODkyMWNhOTgyODYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9u
L2NoZWNrb3V0L3NjbS9zY21fdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY2hlY2tvdXQvc2NtL3NjbV91bml0dGVzdC5weQpAQCAtMjY1LDEyICsyNjUsMTIg
QEAgc3ZuOiByZXNvdXJjZSBvdXQgb2YgZGF0ZTsgdHJ5IHVwZGF0aW5nCiAiIiIKICAgICAgICAg
Y29tbWFuZF9kb2VzX25vdF9leGlzdCA9IFsnZG9lc19ub3RfZXhpc3QnLCAnaW52YWxpZF9vcHRp
b24nXQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBydW5fY29tbWFuZCwgY29t
bWFuZF9kb2VzX25vdF9leGlzdCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwg
cnVuX2NvbW1hbmQsIGNvbW1hbmRfZG9lc19ub3RfZXhpc3QsIGVycm9yX2hhbmRsZXI9RXhlY3V0
aXZlLmlnbm9yZV9lcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgcnVu
X2NvbW1hbmQsIGNvbW1hbmRfZG9lc19ub3RfZXhpc3QsIGlnbm9yZV9lcnJvcnM9VHJ1ZSkKIAog
ICAgICAgICBjb21tYW5kX3JldHVybnNfbm9uX3plcm8gPSBbJy9iaW4vc2gnLCAnLS1pbnZhbGlk
LW9wdGlvbiddCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFNjcmlwdEVycm9yLCBydW5fY29t
bWFuZCwgY29tbWFuZF9yZXR1cm5zX25vbl96ZXJvKQogICAgICAgICAjIENoZWNrIGlmIHJldHVy
bnMgZXJyb3IgdGV4dDoKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1bl9jb21tYW5kKGNvbW1h
bmRfcmV0dXJuc19ub25femVybywgZXJyb3JfaGFuZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9y
KSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJ1bl9jb21tYW5kKGNvbW1hbmRfcmV0dXJuc19u
b25femVybywgaWdub3JlX2Vycm9ycz1UcnVlKSkKIAogICAgICAgICBzZWxmLmFzc2VydFJhaXNl
cyhDaGVja291dE5lZWRzVXBkYXRlLCBjb21taXRfZXJyb3JfaGFuZGxlciwgU2NyaXB0RXJyb3Io
b3V0cHV0PWdpdF9mYWlsdXJlX21lc3NhZ2UpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhD
aGVja291dE5lZWRzVXBkYXRlLCBjb21taXRfZXJyb3JfaGFuZGxlciwgU2NyaXB0RXJyb3Iob3V0
cHV0PXN2bl9mYWlsdXJlX21lc3NhZ2UpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vY2hlY2tvdXQvc2NtL3N2bi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL2NoZWNrb3V0L3NjbS9zdm4ucHkKaW5kZXggM2NmMzMzNjUyNTYuLjViNDM0NThlZTEy
IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jaGVja291dC9zY20v
c3ZuLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL2NoZWNrb3V0L3NjbS9z
dm4ucHkKQEAgLTYwLDcgKzYwLDcgQEAgY2xhc3MgU1ZOUmVwb3NpdG9yeShvYmplY3QpOgogICAg
ICAgICBpZiBub3Qgb3MucGF0aC5pc2Rpcihvcy5wYXRoLmpvaW4oaG9tZV9kaXJlY3RvcnksICIu
c3VidmVyc2lvbiIpKToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICBmaW5kX2Fy
Z3MgPSBbImZpbmQiLCAiLnN1YnZlcnNpb24iLCAiLXR5cGUiLCAiZiIsICItZXhlYyIsICJncmVw
IiwgIi1xIiwgcmVhbG0sICJ7fSIsICI7IiwgIi1wcmludCJdCi0gICAgICAgIGZpbmRfb3V0cHV0
ID0gc2VsZi5ydW4oZmluZF9hcmdzLCBjd2Q9aG9tZV9kaXJlY3RvcnksIGVycm9yX2hhbmRsZXI9
RXhlY3V0aXZlLmlnbm9yZV9lcnJvcikucnN0cmlwKCkKKyAgICAgICAgZmluZF9vdXRwdXQgPSBz
ZWxmLnJ1bihmaW5kX2FyZ3MsIGN3ZD1ob21lX2RpcmVjdG9yeSwgaWdub3JlX2Vycm9ycz1UcnVl
KS5yc3RyaXAoKQogICAgICAgICBpZiBub3QgZmluZF9vdXRwdXQgb3Igbm90IG9zLnBhdGguaXNm
aWxlKG9zLnBhdGguam9pbihob21lX2RpcmVjdG9yeSwgZmluZF9vdXRwdXQpKToKICAgICAgICAg
ICAgIHJldHVybiBGYWxzZQogICAgICAgICAjIFN1YnZlcnNpb24gZWl0aGVyIHN0b3JlcyB0aGUg
cGFzc3dvcmQgaW4gdGhlIGNyZWRlbnRpYWwgZmlsZSwgaW5kaWNhdGVkIGJ5IHRoZSBwcmVzZW5j
ZSBvZiB0aGUga2V5ICJwYXNzd29yZCIsCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2NvbW1vbi9uZXQvY3JlZGVudGlhbHNfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9uZXQvY3JlZGVudGlhbHNfdW5pdHRlc3QucHkKaW5kZXggZjM2ZDg5MjFl
NTkuLjgyNDQwYzViMTNmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9uZXQvY3JlZGVudGlhbHNfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vbmV0L2NyZWRlbnRpYWxzX3VuaXR0ZXN0LnB5CkBAIC0zMSw3ICszMSw2IEBAIGlt
cG9ydCB0ZW1wZmlsZQogaW1wb3J0IHVuaXR0ZXN0CiAKIGZyb20gd2Via2l0cHkuY29tbW9uLm5l
dC5jcmVkZW50aWFscyBpbXBvcnQgQ3JlZGVudGlhbHMKLWZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5leGVjdXRpdmUgaW1wb3J0IEV4ZWN1dGl2ZQogZnJvbSB3ZWJraXRweS5jb21tb24uc3lz
dGVtLm91dHB1dGNhcHR1cmUgaW1wb3J0IE91dHB1dENhcHR1cmUKIGZyb20gd2Via2l0cHkuY29t
bW9uLnN5c3RlbS51c2VyX21vY2sgaW1wb3J0IE1vY2tVc2VyCiBmcm9tIHdlYmtpdHB5LnRoaXJk
cGFydHkubW9jayBpbXBvcnQgTW9jawpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vc3lzdGVtL2Fic3RyYWN0ZXhlY3V0aXZlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9jb21tb24vc3lzdGVtL2Fic3RyYWN0ZXhlY3V0aXZlLnB5CmluZGV4IDQ1MjcwNjM3OWNj
Li5lYzY2MDRlZmQ0NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
c3lzdGVtL2Fic3RyYWN0ZXhlY3V0aXZlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
Y29tbW9uL3N5c3RlbS9hYnN0cmFjdGV4ZWN1dGl2ZS5weQpAQCAtMTE2LDcgKzExNiw3IEBAIGNs
YXNzIEFic3RyYWN0RXhlY3V0aXZlKG9iamVjdCk6CiAgICAgICAgICAgICBlc2NhcGVkX2FyZ3Mu
YXBwZW5kKGFyZykKICAgICAgICAgcmV0dXJuICIgIi5qb2luKGVzY2FwZWRfYXJncykKIAotICAg
IGRlZiBydW5fY29tbWFuZChzZWxmLCBhcmdzLCBjd2Q9Tm9uZSwgZW52PU5vbmUsIGlucHV0PU5v
bmUsIGVycm9yX2hhbmRsZXI9Tm9uZSwKKyAgICBkZWYgcnVuX2NvbW1hbmQoc2VsZiwgYXJncywg
Y3dkPU5vbmUsIGVudj1Ob25lLCBpbnB1dD1Ob25lLCBlcnJvcl9oYW5kbGVyPU5vbmUsIGlnbm9y
ZV9lcnJvcnM9RmFsc2UsCiAgICAgICAgIHJldHVybl9leGl0X2NvZGU9RmFsc2UsIHJldHVybl9z
dGRlcnI9VHJ1ZSwgZGVjb2RlX291dHB1dD1UcnVlKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVt
ZW50ZWRFcnJvcignc3ViY2xhc3NlcyBtdXN0IGltcGxlbWVudCcpCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9leGVjdXRpdmUucHkgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlLnB5CmluZGV4IGEyYWI5ODVj
YjlmLi45NTQwZDc1ZmE2MyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21t
b24vc3lzdGVtL2V4ZWN1dGl2ZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9zeXN0ZW0vZXhlY3V0aXZlLnB5CkBAIC0xNzQsNyArMTc0LDcgQEAgY2xhc3MgRXhlY3V0aXZl
KEFic3RyYWN0RXhlY3V0aXZlKToKICAgICAgICAgICAgIHRhc2tfa2lsbF9leGVjdXRhYmxlID0g
b3MucGF0aC5qb2luKCdDOicsIG9zLnNlcCwgJ1dJTkRPV1MnLCAnc3lzdGVtMzInLCAndGFza2tp
bGwuZXhlJykKICAgICAgICAgICAgIGNvbW1hbmQgPSBbdGFza19raWxsX2V4ZWN1dGFibGUsICIv
ZiIsICIvdCIsICIvcGlkIiwgcGlkXQogICAgICAgICAgICAgIyB0YXNra2lsbCB3aWxsIGV4aXQg
MTI4IGlmIHRoZSBwcm9jZXNzIGlzIG5vdCBmb3VuZC4gIFdlIHNob3VsZCBsb2cuCi0gICAgICAg
ICAgICBzZWxmLnJ1bl9jb21tYW5kKGNvbW1hbmQsIGVycm9yX2hhbmRsZXI9c2VsZi5pZ25vcmVf
ZXJyb3IpCisgICAgICAgICAgICBzZWxmLnJ1bl9jb21tYW5kKGNvbW1hbmQsIGlnbm9yZV9lcnJv
cnM9VHJ1ZSkKICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgICMgQWNjb3JkaW5nIHRvIGh0
dHA6Ly9kb2NzLnB5dGhvbi5vcmcvbGlicmFyeS9vcy5odG1sCkBAIC0yNzEsNyArMjcxLDcgQEAg
Y2xhc3MgRXhlY3V0aXZlKEFic3RyYWN0RXhlY3V0aXZlKToKIAogICAgICAgICBydW5uaW5nX3Bp
ZHMgPSBbXQogICAgICAgICBpZiBzeXMucGxhdGZvcm0gaW4gKCJjeWd3aW4iKToKLSAgICAgICAg
ICAgIHBzX3Byb2Nlc3MgPSBzZWxmLnJ1bl9jb21tYW5kKFsncHMnLCAnLWUnXSwgZXJyb3JfaGFu
ZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKQorICAgICAgICAgICAgcHNfcHJvY2VzcyA9IHNl
bGYucnVuX2NvbW1hbmQoWydwcycsICctZSddLCBpZ25vcmVfZXJyb3JzPVRydWUpCiAgICAgICAg
ICAgICBmb3IgbGluZSBpbiBwc19wcm9jZXNzLnNwbGl0bGluZXMoKToKICAgICAgICAgICAgICAg
ICB0b2tlbnMgPSBsaW5lLnN0cmlwKCkuc3BsaXQoKQogICAgICAgICAgICAgICAgIHRyeToKQEAg
LTMyNSw3ICszMjUsNyBAQCBjbGFzcyBFeGVjdXRpdmUoQWJzdHJhY3RFeGVjdXRpdmUpOgogICAg
ICAgICAgICAgICAgIGtpbGxDb21tYW5kID0gb3MucGF0aC5qb2luKCdDOicsIG9zLnNlcCwgJ1dJ
TkRPV1MnLCAnc3lzdGVtMzInLCAndGFza2tpbGwuZXhlJykKICAgICAgICAgICAgIGNvbW1hbmQg
PSBba2lsbENvbW1tYW5kLCAiL2YiLCAiL2ltIiwgaW1hZ2VfbmFtZV0KICAgICAgICAgICAgICMg
dGFza2tpbGwgd2lsbCBleGl0IDEyOCBpZiB0aGUgcHJvY2VzcyBpcyBub3QgZm91bmQuICBXZSBz
aG91bGQgbG9nLgotICAgICAgICAgICAgc2VsZi5ydW5fY29tbWFuZChjb21tYW5kLCBlcnJvcl9o
YW5kbGVyPXNlbGYuaWdub3JlX2Vycm9yKQorICAgICAgICAgICAgc2VsZi5ydW5fY29tbWFuZChj
b21tYW5kLCBpZ25vcmVfZXJyb3JzPVRydWUpCiAgICAgICAgICAgICByZXR1cm4KIAogICAgICAg
ICAjIEZJWE1FOiBUaGlzIGlzIGluY29uc2lzdGVudCB0aGF0IGtpbGxfYWxsIHVzZXMgVEVSTSBh
bmQga2lsbF9wcm9jZXNzCkBAIC0zMzYsNyArMzM2LDcgQEAgY2xhc3MgRXhlY3V0aXZlKEFic3Ry
YWN0RXhlY3V0aXZlKToKICAgICAgICAgIyBraWxsYWxsIHJldHVybnMgMSBpZiBubyBwcm9jZXNz
IGNhbiBiZSBmb3VuZCBhbmQgMiBvbiBjb21tYW5kIGVycm9yLgogICAgICAgICAjIEZJWE1FOiBX
ZSBzaG91bGQgcGFzcyBhIGN1c3RvbSBlcnJvcl9oYW5kbGVyIHRvIGFsbG93IG9ubHkgZXhpdF9j
b2RlIDEuCiAgICAgICAgICMgV2Ugc2hvdWxkIGxvZyBpbiBleGl0X2NvZGUgPT0gMQotICAgICAg
ICBzZWxmLnJ1bl9jb21tYW5kKGNvbW1hbmQsIGVycm9yX2hhbmRsZXI9c2VsZi5pZ25vcmVfZXJy
b3IpCisgICAgICAgIHNlbGYucnVuX2NvbW1hbmQoY29tbWFuZCwgaWdub3JlX2Vycm9ycz1UcnVl
KQogCiAgICAgZGVmIF9jb21wdXRlX3N0ZGluKHNlbGYsIGlucHV0KToKICAgICAgICAgIiIiUmV0
dXJucyAoc3RkaW4sIHN0cmluZ190b19jb21tdW5pY2F0ZSkiIiIKQEAgLTM2NCw2ICszNjQsNyBA
QCBjbGFzcyBFeGVjdXRpdmUoQWJzdHJhY3RFeGVjdXRpdmUpOgogICAgICAgICAgICAgICAgICAg
ICBlbnY9Tm9uZSwKICAgICAgICAgICAgICAgICAgICAgaW5wdXQ9Tm9uZSwKICAgICAgICAgICAg
ICAgICAgICAgZXJyb3JfaGFuZGxlcj1Ob25lLAorICAgICAgICAgICAgICAgICAgICBpZ25vcmVf
ZXJyb3JzPUZhbHNlLAogICAgICAgICAgICAgICAgICAgICByZXR1cm5fZXhpdF9jb2RlPUZhbHNl
LAogICAgICAgICAgICAgICAgICAgICByZXR1cm5fc3RkZXJyPVRydWUsCiAgICAgICAgICAgICAg
ICAgICAgIGRlY29kZV9vdXRwdXQ9VHJ1ZSk6CkBAIC00MDEsNiArNDAyLDExIEBAIGNsYXNzIEV4
ZWN1dGl2ZShBYnN0cmFjdEV4ZWN1dGl2ZSk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBleGl0X2NvZGU9ZXhpdF9jb2RlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb3V0cHV0PW91dHB1dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGN3ZD1jd2QpCisKKyAgICAgICAgICAgIGlmIGlnbm9yZV9lcnJvcnM6Cisg
ICAgICAgICAgICAgICAgYXNzZXJ0IGVycm9yX2hhbmRsZXIgaXMgTm9uZSwgImRvbid0IHNwZWNp
ZnkgZXJyb3JfaGFuZGxlciBpZiBpZ25vcmVfZXJyb3JzIgorICAgICAgICAgICAgICAgIGVycm9y
X2hhbmRsZXIgPSBFeGVjdXRpdmUuaWdub3JlX2Vycm9yCisKICAgICAgICAgICAgIChlcnJvcl9o
YW5kbGVyIG9yIHNlbGYuZGVmYXVsdF9lcnJvcl9oYW5kbGVyKShzY3JpcHRfZXJyb3IpCiAgICAg
ICAgIHJldHVybiBvdXRwdXQKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vc3lzdGVtL2V4ZWN1dGl2ZV9tb2NrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vc3lzdGVtL2V4ZWN1dGl2ZV9tb2NrLnB5CmluZGV4IDhiYzQzYzZmZjU1Li4wOTYzOWY0
ODFmMCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2V4
ZWN1dGl2ZV9tb2NrLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3Rl
bS9leGVjdXRpdmVfbW9jay5weQpAQCAtMTA4LDYgKzEwOCw3IEBAIGNsYXNzIE1vY2tFeGVjdXRp
dmUob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgY3dkPU5vbmUsCiAgICAgICAgICAgICAg
ICAgICAgIGlucHV0PU5vbmUsCiAgICAgICAgICAgICAgICAgICAgIGVycm9yX2hhbmRsZXI9Tm9u
ZSwKKyAgICAgICAgICAgICAgICAgICAgaWdub3JlX2Vycm9ycz1GYWxzZSwKICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuX2V4aXRfY29kZT1GYWxzZSwKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuX3N0ZGVycj1UcnVlLAogICAgICAgICAgICAgICAgICAgICBkZWNvZGVfb3V0cHV0PUZhbHNl
LApAQCAtMTg1LDEyICsxODYsMTggQEAgY2xhc3MgTW9ja0V4ZWN1dGl2ZTIoTW9ja0V4ZWN1dGl2
ZSk6CiAgICAgICAgICAgICAgICAgICAgIGN3ZD1Ob25lLAogICAgICAgICAgICAgICAgICAgICBp
bnB1dD1Ob25lLAogICAgICAgICAgICAgICAgICAgICBlcnJvcl9oYW5kbGVyPU5vbmUsCisgICAg
ICAgICAgICAgICAgICAgIGlnbm9yZV9lcnJvcnM9RmFsc2UsCiAgICAgICAgICAgICAgICAgICAg
IHJldHVybl9leGl0X2NvZGU9RmFsc2UsCiAgICAgICAgICAgICAgICAgICAgIHJldHVybl9zdGRl
cnI9VHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgZGVjb2RlX291dHB1dD1GYWxzZSwKICAgICAg
ICAgICAgICAgICAgICAgZW52PU5vbmUpOgogICAgICAgICBzZWxmLmNhbGxzLmFwcGVuZChhcmdz
KQogICAgICAgICBhc3NlcnQoaXNpbnN0YW5jZShhcmdzLCBsaXN0KSBvciBpc2luc3RhbmNlKGFy
Z3MsIHR1cGxlKSkKKworICAgICAgICBpZiBpZ25vcmVfZXJyb3JzOgorICAgICAgICAgICAgYXNz
ZXJ0IGVycm9yX2hhbmRsZXIgaXMgTm9uZSwgImRvbid0IHNwZWNpZnkgZXJyb3JfaGFuZGxlciBp
ZiBpZ25vcmVfZXJyb3JzIgorICAgICAgICAgICAgZXJyb3JfaGFuZGxlciA9IHNlbGYuaWdub3Jl
X2Vycm9yCisKICAgICAgICAgaWYgc2VsZi5fZXhjZXB0aW9uOgogICAgICAgICAgICAgcmFpc2Ug
c2VsZi5fZXhjZXB0aW9uICAjIHB5bGludDogZGlzYWJsZT1FMDcwMgogICAgICAgICBpZiBzZWxm
Ll9ydW5fY29tbWFuZF9mbjoKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29t
bW9uL3N5c3RlbS9leGVjdXRpdmVfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0LnB5CmluZGV4IGIxZDk1MmZkZjdiLi43
ODkwMGU3OWQ4OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lz
dGVtL2V4ZWN1dGl2ZV91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9zeXN0ZW0vZXhlY3V0aXZlX3VuaXR0ZXN0LnB5CkBAIC0xMDUsNyArMTA1LDcgQEAgY2xh
c3MgRXhlY3V0aXZlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9ydW5f
Y29tbWFuZF93aXRoX2JhZF9jb21tYW5kKHNlbGYpOgogICAgICAgICBkZWYgcnVuX2JhZF9jb21t
YW5kKCk6Ci0gICAgICAgICAgICBFeGVjdXRpdmUoKS5ydW5fY29tbWFuZChbImZvb19iYXJfY29t
bWFuZF9ibGFoIl0sIGVycm9yX2hhbmRsZXI9RXhlY3V0aXZlLmlnbm9yZV9lcnJvciwgcmV0dXJu
X2V4aXRfY29kZT1UcnVlKQorICAgICAgICAgICAgRXhlY3V0aXZlKCkucnVuX2NvbW1hbmQoWyJm
b29fYmFyX2NvbW1hbmRfYmxhaCJdLCBpZ25vcmVfZXJyb3JzPVRydWUsIHJldHVybl9leGl0X2Nv
ZGU9VHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgcnVuX2JhZF9jb21t
YW5kKQogCiAgICAgZGVmIHRlc3RfcnVuX2NvbW1hbmRfYXJnc190eXBlKHNlbGYpOgpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL3BsYXRmb3JtaW5mby5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9wbGF0Zm9ybWluZm8ucHkK
aW5kZXggODU0YmU2NjIzYTcuLjM2M2NmMTlkNTMyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vcGxhdGZvcm1pbmZvLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9wbGF0Zm9ybWluZm8ucHkKQEAgLTE0Myw3ICsxNDMs
NyBAQCBjbGFzcyBQbGF0Zm9ybUluZm8ob2JqZWN0KToKICAgICBkZWYgeGNvZGVfc2RrX3ZlcnNp
b24oc2VsZiwgc2RrX25hbWUpOgogICAgICAgICBpZiBzZWxmLmlzX21hYygpOgogICAgICAgICAg
ICAgIyBBc3N1bWVzIHRoYXQgeGNydW4gZG9lcyBub3Qgd3JpdGUgdG8gc3RhbmRhcmQgb3V0cHV0
IG9uIGZhaWx1cmUgKGUuZy4gU0RLIGRvZXMgbm90IGV4aXN0KS4KLSAgICAgICAgICAgIHhjcnVu
X291dHB1dCA9IHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChbJ3hjcnVuJywgJy0tc2RrJywg
c2RrX25hbWUsICctLXNob3ctc2RrLXZlcnNpb24nXSwgcmV0dXJuX3N0ZGVycj1GYWxzZSwgZXJy
b3JfaGFuZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKS5yc3RyaXAoKQorICAgICAgICAgICAg
eGNydW5fb3V0cHV0ID0gc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFsneGNydW4nLCAnLS1z
ZGsnLCBzZGtfbmFtZSwgJy0tc2hvdy1zZGstdmVyc2lvbiddLCByZXR1cm5fc3RkZXJyPUZhbHNl
LCBpZ25vcmVfZXJyb3JzPVRydWUpLnJzdHJpcCgpCiAgICAgICAgICAgICBpZiB4Y3J1bl9vdXRw
dXQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIFZlcnNpb24uZnJvbV9zdHJpbmcoeGNydW5fb3V0
cHV0KQogICAgICAgICByZXR1cm4gTm9uZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlci5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXIucHkKaW5kZXggMGU0NzY4
MDcwMDMuLjY3MmI5YTBkZTE1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXIucHkKQEAgLTIyMiw3ICsyMjIs
NyBAQCBjbGFzcyBMaWdodHRwZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAg
ICAgICAgICAgICAgICAjIHBhcmVudCwgc28gd2UgY2FuJ3QgdXNlIGV4ZWN1dGl2ZS5raWxsX3By
b2Nlc3MoKS4KICAgICAgICAgICAgICAgICAjCiAgICAgICAgICAgICAgICAgIyBJZiB0aGlzIGlz
IGFjdHVhbGx5IHdvcmtpbmcsIHdlIHNob3VsZCBmaWd1cmUgb3V0IGEgY2xlYW4gQVBJLgotICAg
ICAgICAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChbInRhc2traWxsLmV4ZSIs
ICIvZiIsICIvdCIsICIvcGlkIiwgc2VsZi5fcGlkXSwgZXJyb3JfaGFuZGxlcj1zZWxmLl9leGVj
dXRpdmUuaWdub3JlX2Vycm9yKQorICAgICAgICAgICAgICAgIHNlbGYuX2V4ZWN1dGl2ZS5ydW5f
Y29tbWFuZChbInRhc2traWxsLmV4ZSIsICIvZiIsICIvdCIsICIvcGlkIiwgc2VsZi5fcGlkXSwg
aWdub3JlX2Vycm9ycz1UcnVlKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBz
ZWxmLl9leGVjdXRpdmUua2lsbF9wcm9jZXNzKHNlbGYuX3BpZCkKICAgICAgICAgICAgIHJldHVy
biBGYWxzZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQppbmRleCAzOTUyYzE1NTk2NS4u
M2FiODZmMzM5YTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNl
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBAIC0xNDg1LDcg
KzE0ODUsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgIHN5bWJvbHMgPSAnJwogICAg
ICAgICBmb3IgcGF0aF90b19tb2R1bGUgaW4gc2VsZi5fbW9kdWxlc190b19zZWFyY2hfZm9yX3N5
bWJvbHMoKToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzeW1ib2xzICs9IHNl
bGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChbc2VsZi5ubV9jb21tYW5kKCksIHBhdGhfdG9fbW9k
dWxlXSwgZXJyb3JfaGFuZGxlcj1zZWxmLl9leGVjdXRpdmUuaWdub3JlX2Vycm9yKQorICAgICAg
ICAgICAgICAgIHN5bWJvbHMgKz0gc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFtzZWxmLm5t
X2NvbW1hbmQoKSwgcGF0aF90b19tb2R1bGVdLCBpZ25vcmVfZXJyb3JzPVRydWUpCiAgICAgICAg
ICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIF9sb2cud2FybigiRmFp
bGVkIHRvIHJ1biBubTogJXMuICBDYW4ndCBkZXRlcm1pbmUgc3VwcG9ydGVkIGZlYXR1cmVzIGNv
cnJlY3RseS4iICUgZSkKICAgICAgICAgcmV0dXJuIHN5bWJvbHMKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvZ3RrLnB5CmluZGV4IDAxMjMxMDVlNjk2Li4yNTU1MzM1NzRjYSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZ3RrLnB5CkBAIC0xMjcsNyArMTI3LDcgQEAgY2xhc3MgR3RrUG9ydChQb3J0KToK
ICAgICAgICAgIyBDb25maWd1cmUgdGhlIHNvZnR3YXJlIGxpYmdsIHJlbmRlcmVyIGlmIGpoYnVp
bGQgcmVhZHkgYW5kIHdlIHRlc3QgaW5zaWRlIGEgdmlydHVhbGl6ZWQgd2luZG93IHN5c3RlbQog
ICAgICAgICBpZiBzZWxmLl9kcml2ZXJfY2xhc3MoKSBpbiBbWHZmYkRyaXZlciwgV2VzdG9uRHJp
dmVyXSBhbmQgc2VsZi5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6CiAgICAgICAgICAgICBsbHZtcGlw
ZV9saWJnbF9wYXRoID0gc2VsZi5ob3N0LmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChzZWxmLl9qaGJ1
aWxkX3dyYXBwZXIgKyBbJ3ByaW50ZW52JywgJ0xMVk1QSVBFX0xJQkdMX1BBVEgnXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGVycm9yX2hhbmRsZXI9c2VsZi5ob3N0LmV4ZWN1dGl2ZS5pZ25vcmVfZXJyb3IpLnN0cmlw
KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlnbm9yZV9lcnJvcnM9VHJ1ZSkuc3RyaXAoKQogICAgICAgICAgICAgZHJp
X2xpYmdsX3BhdGggPSBvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xfcGF0aCwgImRyaSIpCiAg
ICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4obGx2bXBpcGVfbGliZ2xf
cGF0aCwgImxpYkdMLnNvIikpIGFuZCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZHJpX2xp
YmdsX3BhdGgsICJzd3Jhc3RfZHJpLnNvIikpOgogICAgICAgICAgICAgICAgICAgICAjIEZvcmNl
IHRoZSBHYWxsaXVtIGxsdm1waXBlIHNvZnR3YXJlIHJhc3Rlcml6ZXIKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvd2luLnB5CmluZGV4IDEyYjZlMTYyODFiLi4xMjgzZTU5OGQ3ZCAxMDA2NDQKLS0tIGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvd2luLnB5CkBAIC0xMzgsNyArMTM4LDcgQEAgY2xhc3MgV2luUG9ydChBcHBs
ZVBvcnQpOgogICAgIGRlZiBfcnVudGltZV9mZWF0dXJlX2xpc3Qoc2VsZik6CiAgICAgICAgIHN1
cHBvcnRlZF9mZWF0dXJlc19jb21tYW5kID0gW3NlbGYuX3BhdGhfdG9fZHJpdmVyKCksICctLXBy
aW50LXN1cHBvcnRlZC1mZWF0dXJlcyddCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIG91dHB1
dCA9IHNlbGYuX2V4ZWN1dGl2ZS5ydW5fY29tbWFuZChzdXBwb3J0ZWRfZmVhdHVyZXNfY29tbWFu
ZCwgZXJyb3JfaGFuZGxlcj1FeGVjdXRpdmUuaWdub3JlX2Vycm9yKQorICAgICAgICAgICAgb3V0
cHV0ID0gc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKHN1cHBvcnRlZF9mZWF0dXJlc19jb21t
YW5kLCBpZ25vcmVfZXJyb3JzPVRydWUpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAg
ICAgICAgICAgICBfbG9nLndhcm4oIkV4Y2VwdGlvbiBydW5uaW5nIGRyaXZlcjogJXMsICVzLiAg
RHJpdmVyIG11c3QgYmUgYnVpbHQgYmVmb3JlIGNhbGxpbmcgV2ViS2l0UG9ydC50ZXN0X2V4cGVj
dGF0aW9ucygpLiIgJSAoc3VwcG9ydGVkX2ZlYXR1cmVzX2NvbW1hbmQsIGUpKQogICAgICAgICAg
ICAgcmV0dXJuIE5vbmUKQEAgLTI0OCw3ICsyNDgsNyBAQCBjbGFzcyBXaW5Qb3J0KEFwcGxlUG9y
dCk6CiAgICAgICAgICAgICByZWdpc3RyeV9rZXkgPSByZWdfcGF0aCAlIChyb290LCBrZXkpCiAg
ICAgICAgICAgICBfbG9nLmRlYnVnKCJSZWFkaW5nICVzIiAlIChyZWdpc3RyeV9rZXkpKQogICAg
ICAgICAgICAgcmVhZF9yZWdpc3RyeV9jb21tYW5kID0gWyJyZWd0b29sIiwgYXJjaCwgImdldCIs
IHJlZ2lzdHJ5X2tleV0KLSAgICAgICAgICAgIGludF92YWx1ZSA9IHNlbGYuX2V4ZWN1dGl2ZS5y
dW5fY29tbWFuZChyZWFkX3JlZ2lzdHJ5X2NvbW1hbmQsIGVycm9yX2hhbmRsZXI9RXhlY3V0aXZl
Lmlnbm9yZV9lcnJvcikKKyAgICAgICAgICAgIGludF92YWx1ZSA9IHNlbGYuX2V4ZWN1dGl2ZS5y
dW5fY29tbWFuZChyZWFkX3JlZ2lzdHJ5X2NvbW1hbmQsIGlnbm9yZV9lcnJvcnM9VHJ1ZSkKICAg
ICAgICAgICAgICMgcmVndG9vbCBkb2Vzbid0IHJldHVybiB0aGUgdHlwZSBvZiB0aGUgZW50cnks
IHNvIG5lZWQgdGhpcyB1Z2x5IGhhY2s6CiAgICAgICAgICAgICBpZiByZWdfcGF0aCBpbiAoc2Vs
Zi5XSU5ET1dTX0VSUk9SX1JFUE9SVElOR19LRVksIHNlbGYuV09XNjRfV0lORE9XU19FUlJPUl9S
RVBPUlRJTkdfS0VZKToKICAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCJJIGdvdCB7MH0iLmZv
cm1hdChpbnRfdmFsdWUpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L3dpbl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW5fdW5pdHRl
c3QucHkKaW5kZXggMWI0YzBiM2JiODEuLmIyM2U1NDNiYWQxIDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvcG9ydC93aW5fdW5pdHRlc3QucHkKQEAgLTkzLDEwICs5MywxMCBAQCBjbGFzcyBX
aW5Qb3J0VGVzdChwb3J0X3Rlc3RjYXNlLlBvcnRUZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9y
dW50aW1lX2ZlYXR1cmVfbGlzdChzZWxmKToKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0
KCkKLSAgICAgICAgcG9ydC5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kID0gbGFtYmRhIGNvbW1hbmQs
IGN3ZD1Ob25lLCBlcnJvcl9oYW5kbGVyPU5vbmU6ICJOb25zZW5zZSIKKyAgICAgICAgcG9ydC5f
ZXhlY3V0aXZlLnJ1bl9jb21tYW5kID0gbGFtYmRhIGNvbW1hbmQsIGN3ZD1Ob25lLCBpZ25vcmVf
ZXJyb3JzPUZhbHNlOiAiTm9uc2Vuc2UiCiAgICAgICAgICMgcnVudGltZV9mZWF0dXJlc19saXN0
IHJldHVybnMgTm9uZSB3aGVuIGl0cyByZXN1bHRzIGFyZSBtZWFuaW5nbGVzcyAoaXQgY291bGRu
J3QgcnVuIERSVCBvciBwYXJzZSB0aGUgb3V0cHV0LCBldGMuKQogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHBvcnQuX3J1bnRpbWVfZmVhdHVyZV9saXN0KCksIE5vbmUpCi0gICAgICAgIHBvcnQu
X2V4ZWN1dGl2ZS5ydW5fY29tbWFuZCA9IGxhbWJkYSBjb21tYW5kLCBjd2Q9Tm9uZSwgZXJyb3Jf
aGFuZGxlcj1Ob25lOiAiU3VwcG9ydGVkRmVhdHVyZXM6Zm9vIGJhciIKKyAgICAgICAgcG9ydC5f
ZXhlY3V0aXZlLnJ1bl9jb21tYW5kID0gbGFtYmRhIGNvbW1hbmQsIGN3ZD1Ob25lLCBpZ25vcmVf
ZXJyb3JzPUZhbHNlOiAiU3VwcG9ydGVkRmVhdHVyZXM6Zm9vIGJhciIKICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChwb3J0Ll9ydW50aW1lX2ZlYXR1cmVfbGlzdCgpLCBbJ2ZvbycsICdiYXInXSkK
IAogICAgIGRlZiB0ZXN0X2V4cGVjdGF0aW9uc19maWxlcyhzZWxmKToKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9hbmFseXplY2hhbmdlbG9nLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2FuYWx5emVjaGFuZ2Vsb2cucHkK
aW5kZXggYmU4YTc3ZjZkOTcuLmJkMWRjY2ViNWZlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvYW5hbHl6ZWNoYW5nZWxvZy5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvYW5hbHl6ZWNoYW5nZWxvZy5weQpAQCAtMzUs
NyArMzUsNiBAQCBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5zY20uZGV0ZWN0aW9uIGlt
cG9ydCBTQ01EZXRlY3RvcgogZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuY2hhbmdlbG9n
IGltcG9ydCBDaGFuZ2VMb2cKIGZyb20gd2Via2l0cHkuY29tbW9uLmNvbmZpZy5jb250cmlidXRp
b25hcmVhcyBpbXBvcnQgQ29udHJpYnV0aW9uQXJlYXMKIGZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5maWxlc3lzdGVtIGltcG9ydCBGaWxlU3lzdGVtCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5z
eXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUKIGZyb20gd2Via2l0cHkudG9vbC5tdWx0
aWNvbW1hbmR0b29sIGltcG9ydCBDb21tYW5kCiBmcm9tIHdlYmtpdHB5LnRvb2wgaW1wb3J0IHN0
ZXBzCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9h
bmFseXplY2hhbmdlbG9nX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29s
L2NvbW1hbmRzL2FuYWx5emVjaGFuZ2Vsb2dfdW5pdHRlc3QucHkKaW5kZXggOWMxMzc0MGEyMTQu
LjRmODcwY2U4NGUxIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29t
bWFuZHMvYW5hbHl6ZWNoYW5nZWxvZ191bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvYW5hbHl6ZWNoYW5nZWxvZ191bml0dGVzdC5weQpAQCAtMzEs
NyArMzEsNiBAQCBpbXBvcnQgc3lzCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jb25maWcuY29udHJp
YnV0aW9uYXJlYXMgaW1wb3J0IENvbnRyaWJ1dGlvbkFyZWFzCiBmcm9tIHdlYmtpdHB5LmNvbW1v
bi5ob3N0X21vY2sgaW1wb3J0IE1vY2tIb3N0CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0u
ZmlsZXN5c3RlbV9tb2NrIGltcG9ydCBNb2NrRmlsZVN5c3RlbQotZnJvbSB3ZWJraXRweS5jb21t
b24uc3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlCiBmcm9tIHdlYmtpdHB5LmNvbW1v
bi5zeXN0ZW0ub3V0cHV0Y2FwdHVyZSBpbXBvcnQgT3V0cHV0Q2FwdHVyZQogZnJvbSB3ZWJraXRw
eS50b29sLmNvbW1hbmRzLmFuYWx5emVjaGFuZ2Vsb2cgaW1wb3J0IEFuYWx5emVDaGFuZ2VMb2cK
IGZyb20gd2Via2l0cHkudG9vbC5jb21tYW5kcy5hbmFseXplY2hhbmdlbG9nIGltcG9ydCBDaGFu
Z2VMb2dBbmFseXplcgo=
</data>
<flag name="review"
          id="348469"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
    <flag name="commit-queue"
          id="348470"
          type_id="3"
          status="-"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>